صفحه 1 از 2 12 آخرآخر
نمایش نتایج 1 تا 40 از 55

نام تاپیک: باز شدن نرم افرار word داخل فرم

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

    باز شدن نرم افرار word داخل فرم

    سلام دوستان
    می خوام توی برنامم نرم افزار word رو باز کنم (ورد داخل خود فرم نمایش داده بشه نه به صورت یک پنجره مجزا) :
    var wordApp = new Microsoft.Office.Interop.Word.Application();

    object useDefaultValue = Type.Missing;
    wordApp.Caption = "Caption";
    //wordApp.StatusBar = "StatusBar";
    var Word_doc = wordApp.Documents.Add(ref useDefaultValue, ref useDefaultValue,
    ref useDefaultValue, ref useDefaultValue);
    Range range = Word_doc.Range(ref useDefaultValue, ref useDefaultValue);
    // range.Text = "smail" + Environment.NewLine + "Hallo";
    wordApp.Visible = true;

    با استفاده از کد بالا نرم افزار ورد به صورت جداگانه باز میشه. ممنون میشم راهنمایی بفرمایید

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

    نقل قول: باز شدن نرم افرار ورد داخل فرم

    سلام دوستان
    من کامپوننتش رو پیدا کردم ولی حالا می خوام فایل ورد رو مشخص کنم که نمایش بده (فایل وردی که در مسیر برنامم وجود داره)
    این کد رو نوشتم ولی خطا میده:
    private void Form1_Load(object sender, EventArgs e)        {
    string oTemplatePath = System.Windows.Forms.Application.StartupPath + "\\1.docx";
    winWordControl1.LoadDocument(oTemplatePath);

    }

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

    نقل قول: باز شدن نرم افرار ورد داخل فرم

    مشکل حل شد.
    من از این dll استفاده کردم .اینجا قرار دادم شاید دوستان دیگه هم نیاز پیدا کردن.
    فایل های ضمیمه فایل های ضمیمه

  4. #4

    نقل قول: باز شدن نرم افرار ورد داخل فرم

    نقل قول نوشته شده توسط f_naderi مشاهده تاپیک
    مشکل حل شد.
    من از این dll استفاده کردم .اینجا قرار دادم شاید دوستان دیگه هم نیاز پیدا کردن.
    درود دوست عزیز، لطفا طرز کار با این کنترل رو هم کمی شرح بدین، منم لازم دارم... تا الان از خود برنامه Word به صورت جدا در نرم افزارم استفاده کردم اگه این کنترل جواب بده روند کارو تغییر میدم

  5. #5
    کاربر دائمی آواتار mrprestige
    تاریخ عضویت
    مرداد 1393
    محل زندگی
    کرج
    پست
    646

    نقل قول: باز شدن نرم افرار ورد داخل فرم

    نقل قول نوشته شده توسط mr.sirwan مشاهده تاپیک
    درود دوست عزیز، لطفا طرز کار با این کنترل رو هم کمی شرح بدین، منم لازم دارم... تا الان از خود برنامه Word به صورت جدا در نرم افزارم استفاده کردم اگه این کنترل جواب بده روند کارو تغییر میدم
    عرض سلام و ادب دوست عزیز , بنده متاسفانه DLL دوست عزیز f_naderi رو متاسفانه نگاه نکردم و اینکه از ایشون تشکر میکنم که تجربیاتشون رو دراختیار بقیه میزارن ولی با این حال دوست من شما به این سایت هم مراجعه کنید dll رو دانلود سپس با استفاده از همین دستوری که براتون نوشتم فیل Word مورد نظرتون رو باز کنید


    this.Application.Documents.Open(@"C:\Test\NewDocum ent.docx");

    پیروز و موفق باشید

  6. #6

    نقل قول: باز شدن نرم افرار ورد داخل فرم

    نقل قول نوشته شده توسط mrprestige مشاهده تاپیک
    عرض سلام و ادب دوست عزیز , بنده متاسفانه DLL دوست عزیز f_naderi رو متاسفانه نگاه نکردم و اینکه از ایشون تشکر میکنم که تجربیاتشون رو دراختیار بقیه میزارن ولی با این حال دوست من شما به این سایت هم مراجعه کنید dll رو دانلود سپس با استفاده از همین دستوری که براتون نوشتم فیل Word مورد نظرتون رو باز کنید


    this.Application.Documents.Open(@"C:\Test\NewDocum ent.docx");

    پیروز و موفق باشید
    سلام و درود دوست خوبم ممنون برای لینک و راهنمایی که گذاشتین، ولی این خط به تنهایی کار نمیکنه و مستلزم یک کنترل یا یک ابجکت هستش، درضمن خود من از همین DLL برای کار با Word استفاده میکنم اما به روشی دیگه، چیزی که درمورد پست دوست عزیزمون f_naderi برام جالب بود این بود که منم قبل از استفاده از روش فعلیم، میخواستم کامپوننت برنامه Word رو پیدا کنم و داخل نرم افزارم قرار بدم چون توی یکی از برنامه های تحت دسکتاپ دیده بودم که همچین کامپوننتی استفاده شده، ولی بنده که طی جستجو هام چیزی پیدا نکردم و بیخیال شدم و اومدم سراغ همین روش فعلی خودم

    بازم ممنون

  7. #7
    کاربر دائمی
    تاریخ عضویت
    بهمن 1387
    محل زندگی
    تهران
    پست
    319

    نقل قول: باز شدن نرم افرار ورد داخل فرم

    سلام من خودمم امروز این dll رو پیدا کردم .
    اول اومدم این dll رو به رفرنس های برنامم اضافه کردم بعد در قسمت tool box کلیک راست کردم و با انتخاب choose item در پنجره باز شده در قسمت .Net tab از قسمت brows این dll رو انتخاب کردم و ok.
    بعد کامپوننت winwordcontrol به toolbox اضافه میشه این کامپوننت رو داخل فرم قرار دادم و یک دکمه هم گذاشتم که زیر این دکمه کد زیر رو قرار دادم:
    private void button1_Click(object sender, EventArgs e)        {
    string oTemplatePath = System.Windows.Forms.Application.StartupPath + "\\1.docx";
    winWordControl1.LoadDocument(oTemplatePath);
    }

    بیش از این نمیدونم چون هنوز باهاش کار نکردم اگر اطلاعات بیشتری به دست بیارم همینجا میذارم. یه فایل dll دیگه داشتم که تا دیشب اونو تست میکردم ولی با اون موفق نشدم داخل خود فرم فایل رو باز کنم ولی notepad رو داخل فرم باز میکرد اونو هم براتون قرار میدم شاید شما به نتیجه ای برسید.
    حالا من یک سوال دیگه دارم من می خوام متن رو در دیتابیس اکسس ذخیره کنم (محتویاتش قراره سوال درسی باشه که شامل فرمول و تابع و... هستش) بنظرتون فقط متن رو بخونم و ذخیره کنم یا به ازای هر سوال کل فایل رو ذخیره کنم .روش انجام هیچ کدوم رو هم نمیدونم. ممنون میشم راهنمایی بفرمایید

  8. #8
    کاربر دائمی
    تاریخ عضویت
    بهمن 1387
    محل زندگی
    تهران
    پست
    319

    نقل قول: باز شدن نرم افرار ورد داخل فرم

    با استفاده از دستور زیر یک فایل ورد به صورت مجزا باز میشه :
    this.Application.Documents.Open(@"C:\Test\NewDocum ent.docx");

    اینم فایل dll قبلی
    فایل های ضمیمه فایل های ضمیمه
    آخرین ویرایش به وسیله Mahmoud.Afrad : سه شنبه 02 شهریور 1395 در 04:29 صبح

  9. #9
    کاربر دائمی آواتار abdullah20
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    اصفهان
    پست
    1,211

    نقل قول: باز شدن نرم افرار ورد داخل فرم

    بهترین کامپوننت برای این کار EDraw Office Viewer هستش

  10. #10
    کاربر دائمی
    تاریخ عضویت
    بهمن 1387
    محل زندگی
    تهران
    پست
    319

    نقل قول: باز شدن نرم افرار ورد داخل فرم

    نقل قول نوشته شده توسط abdullah20 مشاهده تاپیک
    بهترین کامپوننت برای این کار EDraw Office Viewer هستش
    ببخشید دوباره مطرح کردم ...من می خوام متن رو در دیتابیس اکسس ذخیره کنم (محتویاتش قراره سوال درسی باشه که شامل فرمول و تابع و... هستش) بنظرتون فقط متن رو بخونم و ذخیره کنم یا به ازای هر سوال کل فایل رو ذخیره کنم .روش انجام هیچ کدوم رو هم نمیدونم. ممنون میشم راهنمایی بفرمایید.

  11. #11
    کاربر دائمی آواتار abdullah20
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    اصفهان
    پست
    1,211

    نقل قول: باز شدن نرم افرار ورد داخل فرم

    نه دوست عزیز برای چی برای هر سوال کل فایل که شامل سوالات هست ذخیره بشه
    شما هر سوال را جداگانه ذخیره کنید
    نرم افزار ازمون گیر دارید می نویسید؟
    با توجه به این تاپیک که ایجاد کردید لازمه کلا درمورد نرم افزار خودتون توضیح بدید که چی هستش تا بهتر بشه راهنمایی کرد

  12. #12
    کاربر دائمی
    تاریخ عضویت
    بهمن 1387
    محل زندگی
    تهران
    پست
    319

    نقل قول: باز شدن نرم افرار ورد داخل فرم

    یعنی اگه فقط محتویات فایل خونده و ذخیره بشه موقع بازیابی به مشکل برنمیخوره(محتویات فایل به هم بریزه به خاطر توابع ریاضی که قراره ذخیره بشه میگم)
    بله دارم چنین پروژه ای مینویسم. توی یه فرم لیست کتابها وارد میشه.توی فرم بعدی براساس کتاب شماره و کد فصل ذخیره میشه و بعد براساس فصل انتخابی بخش های مورد نظر وارد میشه.حالا موقع ایجاد آزمون به مشکلی که توی اون تاپیک نوشتم برخورد کردم اگه فقط براساس کتاب و فصل بود مشکلی نبود ولی چون بخش هم وارد شده نمیدونم چکار کنم.

  13. #13
    کاربر دائمی آواتار abdullah20
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    اصفهان
    پست
    1,211

    نقل قول: باز شدن نرم افرار ورد داخل فرم

    اگر نرم افزار آزمون گیر میخواید بنویسید یک دوره ای در سایت هستش که جناب veniz2008 تدریس کردن
    میتونید از اون کمک بگیرید

  14. #14
    کاربر دائمی
    تاریخ عضویت
    بهمن 1387
    محل زندگی
    تهران
    پست
    319

    نقل قول: باز شدن نرم افرار ورد داخل فرم

    ممنون ولی فوق العاده عجله ای هست.
    چطور میتونم فایل ورد رو بخونم چون با دستور
    string readText = File.ReadAllText(Path);
    متنی رو نمیده به این دلیل که فایل خالی هست و این فایل داخل کامپوننت winwordcontrol باز میشه و بعد از باز شدن داره صورت سوال واردش میشه.حالا چطور میتونم موقع زدن دکمه ثبت سوال متن درون ورد را بخونم و ذخیره کنم.

  15. #15

    نقل قول: باز شدن نرم افرار ورد داخل فرم

    نقل قول نوشته شده توسط f_naderi مشاهده تاپیک
    ممنون ولی فوق العاده عجله ای هست.
    چطور میتونم فایل ورد رو بخونم چون با دستور
    string readText = File.ReadAllText(Path);
    متنی رو نمیده به این دلیل که فایل خالی هست و این فایل داخل کامپوننت winwordcontrol باز میشه و بعد از باز شدن داره صورت سوال واردش میشه.حالا چطور میتونم موقع زدن دکمه ثبت سوال متن درون ورد را بخونم و ذخیره کنم.
    متاسفانه فرصت نشد با این کنترلی که گذاشتین کار کنم، قبلا ارور میداد و دیگه پیشو نگرفتم پس نمیدونم روش کارش چجوری هستش، اما شما سعی کنین برای هر سوال مراحل زیر رو طی کنین:
    1. متن داخل کنترل رو به عنوان یک فایل ذخیره کنین
    2. متنشو از رو سیستم بخونین
    3. فایل ذخیره شده رو از رو سیستم حذف کنین
    4. حالا اطلاعات دریافت شده رو داخل دیتابیس درج کنین

  16. #16
    کاربر دائمی
    تاریخ عضویت
    بهمن 1387
    محل زندگی
    تهران
    پست
    319

    نقل قول: باز شدن نرم افرار ورد داخل فرم

    شما اول فایل ورد رو سیو میکردین بعد میخوندین؟ من با این دستوری که نوشتم متن سیو شده رو خوندم و داخل تکست باکس نشون دادم کلا فونتش به هم ریخت نمی خوام اینجوری بشه ... موقع درج توی بانک به هم نمیریزه؟ جناب abdullah20 فرمودن محتویات رو ذخیره کنم .حالا به نظر شما چطور، متن رو ذخیره کنم یا کل فایل رو برای هر سوال.
    ممنون بابت راهنمایی

  17. #17

    نقل قول: باز شدن نرم افرار ورد داخل فرم

    نقل قول نوشته شده توسط f_naderi مشاهده تاپیک
    شما اول فایل ورد رو سیو میکردین بعد میخوندین؟ من با این دستوری که نوشتم متن سیو شده رو خوندم و داخل تکست باکس نشون دادم کلا فونتش به هم ریخت نمی خوام اینجوری بشه ... موقع درج توی بانک به هم نمیریزه؟
    ممنون بابت راهنمایی
    عرض کردم با کنترل شما کار نکردم نمیدونم روش کارش چجوری هستش، اگر کنترلتون این امکان رو داره که محتویات خودش رو توسط یک پراپرتی به برنامه نویس تحویل بده، پس از همین پراپرتی استفاده کنین، در غیر اینصورت مجبور به انجام مراحل ذکر شده هستین، درمورد به هم ریختن فونت و از این قبیل، باز هم اگر کنترل شما پراپرتی ای واسه Set کردن خاصیت Text داره پس محتویات خونده شده رو توسط همین پراپرتی به کنترلتون پاس بدین(مثلا: SetText یا Text و...)، یا میتونین داخل یک Richtextbox قرار بدین محتویاتتون داخل این کنترل بهتر نمایش داده میشه

  18. #18
    کاربر دائمی
    تاریخ عضویت
    بهمن 1387
    محل زندگی
    تهران
    پست
    319

    نقل قول: باز شدن نرم افرار ورد داخل فرم

    چطور میتونم فایل رو ذخیره کنم هر کدی می نویسم خطا میده؟؟؟؟؟

  19. #19

    نقل قول: باز شدن نرم افرار ورد داخل فرم

    نقل قول نوشته شده توسط f_naderi مشاهده تاپیک
    چطور میتونم فایل رو ذخیره کنم هر کدی می نویسم خطا میده؟؟؟؟؟
    لطفا کد مربوط به ذخیره کردن رو قررار بدین تا بررسی کنیم

  20. #20
    کاربر دائمی
    تاریخ عضویت
    بهمن 1387
    محل زندگی
    تهران
    پست
    319

    نقل قول: باز شدن نرم افرار ورد داخل فرم

     private void button2_Click(object sender, EventArgs e)

    {
    object oTemplatePath = System.Windows.Forms.Application.StartupPath + "\\1.docx";
    Microsoft.Office.Interop.Word.Document doc = winWordControl1.LoadDocument(oTemplatePath);
    doc.Save();




    }

    کلا نحوه ذخیره سازیش رو نمیدونم . اگر نمونه کد برام بزارید ممنون میشم

  21. #21

    نقل قول: باز شدن نرم افرار ورد داخل فرم

    شما از این کد استفاده کنین:

    Object oMissing = System.Reflection.Missing.Value;
    Object oSaveFile = (Object) Application.StartupPath + "\\1.docx";

    doc.SaveAs2(ref oSaveFile, ref oMissing, ref oMissing, ref oMissing,
    ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
    ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
    ref oMissing, ref oMissing, ref oMissing);

  22. #22
    کاربر دائمی
    تاریخ عضویت
    بهمن 1387
    محل زندگی
    تهران
    پست
    319

    نقل قول: باز شدن نرم افرار ورد داخل فرم

    چطوری میتونم متغیر doc رو مقدار بدم از طریق winwordcontrol که مقدار میگیره خطا میده

    Error 1 The best overloaded method match for 'WinWordControl.WinWordControl.LoadDocument(string )' has some invalid arguments
    Error 2 Argument '1': cannot convert from 'object' to 'string'
    Error 3 'Microsoft.Office.Interop.Word.Document' does not contain a definition for 'SaveAs2' and no extension method 'SaveAs2' accepting a first argument of type 'Microsoft.Office.Interop.Word.Document' could be found (are you missing a using directive or an assembly reference?)

    private void button2_Click(object sender, EventArgs e)


    {
    Object oSaveFile = (Object)Application.StartupPath + "\\1.docx";
    Microsoft.Office.Interop.Word.Document doc = winWordControl1.LoadDocument(oSaveFile);
    Object oMissing = System.Reflection.Missing.Value;
    doc.SaveAs2(ref oSaveFile, ref oMissing, ref oMissing, ref oMissing,
    ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
    ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
    ref oMissing, ref oMissing, ref oMissing);


    }

  23. #23

    نقل قول: باز شدن نرم افرار ورد داخل فرم

    دوست عزیز، متاسفانه این کنترلی که گذاشتین واسه من ارور میده، چندین بار امتحان کردم خواستم روال کارشو بفهمم و بیام واستون توضیح بدم ولی از شانس شما واسه من تو محیط دیزاین اجرا ارور میده

    sjbdvhj.jpg

    از دوستان خواهش میشه کنترل موردنظر رو دریافت کنن و کار دوستمون رو راه بندازن

  24. #24
    کاربر دائمی
    تاریخ عضویت
    بهمن 1387
    محل زندگی
    تهران
    پست
    319

    نقل قول: باز شدن نرم افرار ورد داخل فرم

    جناب سیروان ودیگر دوستان ممنون از پیگیری هاتون...
    ویندوز من 32 هستش و برنامه رو روی حالت x86 قرار دادم ، برنامه رو اجرا میکنه ولی قبلش این پیفام رو میده. مشکل از چیه ؟

    سوال دومم اینه که ، من وقتی فایل setup رو میسازم پوشه دیباگ خالیه و فایلها رو توی پوشه Release قرار میده.چرا؟ و مطلب دیگه اینکه من می خوام کریستال ریپورت رو هم توی کامپیوتر مقصد نصب کنه ، اگه کامپیوتر مقصد کریستال ریپورت روش نصب نباشه مشکلی پیش نمیاد ولی رو سیستم خودم که می خوام نصب کنم ، نصب رو انجام نمیده و پیغام زیر رو میده:
    Error1.png
    عکس های ضمیمه عکس های ضمیمه

  25. #25
    کاربر دائمی آواتار abdullah20
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    اصفهان
    پست
    1,211

    نقل قول: باز شدن نرم افرار ورد داخل فرم

    ارور کریستال برای اینه ک میگه نصب شده و مجدد نمیشه نصب کرد
    برای سیستم کاربر هم باید موتورش را نصب کنید و نیاز ب نصب نسخه کامل نیست
    برای بیلد هم حالت release را انتخاب کردید ک البته فرق زیادی با حالت دیباگ نداره ولی معمولا برای بیلد نهایی از releaseاستفاده میشه

  26. #26
    کاربر دائمی
    تاریخ عضویت
    بهمن 1387
    محل زندگی
    تهران
    پست
    319

    نقل قول: باز شدن نرم افرار ورد داخل فرم

    بله اررورش به خاطر اینه که روی سیستم خودم نصبه ... من گزینه crystal report basic for visual st... رو تیک میزنم .چکار کنم که اگه روی سیستم کریستال نصب بود نصبش نکنه؟(چطور میتونم مشخص کنم که فقط موتورش رو نصب کنه)

    اون تصویر دوم رو که قرار دادم اون برای چیه؟(وقتی برنامه رو اجرا می کنم این پیغام رو میده ولی بعدش برنامه رو اجرا میکنه .البته وقتی فایل نصبی ایجاد کنم و برنامه رو نصب و اجرا کنم این پیغام رو نمیده)

  27. #27
    کاربر دائمی
    تاریخ عضویت
    بهمن 1387
    محل زندگی
    تهران
    پست
    319

    نقل قول: باز شدن نرم افرار ورد داخل فرم

    سلام دوستان من منصرف شدم از اینکه بخوام ورد رو داخل خود فرم باز کنم چون از اون کنترل winword که استفاده کردم بعد از نصب فرم مربوطه رو باز نمیکرد و اررور میداد حالا من از کد زیر استفاده میکنم که نرم افزار ورد رو جداگانه باز کنم حالا چطور محتویاتش رو بخونم و داخل دیتابیس ذخیره کنم .خواهش میکنم اگه کسی میدونه قطعه کد قرار بده چون واقعا به نتیجه ای نرسیدم
    private void button1_Click(object sender, EventArgs e)        {
    var wordApp = new Microsoft.Office.Interop.Word.Application();


    object useDefaultValue = Type.Missing;
    wordApp.Caption = "Caption";
    //wordApp.StatusBar = "StatusBar";
    var Word_doc = wordApp.Documents.Add(ref useDefaultValue, ref useDefaultValue,
    ref useDefaultValue, ref useDefaultValue);
    Range range = Word_doc.Range(ref useDefaultValue, ref useDefaultValue);
    // range.Text = "smail" + Environment.NewLine + "Hallo";
    wordApp.Visible = true;
    }

  28. #28

    نقل قول: باز شدن نرم افرار ورد داخل فرم

    الان شما فقط نیاز دارین که فایل رو روی سیستم کاربر ذخیره و سپس فایل ذخیره شده رو به آرایه ی بایتی تبدیل و این آرایه رو داخل دیتابیس ذخیره کنین، بدین صورت:

    Object oSavePath = (Object)String.Format("{0}\\MyDocument.doc", Application.StartupPath);

    Word_doc.SaveAs2(ref oSavePath, ref oMissing, ref oMissing, ref oMissing,
    ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
    ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
    ref oMissing, ref oMissing, ref oMissing);

    Word_doc.Close(ref oFalse, ref oMissing, ref oMissing);

    WordApp.Quit(ref oMissing, ref oMissing, ref oMissing);

    byte[] FileBuffer = System.IO.File.ReadAllBytes(oSavedFile.ToString()) ;


    داخل فرمتون یک دکمه اضافه کنین و این کدهارو داخل ایونت کلیکش پیست کنین و آرایه رو داخل دیتابیس درج کنین، لازم به ذکره که در این روش فرقی نمیکنه که کاربر برنامه ورد رو ببنده یا خیر، در هر صورت به درستی کار میکنه، ولی توصیه میکنم که به کاربر اطلاع بدین که برنامه ورد رو نبنده، یعنی هنگامی که برنامه ورد در حال اجراس بیاد و این دکمه رو کلیک کنه.


    موفق باشین
    آخرین ویرایش به وسیله mr.sirwan : جمعه 05 شهریور 1395 در 17:05 عصر

  29. #29
    کاربر دائمی
    تاریخ عضویت
    بهمن 1387
    محل زندگی
    تهران
    پست
    319

    نقل قول: باز شدن نرم افرار ورد داخل فرم

    من کد رو به این صورت زیر دکمه ثبت سوال نوشتم ولی برای SaveAs2 اررور میده و این دو تابع close و quit رو هم به صورت سبز نشون میده چی کم یا اشتباهه:


    //////////////////////////////for QTS field            var wordApp = new Microsoft.Office.Interop.Word.Application();




    object oMissing = Type.Missing;
    object oFalse = false;
    object useDefaultValue = Type.Missing;
    wordApp.Caption = "Caption";
    //wordApp.StatusBar = "StatusBar";
    var Word_doc = wordApp.Documents.Add(ref useDefaultValue, ref useDefaultValue,
    ref useDefaultValue, ref useDefaultValue);
    Range range = Word_doc.Range(ref useDefaultValue, ref useDefaultValue);
    Object oSavePath = (Object)System.Windows.Forms.Application.StartupPa th + "\\1.docx";
    Word_doc.SaveAs2(ref oSavePath, ref oMissing, ref oMissing, ref oMissing,
    ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
    ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
    ref oMissing, ref oMissing, ref oMissing);


    Word_doc.Close(ref oFalse, ref oMissing, ref oMissing);


    WordApp.Quit(ref oMissing, ref oMissing, ref oMissing);


    byte[] FileBuffer = System.IO.File.ReadAllBytes(oSavePath.ToString());





    //////////////////////////////

    خط save رو کردم
    Word_doc.Save();
    حالا برنامه اجرا میشه ولی وقتی سوال رو وارد میکنم و دکمه ثبت رو میزنم هنگ میکنه نه اررور میده و نه بقیه دکمه ها کار میکنن. داخل دیتابیس نوع فیلد رو ole object قرار دادم و موقع ذخیره سازی متغیر FileBuffer را برای ذخیره مشخص میکنم.مشکل از کجاست؟
    آخرین ویرایش به وسیله f_naderi : جمعه 05 شهریور 1395 در 20:38 عصر

  30. #30

    نقل قول: باز شدن نرم افرار ورد داخل فرم

    متن اروری که با متد SaveAs2 نشون داده میشه رو بذارین، تا بهتر راهنمایی کنیم

    درمورد ابجکت oMissing و useDefaultValue جفتشون یک مقدار دارن پس فقط از یکیشون استفاده کنین لزومی نداره از هر دو استفاده کنین، اون خط سبز هم که زیر متد های Close و Quit میاره، اشکالی ایجاد نمیکنه نگران نباشید، فیلد موجود در جدولتون رو هم از نوع varbinary(MAX) بگیرین...

    درمورد ذخیره سازی فایل هم شما اول WordApp.Visible= true کنین، در ضمن این کدی که شما نوشتین اصلا کاربر فرصت نمیکنه چیزی داخل فایل بنویسه که فورا سیو میشه، دکمه فراخوانی برنامه Word و دکمه ذخیره سازی باید مجزا باشن، امیدوارم منظورمو رسونده باشم

  31. #31
    کاربر دائمی
    تاریخ عضویت
    بهمن 1387
    محل زندگی
    تهران
    پست
    319

    نقل قول: باز شدن نرم افرار ورد داخل فرم

    ممنون جناب سیروان مشکل اررور حل شد ذخیره میکنه . من از access استفاده میکنم و به همین دلیل دیتاتایپ رو ole object گذاشتم. بله برای باز کردن ورد یک دکمه مجزا گذاشته بودم اون مال ثبت سوال بود.
    حالا به مشکل دیگه ای برخوردم سوال1. وقتی سوال ثبت میشه document رو میبنده ولی نرم افزار ورد رو خیر.(یعنی صفحه خاکستری رنگ محیط ورد باز میمونه که البته می خوام داکیومنت رو دوباره باز کنه به صورت خالی که برای تایپ سوال بعدی آماده باشه)
    سوال2. حالا من می خوام سوال ثبت شده رو از دیتابیسم بخونم و داخل ورد نمایش بدم ولی این رو داخل ورد نمایش میده :System.Byte[]

    کدی که برای نمایش سوال در ورد نوشتم:
    object path = (Object)System.Windows.Forms.Application.StartupPa  th + "\\1.docx";            object read = "ReadWrite";
    object readOnly = false;
    object o = System.Reflection.Missing.Value;
    Class1.str1 = "select top 1 Qts from Quastion where l_code=" + Convert.ToInt32(comboBox3.SelectedValue);
    Class1.da = new System.Data.OleDb.OleDbDataAdapter(Class1.str1, Class1.con);
    Class1.da.Fill(Class1.dsclass);
    Microsoft.Office.Interop.Word._Application oWord = new Microsoft.Office.Interop.Word.Application(); ;


    object oMissing = Type.Missing;

    oWord.Visible = true;
    oWord.Documents.Open(ref path, ref o, ref readOnly, ref o, ref o, ref o, ref o, ref o, ref o, ref o, ref o, ref o, ref o, ref o, ref o, ref o);
    byte[] bytes = (byte[])Class1.dsclass.Tables[0].Rows[0][0];
    //string s = BitConverter.ToString();
    string text = Encoding.Unicode.GetString(bytes);
    oWord.Selection.TypeText(text);

  32. #32

    نقل قول: باز شدن نرم افرار ورد داخل فرم

    سلام دوست خوبم، شرمنده به خاطر وقفه ای که ایجاد شد، به ترتیب پاسخ میدم:
    1. خب اینکه خوبه، شما بعد از ثبت هر سوال ابجکت Word_Doc رو دوباره New کنین و به WordApp اضافه کنین(اگه واضح نبود بفرمایید تا واضحتر بگم)
    2. دوست خوبم توجه داشته باشین که این روندی که ما پیش گرفتیم به ازای هر سوال یک فایل word خواهیم داشت شاید این چیزی نباشه که شما میخواین، ولی به هر حال تبدیل Byte به یک فایل بدین صورت انجام میشه:

    string FilePath = string.Format("{0}\\TempDoc.Doc", Application.StartupPath);
    System.IO.File.WriteAllBytes(FilePath, bytes);


    حالا برای نمایش این فایلمون میتونیم به دو روش زیر عمل کنیم:

    1) با استفاده از Proccess
    var viewer = System.Diagnostics.Process.Start(FilePath);

    // حذف فایلی که ساختیم درست بعد از بستن نرم افزار ورد
    viewer.EnableRaisingEvents = true;
    viewer.Exited += (o, args) =>
    {
    System.IO.File.Delete(FilePath);
    };


    2) و یا با همین روش خودمون پیش بریم و باز کنیم:
    oWord = new Microsoft.Office.Interop.Word.Application();
    oWordDoc = new Microsoft.Office.Interop.Word.Document();


    oWordDoc = oWord.Documents.Add(ref FilePath, ref oMissing, ref oMissing, ref oMissing);

    oWord.Visible = true;


    ولی اگر نخوایم این روند رو پیش بگیریم توصیه میکنم سری به این لینکها بزنین:
    آخرین ویرایش به وسیله mr.sirwan : یک شنبه 07 شهریور 1395 در 13:37 عصر

  33. #33
    کاربر دائمی
    تاریخ عضویت
    بهمن 1387
    محل زندگی
    تهران
    پست
    319

    نقل قول: باز شدن نرم افرار ورد داخل فرم

    ممنون بابت همراهیتون.
    متاسفانه من دیگه الان هنگ کردم. برای ذخیره سازی اینطور نوشتم که اررور نداد:
    object oMissing = Type.Missing;            object oFalse = false;
    object useDefaultValue = Type.Missing;
    Microsoft.Office.Interop.Word._Application w = new Microsoft.Office.Interop.Word.Application();
    object path = (Object)System.Windows.Forms.Application.StartupPa th + "\\1.docx";
    object read = "ReadWrite";
    object readOnly = false;
    object o = System.Reflection.Missing.Value;

    oDoc.Save();
    w.Visible = false;
    oDoc.Close(ref oFalse, ref oMissing, ref oMissing);


    w.Quit(ref oMissing, ref oMissing, ref oMissing);

    byte[] FileBuffer = System.IO.File.ReadAllBytes(path.ToString());


    همون متغیر filedbuffer رو هم دارم ذخیره میکنم . حالا دارم از دیتابیس می خونم یعنی آدرس من میشه Class1.dsclass.Tables[0].Rows[0][0] نمیدونم اینو چطور به رشته تبدیل کنم.
    به نظر شما بهتر نیست که رشته بخونم به بایت تبدیل کنم و ذخیره کنم و بعد برای بازیابی به رشته برگردونم.
    برای ذخیره سازی:
    string somestring = System.IO.File.ReadAllText(path, Encoding.ASCII);
    byte[] FileBuffer = Encoding.ASCII.GetBytes(somestring);


    برای بازیابی:
    byte[] bytes = (byte[])Class1.dsclass.Tables[0].Rows[0][0];
    string text = Encoding.ASCII.GetString(bytes);
    oWord.Selection.TypeText(text);

    البه بازم system.byte[] نشون میده
    آخرین ویرایش به وسیله f_naderi : یک شنبه 07 شهریور 1395 در 15:30 عصر

  34. #34

    نقل قول: باز شدن نرم افرار ورد داخل فرم

    سلام دوست عزیز، ببینین اصلا سخت نگیرین، بیاین روال کارو یه بار دیگه باهم بررسی کنیم، کاری که ما میخوایم انجام بدیم اینه که یک فایل یا سند Word (در اینجا برای کد شما همون ابجکت Word_Doc یا در کد من همون oWordDoc) در مسیر دلخواهمون (ابجکت Path که بصورت string بهش ادرس دادیم ولی نوع متغیرمون Object هستش که در متدهای بعدی نیاز داریم که متغیرمون از جنس آبجکت باشه) ایجاد و ذخیره کنیم و درصورت لزوم فراخوانیش کنیم

    ابتدای کار ما میخوایم یک سند خالی داخل Word برای کاربر باز کنیم که بتونه داخلش بنویسه برای اینکار داخل ایونت کلیک یک دکمه، بدین صورت عمل میکنیم:

    Microsoft.Office.Interop.Word.Application oWordApp = new Microsoft.Office.Interop.Word.Application();
    Microsoft.Office.Interop.Word.Document oWordDoc = new Microsoft.Office.Interop.Word.Document();

    Object oMissing = System.Reflection.Missing.Value;
    oWordDoc = oWordApp.Documents.Add(ref oMissing, ref oMissing, ref oMissing, ref oMissing);
    oWordApp.Visible = true;


    حالا ما یک سند خالی داریم که کاربر داخلش میتونه محتویات موردنظرشو بنویسه، حالا فرض کنین کاربر محتویات رو نوشته و میخواد که فایل رو داخل دیتابیس ذخیره کنه (البته این کار واسه برنامه آزمون گیر مناسب نیستش و باید به طریق دیگه ای فقط محتویات داخل سند رو بخونیم و اونو بصورت رشته داخل دیتابیس ذخیره کنیم، این روش رو هم خدمتتون عرض خواهم کرد) برای اینکار ابتدا باید فایل رو داخل سیستم کاربر بصورت موقت ذخیره کنیم، سپس اون فایل رو تبدیل به آرایه Byte کنیم و این آرایه رو داخل دیتابیس ذخیره کنیم (تا کاربر هرموقع خواست فایل رو ببینه این آرایه رو دوباره به فایل تبدیل کنیم و بهش نشون بدیم) و در نهایت فایل موقت ایجاد شده رو حذف کنیم، برای اینکار داخل ایونت کلیک یک دکمه مجزا از فراخوانی سند، بدین صورت عمل میکنیم:

    Object oSavePath = (Object)String.Format("{0}\\MyDocument.doc", System.Windows.Forms.Application.StartupPath);

    oWordDoc.SaveAs2(ref oSavePath, ref oMissing, ref oMissing, ref oMissing,
    ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
    ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
    ref oMissing, ref oMissing, ref oMissing);

    Object oFalse = false;

    oWordDoc.Close(ref oFalse, ref oMissing, ref oMissing);

    //oWordApp.Quit(ref oMissing, ref oMissing, ref oMissing);
    byte[] FileBuffer = System.IO.File.ReadAllBytes(oSavePath.ToString());
    System.IO.File.Delete(oSavePath.ToString());


    اون خط کدی که کامنت کردم اختیاریه شما میتونی اونو بنویسی یا ننویسی، اگه میخواین بعد از ثبت هر سوال خود برنامه Word هم بسته بشه خط رو از حالت کامنت دربیارین، درغیر اینصورت بذارین تو حالت کامنت بمونه
    خب اینا مربوط به ذخیره فایل در سیستم کاربر و بدست آوردن ارایه Byte مربوط به فایل، و حذف فایل از سیستم، دیگه ذخیره سازی آرایه بایتی در دیتابیس به عهده خودتون

    حالا میرسیم به باز کردن سندی که داخل دیتابیس به صورت آرایه ذخیره شده، برای اینکار ابتدا بیاین ستون مربوطه رو از دیتابیس بخونین، فرض کنیم شما مقدار ستونی که از دیتابیس فراخوانی کردین رو داخل آرایه ای از جنس Byte با اسم Bytes ریختین، حالا برای تبدیل این آرایه به فایل از متد WriteAllBytes استفاده میکنیم که فایل رو برامون میسازه، به این صورت:


    string FilePath = string.Format("{0}\\TempDoc.Doc", Application.StartupPath);
    System.IO.File.WriteAllBytes(FilePath, Bytes);



    حالا برای نمایش این فایلمون میتونیم به دو روش زیر عمل کنیم:

    1) با استفاده از Proccess
    var viewer = System.Diagnostics.Process.Start(FilePath);

    // حذف فایلی که ساختیم درست بعد از بستن نرم افزار ورد
    viewer.EnableRaisingEvents = true;
    viewer.Exited += (o, args) =>
    {
    System.IO.File.Delete(FilePath);
    };


    2) و یا با همین روش خودمون پیش بریم و باز کنیم:

    oWordApp = new Microsoft.Office.Interop.Word.Application();
    oWordDoc = new Microsoft.Office.Interop.Word.Document();

    oWordDoc = oWord.Documents.Add(ref FilePath, ref oMissing, ref oMissing, ref oMissing);
    oWord.Visible = true;


    که البته پیشنهاد میکنم از روش اول استفاده کنین
    به همین راحتی، اما اگه اینو نخوایم و فقط متن فایل رو بخوایم استخراج کنیم، به جای ذخیره سازی کل فایل، توسط کد زیر فقط متن رو میخونیم و داخل دیتابیس ذخیره کنین(توجه داشته باشین که متنتون دیگه جلوه نخواهد داشت، منظورم رنگ و حالت بولد و مورب بودن هستش، وگرنه فرمول ها تغییری نمیکنن)
    string totalText = oWordDoc.Content.Text;

    راستی این رو هم بگم که ابجکت های oWordApp و oWordDoc و oMissing رو به صورت سراسری تعریف کنین

  35. #35
    کاربر دائمی
    تاریخ عضویت
    بهمن 1387
    محل زندگی
    تهران
    پست
    319

    نقل قول: باز شدن نرم افرار ورد داخل فرم

    اومدم نوع فیلد رو تغییر دادم به memo و
    string s=oDoc.Content.Text;
    این رو درج کردم و با این دستور فراخوانیش کردم
    string s=Class1.dsclass.Tables[0].Rows[0][0].ToString();
    oWord.Selection.TypeText(s);

    یه فرمول از قسمت insert قرار دادم موقع بازیابی فقط x و y و جمع و تفریق رو آورد رادیکال و این چیزا رو نیاورد و هر قسمت فرمول رو داخل یک خط جدید نوشت
    هنوز اون راه اول رو امتحان نکردم ان شااله نتیجه بده .میگم من دارم هر بار فایل 1.docx رو save میکنم نه save as حالا وقتی بخواد سوال ذخیره شده رو نشون بده (بعد از استخراج از دیتابیس)چون مسیر فایل ذخیره شده نه محتواش ،به مشکل بر نمیخوره؟
    آخرین ویرایش به وسیله f_naderi : یک شنبه 07 شهریور 1395 در 17:01 عصر

  36. #36

    نقل قول: باز شدن نرم افرار ورد داخل فرم

    خب دوست عزیز چرا از Save استفاده میکنین؟؟؟ من خودم از همین روش استفاده میکنم و تا حالا واسه SaveAs2 به ارور نخوردم نمیدونم اروری که شما دارین چیه؟ همینطور اینکه متن ارور رو نمیذارین اینجا که ببینیم

    آیا سوال رو درست متوجه شدم؟ شما به جای اینکه خود فایل رو در دیتابیس ذخیره کنین، فقط مسیر فایل رو داخل دیتابیس میذارین و فایل اصلی رو همینطوری میذارین رو سیستم بمونه؟؟؟ اگه درست متوجه شده باشم، خیر تا زمانیکه فایل حذف نشه موردی نداره

  37. #37
    کاربر دائمی
    تاریخ عضویت
    بهمن 1387
    محل زندگی
    تهران
    پست
    319

    نقل قول: باز شدن نرم افرار word داخل فرم

    من نقطه رو که میزنم فقط save;save as ;saveas2000 داره به همین دلیل تابع saveas2 رو نمیشناسه.
    حالا من کد رو طبق فرمایش شما تغییر دادم بدین صورت: دکمه باز کردن نرم افزار ورد:
    Microsoft.Office.Interop.Word.Application oWordApp = new Microsoft.Office.Interop.Word.Application();            Microsoft.Office.Interop.Word.Document oWordDoc = new Microsoft.Office.Interop.Word.Document();


    Object oMissing = System.Reflection.Missing.Value;
    oWordDoc = oWordApp.Documents.Add(ref oMissing, ref oMissing, ref oMissing, ref oMissing);
    oWordApp.Visible = true;

    دکمه ثبت فایل ورد:
    Object oSavePath = (Object)String.Format("{0}\\1.docx", System.Windows.Forms.Application.StartupPath);                        
    oWordDoc.SaveAs(ref oSavePath, ref oMissing, ref oMissing, ref oMissing,
    ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
    ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
    ref oMissing, ref oMissing);


    Object oFalse = false;


    oWordDoc.Close(ref oFalse, ref oMissing, ref oMissing);


    oWordApp.Quit(ref oMissing, ref oMissing, ref oMissing);
    byte[] FileBuffer = System.IO.File.ReadAllBytes(oSavePath.ToString());
    System.IO.File.Delete(oSavePath.ToString());

    دکمه نمایش فایل ذخیره شده:
    Class1.con.Open();            Class1.str1 = "select top 1 Qts from Quastion where l_code=" + Convert.ToInt32(comboBox3.SelectedValue);
    Class1.da = new System.Data.OleDb.OleDbDataAdapter(Class1.str1, Class1.con);
    Class1.da.Fill(Class1.dsclass);
    Class1.con.Close();
    if (Class1.dsclass.Tables[0].Rows.Count > 0)
    {
    byte[] Bytes = (byte[])Class1.dsclass.Tables[0].Rows[0][0];


    string FilePath = string.Format("{0}\\1.docx", Application.StartupPath);
    System.IO.File.WriteAllBytes(FilePath, Bytes);
    var viewer = System.Diagnostics.Process.Start(FilePath);


    // حذف فایلی که ساختیم درست بعد از بستن نرم افزار ورد
    viewer.EnableRaisingEvents = true;
    viewer.Exited += (o, args) =>
    {
    System.IO.File.Delete(FilePath);
    };
    }

    موقعی که نمایش فایل رو میزنم این پیغام رو نشون میده چون فایل رو پاک میکنه:
    عکس های ضمیمه عکس های ضمیمه

  38. #38
    کاربر دائمی
    تاریخ عضویت
    بهمن 1387
    محل زندگی
    تهران
    پست
    319

    نقل قول: باز شدن نرم افرار word داخل فرم

    اگه فقط آدرس رو ذخیره کنم تعداد فایل ها روی سیستم خیلی زیاد میشه آیا میدونید چطور میتونم فقط محتویات فایل رو ذخیره کنم طوری که محتویات به هم نریزه (چون با دستور content محتویات بهم ریخت)یا کلا خود فایل رو ذخیره کنم نه آدرسشو . بیشمار سپاسگزارم

  39. #39

    نقل قول: باز شدن نرم افرار word داخل فرم

    خیر دوست عزیز به خاطر حذف کردن فایل نیس، در واقع اون خطی که نوشتیم یه جورایی دستور حذف این فایل رو داخل یه صف قرار میده و میگه بعد از بسته شدن نرم افزار فایل رو حذف کن، لطفا برنامه رو Trace کنین و ضمنا از ساخته شدن فایل در مسیر داده شده اطمینان حاصل کنین

    ضمنا احتمالا شما از ورژن پایین DLL مربوط به Microsoft.Office.Interop.Word استفاده میکنین به همین خاطر متد SaveAs2 رو نمیشناسه(البته زیاد تفاوت نمیکنه)، من خودم از ورژن 14.0.0.0 استفاده کردم، شما هم داخل رفرنسهاتون بررسی کنین ببینین چه ورژنی هستش البته بازم میگم احتمالا از اونه

  40. #40
    کاربر دائمی
    تاریخ عضویت
    بهمن 1387
    محل زندگی
    تهران
    پست
    319

    نقل قول: باز شدن نرم افرار word داخل فرم

    نمایش ورد ذخیره شده:
    private void button2_Click_1(object sender, EventArgs e)        {
    Microsoft.Office.Interop.Word.Application oWordApp = new Microsoft.Office.Interop.Word.Application();
    Microsoft.Office.Interop.Word.Document oWordDoc = new Microsoft.Office.Interop.Word.Document();


    Object oMissing = System.Reflection.Missing.Value;
    Class1.con.Open();
    Class1.str1 = "select Qts from Quastion where l_code=" + Convert.ToInt32(comboBox3.SelectedValue);
    Class1.da = new System.Data.OleDb.OleDbDataAdapter(Class1.str1, Class1.con);
    Class1.da.Fill(Class1.dsclass);
    Class1.con.Close();
    if (Class1.dsclass.Tables[0].Rows.Count > 0)
    {
    byte[] Bytes = (byte[])Class1.dsclass.Tables[0].Rows[0][0];
    object FilePath =(object) string.Format("{0}\\TempDoc.Doc", Application.StartupPath);
    System.IO.File.WriteAllBytes(FilePath.ToString(), Bytes);
    oWordApp = new Microsoft.Office.Interop.Word.Application();
    oWordDoc = new Microsoft.Office.Interop.Word.Document();


    oWordDoc = oWordApp.Documents.Add(ref FilePath, ref oMissing, ref oMissing, ref oMissing);
    oWordApp.Visible = true;
    }
    }

    ورد رو باز میکنه ولی داخلش مینویسه system.byte[]؟؟؟
    یک سوال دیگه هم دارم اونم اینکه من می خوام چندین سوال (سوالات استخراجی از بانک) رو داخل یک فایل ورد نمایش بدم .چطور میتونم اینکار رو انجام بدم که محتوای چندین فایل ذخیره شده رو بخونه و داخل یک فایل دیگه قرار بدم؟؟؟

صفحه 1 از 2 12 آخرآخر

تاپیک های مشابه

  1. چه کنیم که فایل word داخل فرم باز بشه نه خارج از فرم؟
    نوشته شده توسط مهدی رحیم زاده در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: پنج شنبه 04 اسفند 1390, 09:26 صبح
  2. باز كردن پنجره internet explorer داخل فرم
    نوشته شده توسط b.mahsa در بخش VB.NET
    پاسخ: 2
    آخرین پست: یک شنبه 02 خرداد 1389, 10:21 صبح
  3. باز کردن یک فایل txt داخل فرم
    نوشته شده توسط IC_prog در بخش Foxpro
    پاسخ: 2
    آخرین پست: چهارشنبه 01 خرداد 1387, 16:38 عصر
  4. باز شدن منو پس از لود فرم
    نوشته شده توسط انگوران در بخش Access
    پاسخ: 21
    آخرین پست: چهارشنبه 13 دی 1385, 11:34 صبح
  5. باز کردن یک عکس از داخل فرم
    نوشته شده توسط شاپرک در بخش Access
    پاسخ: 1
    آخرین پست: شنبه 11 تیر 1384, 09:24 صبح

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

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