Вызов Sub или Function, содержавшегося в модуле с помощью “CallByName” в VB/VBA

Легко вызвать функцию в classModule использование 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
9
задан Jeff B 2 May 2012 в 18:26
поделиться

1 ответ

CallByName работает только с объектами класса.

Если ваша подпрограмма находится в стандартном модуле, вы можете сделать это:

Sub Main()
    Module1.Func1
End Sub

Если это функция, вы, вероятно, захотите захватить возвращаемое значение; примерно так:

Sub Main()
    Dim var
    var = Module1.Func1
End Sub
2
ответ дан 4 December 2019 в 23:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: