如何在没有加载项的情况下从.NET启动MS Office Word?

时间:2009-03-03 20:58:26

标签: c# ms-office

我正在使用MS Office 2003 PIA从c#创建MS Word文档。

ApplicationClass officeApplication = new ApplicationClass();

有没有办法指定我不希望使用此方法加载任何办公室加载项?

编辑:

我知道可以通过命令行执行此操作,因此我非常确定必须有一种方法可以通过代码执行此操作:

"C:\Program Files\Microsoft Office\Office11\Winword.exe" /a  

2 个答案:

答案 0 :(得分:6)

此代码卸载AddIns

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");

答案 1 :(得分:2)

试试这个

System.Diagnostics.Process.Start(
  @"C:\Program Files\Microsoft Office\Office11\Winword.exe", 
  @"/a");