Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何与JACOB一起更改活动的MS Word窗口?_Java_Ms Word_Jacob - Fatal编程技术网

Java 如何与JACOB一起更改活动的MS Word窗口?

Java 如何与JACOB一起更改活动的MS Word窗口?,java,ms-word,jacob,Java,Ms Word,Jacob,我正在使用雅各布图书馆。我可以创建一个新的activeXComponent(“Word.Application”)实例,然后打开一些文件。如何获取已打开文件的实例 在MS Word宏中,我可以使用窗口(“name.doc”).Activate,其中“name.doc”表示文件名。如何在JACOB中做到这一点?首先打开文档 Dispatch document1 = Dispatch.call(documents, "Open", "name.doc").toDispatch(); 然后,您可以打

我正在使用雅各布图书馆。我可以创建一个新的
activeXComponent(“Word.Application”)
实例,然后打开一些文件。如何获取已打开文件的实例


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

首先打开文档

Dispatch document1 = Dispatch.call(documents, "Open", "name.doc").toDispatch();
然后,您可以打开其他文档,并希望再次控制“name.doc”的document1

你只需要打个电话

Dispatch.call(document1, "Activate");

首先打开文档

Dispatch document1 = Dispatch.call(documents, "Open", "name.doc").toDispatch();
然后,您可以打开其他文档,并希望再次控制“name.doc”的document1

你只需要打个电话

Dispatch.call(document1, "Activate");

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

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代码。我需要很多时间才能让它正常工作,所以我希望我能帮助任何人。

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

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代码。我需要很多时间来完成这项工作,所以我希望我能帮助任何人。

这不是你的问题的答案,但你可能要考虑COM4J。许多人使用雅各伯报告了内存泄漏(我自己的经历被不断的JVM崩溃所困扰):这不是你的问题的答案,但是你可能要考虑COM4J。很多人都使用jacob报告了内存泄漏(我自己的经验是经常发生JVM崩溃):知道如何获取活动文档的路径/名称吗?或者获取其全文?知道如何获取活动文档的路径/名称吗?还是获取全文?