在形状内调用带有输入参数的子过程

Call a subprocedure with an input argument inside a shape

我的目标是在 MS VISIO 应用程序的形状内调用宏(输入形状的特定信息)。

宏是打开特定形状的PDF数据表(我的框图中的元素)。

我有一个从特定形状触发宏的想法,即插入动作部分并使用 运行addon 函数到 运行 子过程(使用 shell 打开一个特定的 PDF 文件)。

问题:

如何将形状的参数(字符串类型)(在我的例子中是该形状的 PDF 文件名)传递给子过程?如果可以的话,我可以打开每个形状对应的数据表。

如何在每个形状中保存输入参数值(字符串类型)?

我如何在 VBA 子过程中调用它们?

Visio 有 hyperlinks。您只需在指向 PDF 的形状中添加一个 hyperlink,菜单项操作和点击行为将自动添加。

因此,单击 Ctrl+K 添加超级link,或使用 "insert" 菜单。 您还可以通过编程方式添加 hyperlink,或通过 linking 到数据源(如 excel)。您还可以构建 link 的 URL 作为公式,变形数据,如形状文本。

如果你还想用vba宏来做,你可以试试CALLTHIS函数:https://docs.microsoft.com/en-us/previous-versions/office/developer/office-2003/aa212649(v=office.11)?redirectedfrom=MSDN#example-1