Start Domino service and word
我想从 Lotus Script 中的代理修改 word 文档。 Domino 服务器作为具有管理员用户计数的服务启动。 Word 文档附加在 Lotus Notes 文档中。我将文档提取到 Domino 可以访问的文件夹中。
当 Domino 服务器(作为服务)运行该进程时,Domino 会显示错误。但是当我将 Domino 服务器作为应用程序启动时,该进程运行良好并且没有出现任何错误。
脚本代码如下:
1 2 3 4 5 6 7 | 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)"
首先,Microsoft 完全不支持在服务器上运行 Word。
解决这个问题的快速而肮脏的方法是不将 Domino 作为服务运行。服务无法与 OLE 所需的 UI 交互。
这样做的缺点是,如果 Windows 服务器重新启动,则需要手动重新启动 Domino 服务器。
正确的方法是使用 docx4j 或 Apache POI 之类的库在 java 中执行您需要的操作。由于除了打开 word doc 之外您没有包含任何代码,因此我无法进一步评论什么是合适的库。