Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.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 Library更改Visio中的活动页面_Java_Visio_Jacob - Fatal编程技术网

Java 如何通过JACOB Library更改Visio中的活动页面

Java 如何通过JACOB Library更改Visio中的活动页面,java,visio,jacob,Java,Visio,Jacob,我可以使用Visio中的VBA代码(带有宏记录器)在Visio中更改活动页,例如从X页更改为“主页” 我尝试用JACOB库用java翻译它 visio.projects = new ActiveXComponent("Visio.Application"); visio.projects.setProperty("Visible", new Variant(true)); Dispatch documents = new ActiveXComponent(visio.project

我可以使用Visio中的VBA代码(带有宏记录器)在Visio中更改活动页,例如从X页更改为“主页”

我尝试用JACOB库用java翻译它

visio.projects = new ActiveXComponent("Visio.Application"); 
visio.projects.setProperty("Visible", new Variant(true));
Dispatch documents = 
     new ActiveXComponent(visio.projects.getProperty("Documents").toDispatch());
Dispatch.call(documents, "open", new Variant(fileName));
// up now a try for vba Code Translation
Dispatch activeWindow = Dispatch.get(visio.projects,"ActiveWindow").toDispatch();
Dispatch page = Dispatch.get(activeWindow, "page").toDispatch();
Dispatch activeDocument = Dispatch.get(visio.projects, "ActiveDocument").toDispatch();
Dispatch pages = Dispatch.get(activeDocument, "Pages").toDispatch();
//Dispatch actualPage = Dispatch.call(pages, "ItemU", new Variant("Main")).toDispatch(); // goes wrong
// What is next???

我正在尝试完成它,但直到现在我还没有改进。

它与此代码一起工作

// up now a try for vba Code Translation
ActiveXComponent activeWindow = new ActiveXComponent(visio.projects.getProperty("ActiveWindow").toDispatch());  
ActiveXComponent activeDocument = new ActiveXComponent(visio.projects.getProperty("ActiveDocument").toDispatch());
ActiveXComponent pages = new ActiveXComponent(activeDocument.getProperty("Pages").toDispatch());
Dispatch itemU = ActiveXComponent.call(pages, "itemU", "Main").toDispatch();
activeWindow.setProperty("Page", itemU);
// up now a try for vba Code Translation
ActiveXComponent activeWindow = new ActiveXComponent(visio.projects.getProperty("ActiveWindow").toDispatch());  
ActiveXComponent activeDocument = new ActiveXComponent(visio.projects.getProperty("ActiveDocument").toDispatch());
ActiveXComponent pages = new ActiveXComponent(activeDocument.getProperty("Pages").toDispatch());
Dispatch itemU = ActiveXComponent.call(pages, "itemU", "Main").toDispatch();
activeWindow.setProperty("Page", itemU);