وارد کردن object در یک فایل اکسل
به برنامه ای نیاز دارم که در آن یک فایل اکسل تولید شود و یک آبجکت در آن قرار گیرد.
فرض کنید یک فایل اکسل باز کردیم و در سربرگ insert با کلیک روی object فرمی باز میشه که در آن آبجکت مورد نظر را انتخاب میکنیم.حالا میخوام این کار از طریق برنامه نویسی باشه .فرض کنید آبجکت مورد نظر یک فایل word یا bmp است.
البته چند روزه که رو این موضوع کار میکنم و خیلی جستجو کردم اما در اکثر برنامه ها با آبجکت کار نشده.مثلاً برای افزودن تصویر ، تصویر را از یک آدرس در فایل کپی کردند.البته کلاسهایی مثل
Microsoft.Office.Interop.Excel.DrawingObjects
هست اما نمیدونم چه طور باهاش کار کنم.توابعی برای درج shape هست اما برای آبجکت نمیدونم چه کنم؟
ضمناً کد زیر برای افزودن shape به اکسل هست
در این کد سه تا مثلث به صورت گروهی در یک فایل اکسل درج میشه
CultureInfo oldCulture = System.Threading.Thread.CurrentThread.CurrentCultu re;
System.Threading.Thread.CurrentThread.CurrentCultu re = new System.Globalization.CultureInfo("en-US");
Microsoft.Office.Interop.Excel.Application xl = new Microsoft.Office.Interop.Excel.ApplicationClass();
Microsoft.Office.Interop.Excel.Workbook wb = xl.Workbooks.Add(Microsoft.Office.Interop.Excel.Xl WBATemplate.xlWBATWorksheet);
Microsoft.Office.Interop.Excel.Worksheet ws = (Microsoft.Office.Interop.Excel.Worksheet)wb.Activ eSheet;
ws.Shapes.AddShape(Microsoft.Office.Core.MsoAutoSh apeType.msoShapeIsoscelesTriangle, 10, 10, 100, 100).Name = "shpOne";
ws.Shapes.AddShape(Microsoft.Office.Core.MsoAutoSh apeType.msoShapeIsoscelesTriangle, 150, 10, 100, 100).Name = "shpTwo";
ws.Shapes.AddShape(Microsoft.Office.Core.MsoAutoSh apeType.msoShapeIsoscelesTriangle, 300, 10, 100, 100).Name = "shpThree";
object[] shapeArray = { "shpOne", "shpTwo", "shpThree" };
Microsoft.Office.Interop.Excel.ShapeRange rng = ws.Shapes.get_Range(shapeArray);
Microsoft.Office.Interop.Excel.Shape grp = rng.Group();
xl.Visible = true;;
ممنون میشم اگر کمک کنید یا حتی مرجعی برای مطالعه د راین زمینه بهم معرفی کنید
نقل قول: وارد کردن object در یک فایل اکسل
دوستان..میشه یه نگاهکی بندازید؟:گریه:
نقل قول: وارد کردن object در یک فایل اکسل
روش اضافه کردن یه word object در فایل اکسل رو تونستم بنویسم:
Microsoft.Office.Interop.Excel.Application xl = new Microsoft.Office.Interop.Excel.ApplicationClass();
ws.Shapes.AddOLEObject("Word.Document.12", missing, false, false, missing, missing, missing, 1, 1, 300, 300);
حالا تنها کاری که مونده اینه که چه طوری باید به این آبجکت در برنامه مقدار بدم؟
تو رو خدا یه کمکی برسونید:اشتباه:
نقل قول: وارد کردن object در یک فایل اکسل
از کد زیر برای نوشتن متن در ابجکت استفاده میکنم
Shape shape = ws.Shapes.AddOLEObject("Word.Document.12", missing, false, false,missing,missing,Microsoft.Office.Core.MsoTex tUnderlineType.msoUnderlineDashHeavyLine, 10, 10, 100, 200);
shape.Select(Type.Missing);
shape.TextFrame.Characters(missing,missing).Text = "High Risk";
اما ارور میده:
Member not found. (Exception from HRESULT: 0x80020003 (DISP_E_MEMBERNOTFOUND))