VBScriptを使用していますが、文字列変数に格納されている関数名を呼び出す方法はありますか?
これが私の試みですか?
a = "b"
sub b()
msgbox "c"
end sub
a()
しかし、それは常にエラーになります
タイプの不一致'a'
正解は次のとおりです。次のようにGetRef()を使用します。
Function F(p)
F = p + p
End Function
Dim FP : Set FP = GetRef("F")
WScript.Echo FP("a")
WScript.Echo FP(123)
出力:
aa
246
たとえば、これは機能するはずです。
Dim a
a = "Call b()"
Eval(a)
Sub b
' Do stuff
End Sub
Dim x
Sub b
print "xxx"' Do stuff
End Sub
x = "call b()"
Execute(eval("x"))