Я ищу ссылку на функцию, используя только строку, содержащую имя функции. Я посмотрел на callbyname и application.run, но я не уверен, где я ошибаюсь.
Есть мысли?
Option Explicit
Public Sub TestDynamic1()
Debug.Print "TestDynamic 1"
End Sub
Sub TestDynamic2()
Debug.Print "TestDynamic 2"
End Sub
Private Sub TestDynamic3()
Debug.Print "TestDynamic 3"
End Sub
Sub callTestDynamic(i As Integer)
On Error GoTo DynamicCallError
Application.Run "TestDynamic" & i
Exit Sub
DynamicCallError:
Debug.Print "Failed dynamic call: " & Err.Description
End Sub
Public Sub TestMe()
callTestDynamic 1
callTestDynamic 2
callTestDynamic 3
callTestDynamic 4
End Sub
Все, что я получаю, - это ошибки о том, что макросы не существуют.
Что я хочу сделать, это
function testFunction(functionName as string)
run functionName
end function
sub testSub()
*... some code here ...*
testFunction "test"
end sub
function test()
debug.print "This function works"
end function
Любая помощь, которую кто-либо может оказать, будет принята с благодарностью.