Как я могу запустить MS Office Word из .NET без надстроек?

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

  •  03-07-2019
  •  | 
  •  

Вопрос

Я использую MS Office 2003 PIA для создания документа MS Word на c #.

ApplicationClass officeApplication = new ApplicationClass();

Есть ли какой-нибудь способ указать, что я не хочу, чтобы какие-либо надстройки office загружались с использованием этого метода?

Редактировать:

Я знаю, что это можно сделать через командную строку, поэтому я почти уверен, что должен быть способ сделать это из кода:

"C:\Program Files\Microsoft Office\Office11\Winword.exe" /a  
Это было полезно?

Решение

Этот код выгружает дополнения

officeApplication.AddIns.Unload(false);

Отредактированный:

Когда вам нужно совместить запуск процесса и возможность использования интерфейса office "приложение", вам необходимо Маршал.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