f_pakzad
یک شنبه 29 فروردین 1389, 23:22 عصر
به برنامه ای نیاز دارم که در آن یک فایل اکسل تولید شود و یک آبجکت در آن قرار گیرد.
فرض کنید یک فایل اکسل باز کردیم و در سربرگ 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;;
ممنون میشم اگر کمک کنید یا حتی مرجعی برای مطالعه د راین زمینه بهم معرفی کنید
فرض کنید یک فایل اکسل باز کردیم و در سربرگ 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;;
ممنون میشم اگر کمک کنید یا حتی مرجعی برای مطالعه د راین زمینه بهم معرفی کنید