Запустите службу Domino и слово - PullRequest
0 голосов
/ 16 октября 2019

Я хочу изменить текстовый документ от агента в Lotus Script. Сервер Domino запускается как служба с количеством пользователей с правами администратора. Документ Word прилагается в документе Lotus Notes. Я извлекаю документ в папку, к которой Domino имеет доступ. Когда сервер Domino (как служба) запускает процесс, Domino отображает ошибку. Но когда я запускаю сервер Domino как приложение, процесс работает хорошо и не выдает никакой ошибки. Код скрипта следующий:

Set rtItem = doc_perfil.GetFirstItem(campo)
Set obj = rtitem.EmbeddedObjects(0) 
sFile = RUTA + "\" + ReplaceSubstring(nameNewFile, "/", "-") + ".docx"
Call obj.ExtractFile(sFile)
OLE_OBJECT = "word.application"     
Set Word = CreateObject (OLE_OBJECT)
Set templt = Word.Documents.Add (sFile)

Строка, которая выдает ошибку: " Set templt = Word.Documents.Add (sFile) "

1 Ответ

1 голос
/ 17 октября 2019

Во-первых, Microsoft не поддерживает запуск Word на сервере.

Быстрый и грязный способ - не запускать Domino как сервис. Служба не может взаимодействовать с пользовательским интерфейсом, который необходим для OLE.

Недостатком этого является то, что Domino Server необходимо будет перезапустить вручную, если сервер Windows когда-либо перезагрузится.

Правильный способ сделать это - сделать то, что вам нужно в Java, используябиблиотека типа docx4j или Apache POI. Поскольку вы не включили никакого кода, кроме открытия слова doc, я не могу комментировать, что будет подходящей библиотекой.

...