C # Открытие документа Word через службу Windows - PullRequest
1 голос
/ 10 марта 2011

У меня проблема при открытии документа Word 2007 (DOCX) через службу Windows (запущена с учетной записью с правами администратора).

        object fileNameO = templateFilename;

        _application.Visible = visible;
        _application.DisplayAlerts = WdAlertLevel.wdAlertsNone;

        //opening document
        _document = _application.Documents.OpenNoRepairDialog(ref fileNameO,
                                              ref _missing,
                                              ref _truevalue,
                                              ref _missing,
                                              ref _missing,
                                              ref _missing,
                                              ref _missing,
                                              ref _missing,
                                              ref _missing,
                                              ref _missing,
                                              ref _missing,
                                              ref _missing,
                                              ref _missing,
                                              ref _missing,
                                              ref _missing,
                                              ref _missing);
        //activating document
        _document.Activate();

_document in _document.Activate (); is null (System.NullReferenceException: ссылка на объект не установлена ​​для экземпляра объекта.)

Я пытался открыть методами Open и OpenNoRepairDialog.

Это довольно странно, потому что когда я пытаюсь запустить поток (сервис) в консольном приложении, все работает нормально!

Просьба помочь:)

Ответы [ 5 ]

1 голос
/ 12 июня 2014

Запуск dcomcnfg.exe (Службы компонентов)

Затем Корень консоли-> Службы компонентов-> Компьютеры-> Мой компьютер-> Конфигурация DCOM-> Документ Microsoft Word-> Щелкните правой кнопкой мыши (Свойства) -> Вкладка «Идентификация»

Затем выберите интерактивного пользователя вместо запускающего пользователя . При установке этого MSWord будет выполняться с правами пользователя, который в настоящее время вошел в систему.

0 голосов
/ 30 января 2019

Создайте следующий каталог: C: \ Windows \ SysWOW64 \ Config \ systemprofile \ Desktop

0 голосов
/ 30 января 2019

Я перепробовал все вышеперечисленное и ничего не получалось. Создание следующего каталога работало для меня в Windows 10.

mkdir C: \ Windows \ SysWOW64 \ config \ systemprofile \ Desktop

Системный профиль требует папку рабочего стола для открытия файлов Office (Word, Excel и т. Д.)

Теперь я могу запускать свое приложение на C # как сервис, используя LocalSystem.

Взгляните на Автоматизация Office через Windows Service на сервере 2008

0 голосов
/ 06 марта 2012

Введите dcomcnfg в командной строке и нажмите Enter;найдите и выберите Microsoft Word Document в списке приложений, затем нажмите кнопку Свойства;Примечание. Если у вас Windows 2003 \ 2008, введите в командной строке dcomcnfg, разверните группу «Службы компонентов», раскройте группу «Компьютеры», раскройте группу «Мой компьютер», раскройте группу «Конфигурация DCOM», найдите и выберите Microsoft Word Document-> right.щелчок мыши-> Свойства.щелкните вкладку «Удостоверение».Установите флажок «Этот пользователь», нажмите «Обзор» и укажите учетную запись администратора;введите и повторно введите пароль администратора;

http://www.neevia.com/support/examples/cr/?get=ex002aspnet

0 голосов
/ 10 марта 2011

проверьте безопасность приложения com +, чтобы выяснить, есть ли у вашей учетной записи службы соответствующие разрешения для Word

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...