Es ist einfach, eine Funktion in einem classModule mit CallByName aufzurufen Wie wäre es mit Funktionen innerhalb des Standardmoduls?Aufruf eines Subs oder einer Funktion in einem Modul mit "CallByName" in VB/VBA
''#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
Sie können nicht. Suchen Sie nach 'Application.Run', das mit Routinen in Standardmodulen funktioniert. – jtolle
Da Ihre "Funktionen" keine Werte neu abstimmen, sollten Sie "Sub" anstelle von "Function" verwenden. 'Call' wird nie benötigt, Sie könnten einfach' CallByName clsObj, 'ClassFunc1 '' schreiben. Um Func1 innerhalb eines Standardmoduls aufzurufen, ist Func1 so einfach wie 'Func1' - verwenden Sie entsprechende Modifikatoren in der Deklaration, um den Bereich bei Bedarf zu ändern. – barrowc