Java JACOB:无法从MS Word获取信息属性

Java JACOB:无法从MS Word获取信息属性,java,com,ms-word,jacob,Java,Com,Ms Word,Jacob,我目前正在使用这个伟大的工具Jacob,但我得到了一些非常奇怪的东西。读取MS Word文件时,我将文档标记化,并且对于我获得的每个标记,我还希望获得页码和行号。 奇怪的是,只有当我自己启动MSWord并从Jacob那里获得实例时,它才会起作用。如果Java启动一个新实例,我就无法获得这些信息。另一点是,我从文件中获得了许多信息,这些信息非常有用,因此似乎唯一的问题是如何处理信息属性 我的部分代码是: ActiveXComponent myApplication = ActiveXCompone

我目前正在使用这个伟大的工具Jacob,但我得到了一些非常奇怪的东西。读取MS Word文件时,我将文档标记化,并且对于我获得的每个标记,我还希望获得页码和行号。 奇怪的是,只有当我自己启动MSWord并从Jacob那里获得实例时,它才会起作用。如果Java启动一个新实例,我就无法获得这些信息。另一点是,我从文件中获得了许多信息,这些信息非常有用,因此似乎唯一的问题是如何处理信息属性

我的部分代码是:

ActiveXComponent myApplication = ActiveXComponent.connectToActiveInstance("Word.Application");
if (myApplication == null) {
  myApplication = new ActiveXComponent("Word.Application");
}
Dispatch myDocuments = myApplication.getProperty("Documents").toDispatch();
Dispatch myDocument = getOpenedDocument(myDocuments, pFilePath);

例如,当我尝试时:

myText = Dispatch.get(myParagraphRange, "Text").toString();
我得到了段落的内容。但是:

int myPageNumber = Dispatch.call(myParagraphRange, "Information", 3).getInt();
如果且仅当MSWord不是我自己启动的,我会:

com.jacob.com.ComFailException: A COM exception has been encountered:
At Invoke of: Information
Description: Le serveur a généré une exception.

“信息”属性似乎与Word有问题???

终于找到了我的代码的问题所在。 对于未知就绪,要获取属性信息,不应强制文档不可见。 当您使用打开文档时

Dispatch.call(lObjDocuments, "Open", myPath, new Variant(false)....");
我的最后一个参数涉及Word进程的可见性。刚刚删除它,它的工作(感谢微软)

Dispatch.call(lObjDocuments, "Open", myPath, new Variant(false)....");