java - 如何通过 JACOB 库更改 Visio 中的 Activity 页面

标签 java visio jacob

我可以使用 Visio 中的 VBA 代码(使用宏记录器)将 Visio 中的 Activity 页面从 X 页面更改为页面“主”

Application.ActiveWindow.Page = Application.ActiveDocument.Pages.ItemU("Main")

我尝试使用 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);

关于java - 如何通过 JACOB 库更改 Visio 中的 Activity 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9911434/

相关文章:

java - 如何使用 URL 在 Android 中设置图标

java - 如何识别实现未使用?

java - Visio XML 解析

Java、Jacob 和 Microsoft Word : how to properly handle events?

java - 发送收到的 spring FilePart 而不保存

java - Intellij 提示 must either be declared abstract or implement abstract method '$init$()' in 'Plugin'

vba - 如何在Word VBA中提取形状坐标

visio - 在Visio中,如何获得正常外观的箭头? (线箭头不是三角形的)

java - 错误: Could not find or load main class openWordDocument

java - 使用 JACOB (Java) 保存 Word 文档