我想从Lotus Script的代理程式修改Word文件。Domino服务器以管理员使用者计数的服务启动。Word文件附加在Lotus Notes文件中。我将文件解压缩到Domino可以存取的文件夹中。当Domino服务器(as service)运行该进程时,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)
产生错误的行是“设置模板= Word.文档.添加(sFile)”
2条答案
按热度按时间s71maibg1#
首先,Microsoft完全不支持在服务器上运行Word。
解决这个问题的一个快速而又肮脏的方法是不要将Domino作为一个服务来运行。服务不能与OLE所需的UI交互。
这样做的缺点是,如果Windows服务器重新启动,则需要手动重新启动Domino服务器。
正确的方法是使用docx4j或Apache POI这样的库在java中完成您需要的工作。由于除了打开word doc之外,您没有包含任何代码,因此我无法进一步评论什么是合适的库。
ulmd4ohb2#
在第行代码中,Set templt = Word.Documents.Add(sFile)Add,不带参数,请尝试word.documents.open
如果Domino未作为服务运行,但仍然发生错误,请将代理的安全级别更改为3(以完全管理员权限运行)