這種情況如下:如何調用在不同文件中定義的VBA宏?
Macro Foo在File foo.vss中定義 Macro Bar在File bar.vsd中定義。 Bar()在某些時候應該稱爲Foo()。 這可能嗎?
如果有幫助:
foo.vss是在bar.vsd中打開的模板文件。
供參考:
他們迫使我使用Visio/vba。它是一個奇怪的舊系統,從圖中生成SQL,非常難看。
這種情況如下:如何調用在不同文件中定義的VBA宏?
Macro Foo在File foo.vss中定義 Macro Bar在File bar.vsd中定義。 Bar()在某些時候應該稱爲Foo()。 這可能嗎?
如果有幫助:
foo.vss是在bar.vsd中打開的模板文件。
供參考:
他們迫使我使用Visio/vba。它是一個奇怪的舊系統,從圖中生成SQL,非常難看。
這是可能的,使用在包含代碼的文檔ExecuteLine方法。
所以,在你的榜樣,將是這樣的:
我用這個頗有幾分從調用的Visio宏
Visio.Documents(「Foo.vss」)ExecuteLine「富」。 Excel和它的工作很好。 ExecuteLine好像會執行幾乎任何你可以從即時窗口執行的任何事情,所以你實際上正在傳遞一行有效的VBA代碼...
希望可以幫到
以前從來沒有使用visio,但快速瀏覽讓我這些爲excel vba;我不知道這是否會爲你工作,但嘗試一下:
http://www.vbaexpress.com/kb/getarticle.php?kb_id=279
http://www.xtremevbtalk.com/showthread.php?t=139135