0

情况如下:

Macro Foo 在文件 foo.vss 中定义 Macro Bar 在文件 bar.vsd 中定义。

Bar() 在某些时候应该调用 Foo()。那可能吗?

如果有帮助:
foo.vss 是在 bar.vsd 中打开的模板文件。

仅供参考:
他们强迫我使用 Visio/vba。它是一个奇怪的旧系统,可以从图表中生成 SQL,真的很难看。

4

2 回答 2

1

以前从未使用过 visio,但快速浏览后我得到了这些用于 excel vba 的内容;我不确定它是否适合你,但试试看:

http://www.vbaexpress.com/kb/getarticle.php?kb_id=279
http://www.xtremevbtalk.com/showthread.php?t=139135

于 2009-11-03T23:48:29.340 回答
1

这是可能的,在包含代码的文档上使用 ExecuteLine 方法。

因此,在您的示例中,它将类似于:

Visio.Documents("Foo.vss").ExecuteLine "Foo"

我已经多次使用它来从 Excel 调用 Visio 宏,并且效果很好。ExecuteLine 似乎它会执行几乎任何你可以从即时窗口执行的东西,所以你实际上是在传递一行有效的 VBA 代码......

希望有帮助

于 2009-11-04T14:17:08.423 回答