نمایش نتایج 1 تا 4 از 4

نام تاپیک: وارد کردن object در یک فایل اکسل

  1. #1
    کاربر دائمی آواتار f_pakzad
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    مازندران
    پست
    185

    وارد کردن 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;;

    ممنون میشم اگر کمک کنید یا حتی مرجعی برای مطالعه د راین زمینه بهم معرفی کنید
    آخرین ویرایش به وسیله f_pakzad : یک شنبه 29 فروردین 1389 در 22:37 عصر

  2. #2
    کاربر دائمی آواتار f_pakzad
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    مازندران
    پست
    185

    نقل قول: وارد کردن object در یک فایل اکسل

    دوستان..میشه یه نگاهکی بندازید؟

  3. #3
    کاربر دائمی آواتار f_pakzad
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    مازندران
    پست
    185

    نقل قول: وارد کردن 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);

    حالا تنها کاری که مونده اینه که چه طوری باید به این آبجکت در برنامه مقدار بدم؟
    تو رو خدا یه کمکی برسونید

  4. #4
    کاربر دائمی آواتار f_pakzad
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    مازندران
    پست
    185

    نقل قول: وارد کردن 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))

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •