我正在使用JACOB库。我可以创建activeXComponent("Word.Application")的新实例,然后打开一些文件。如何获取已经打开的文件的实例?

在MS Word宏中,我可以使用Windows("name.doc").Activate,其中“ name.doc”代表文件名。如何在JACOB中完成?

最佳答案

您可以连接到正在运行的Word-Application:

val com_wordApp: ActiveXComponent = ActiveXComponent.connectToActiveInstance("Word.Application")


这是scala代码。我不确定,但是在Java中应该是

ActiveXComponent com_wordApp = ActiveXComponent.connectToActiveInstance("Word.Application")


然后,您可以访问活动文档,例如获得书签:

val bookMarks: Dispatch = Dispatch.call(com_wordApp.getProperty("ActiveDocument").toDispatch, "Bookmarks").toDispatch


或者您可以获取所有文档:

val com_documents: AnyRef = com_wordApp.getProperty("Documents").toDispatch


对不起,scala代码。我需要很多时间才能开始工作,所以我希望可以为任何人提供帮助。

08-05 20:51