2009-11-03 42 views
0

這種情況如下:如何調用在不同文件中定義的VBA宏?

Macro Foo在File foo.vss中定義 Macro Bar在File bar.vsd中定義。 Bar()在某些時候應該稱爲Foo()。 這可能嗎?

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

供參考:
他們迫使我使用Visio/vba。它是一個奇怪的舊系統,從圖中生成SQL,非常難看。

回答

1

這是可能的,使用在包含代碼的文檔ExecuteLine方法。

所以,在你的榜樣,將是這樣的:

我用這個頗有幾分從調用的Visio宏

Visio.Documents(「Foo.vss」)ExecuteLine「富」。 Excel和它的工作很好。 ExecuteLine好像會執行幾乎任何你可以從即時窗口執行的任何事情,所以你實際上正在傳遞一行有效的VBA代碼...

希望可以幫到

相關問題