Excel VBA中,同一個應用程序下面包括多個工作簿,每個工作簿都有自己獨立的VBAProject
在同一個VBA工程中,使用Call即可調用其他模塊中的過程和函數,例如:
Call Module2.Proc2
要注意:Call后面必須書寫模塊名或過程名,而不是雙引號包起來的字符串。
當然也可以使用Excel的Application.Run “Module2.Proc2”調用另一個模塊中的過程。
如果要調用另一個VBA工程中的過程和函數,Call就不好使了,需要使用Run,只不過要在模塊前面加上被調用的工程名稱。
下面假設我的Excel有個加載宏“VBA引用管理工具.xlam”,它的模塊ABC下面有如下代碼:

加載宏的ABC模塊中包含一個Msg過程,一個Add函數,還有兩個API函數。
然后在Excel中新建一個工作簿1,工作簿1的模塊中書寫代碼用於調用上述幾個函數:

運行Test1,結果如下:

Test2、Test3運行正常,結果略。
注意:並非所有Office組件的Application均有Run方法,例如Outlook的Application沒有Run方法。
