كيف يمكنني بدء تشغيل MS Office Word من .NET بدون الوظائف الإضافية؟

StackOverflow https://stackoverflow.com/questions/608152

  •  03-07-2019
  •  | 
  •  

سؤال

أنا أستخدم MS Office 2003 PIA لإنشاء مستند MS Word من c#.

ApplicationClass officeApplication = new ApplicationClass();

هل هناك أي طريقة لتحديد أنني لا أريد تحميل أي وظائف إضافية للمكتب باستخدام هذه الطريقة؟

يحرر:

أعلم أنه يمكن القيام بذلك عبر سطر الأوامر لذلك أنا متأكد من أنه يجب أن تكون هناك طريقة للقيام بذلك من خلال الكود:

"C:\Program Files\Microsoft Office\Office11\Winword.exe" /a  
هل كانت مفيدة؟

المحلول

يقوم هذا الرمز بإلغاء تحميل الوظائف الإضافية

officeApplication.AddIns.Unload(false);

تم التعديل:

عندما تحتاج إلى المزج بين بدء العملية وإمكانية استخدام واجهة "تطبيق" المكتب، فأنت بحاجة إلى Marshal.GetActiveObject يأمر.
مثال :

        //startup without plugins
        System.Diagnostics.Process.Start(
            @"Winword.exe",
            @"/a");
        //give a time for startup
        Thread.Sleep(2000);
        //attach to office
        Application officeApplication = (Application)Marshal.GetActiveObject("Word.Application");

نصائح أخرى

وهذه محاولة

System.Diagnostics.Process.Start(
  @"C:\Program Files\Microsoft Office\Office11\Winword.exe", 
  @"/a");
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top