java - 如何使用 JACOB 更改 Activity 的 MS Word 窗口?

标签 java ms-word jacob

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

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

最佳答案

您可以连接到正在运行的 Word 应用程序:

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

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

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

然后您可以访问 Activity 文档,例如获取书签:

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

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

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

对 scala 代码感到抱歉。我需要很多时间来完成这项工作,所以我希望我可以帮助任何人。

关于java - 如何使用 JACOB 更改 Activity 的 MS Word 窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5392376/

相关文章:

java - 设置处理 vector 的恒定速度

Java 运行时.exec()

pdf - 如何使用 Acrobat SDK 将 PDF 转换为 Word?

java - ProgID和文件扩展名关系

java - JAVA中通过JACOB读取BSTR

java - 我可以从 Jacob 设置 hwnd 吗?

java - 尝试使用资源,如果未捕获抛出的异常,资源是否会清理?

java - 创建一个字符和对象数组?

C# Office Development : Microsoft. Office.Tools.Word.Controls.Button 给出错误

vba - 突出显示(而不是删除)重复的句子或短语