使用CallByName在類模塊內調用函數很容易 標準模塊內部的函數如何?使用VB/VBA中的「CallByName」調用模塊中包含的子或函數
''#inside class module
''#classModule name: clsExample
Function classFunc1()
MsgBox "I'm class module 1"
End Function
''#
''#inside standard module
''#Module name: module1
Function Func1()
MsgBox "I'm standard module 1"
End Function
''#
''# The main sub
Sub Main()
''# to call function inside class module
dim clsObj as New clsExample
Call CallByName(clsObj,"ClassFunc1")
''# here's the question... how to call a function inside a standard module
''# how to declare the object "stdObj" in reference to module1?
Call CallByName(stdObj,"Func1") ''# is this correct?
End Sub
你不能。查找'Application.Run',它可以在標準模塊中使用例程。 – jtolle 2010-04-23 00:15:30
由於你的'函數'不是重新調整值,你應該使用'Sub'而不是'Function'。 'Call'從不需要,你可以直接寫'CallByName clsObj,「ClassFunc1」'。要調用一個標準模塊中的功能FUNC1就是這麼簡單'Func1' - 使用合適的限定在聲明中如果需要的話 – barrowc 2010-04-23 05:57:35