2

VBScriptを使用していますが、文字列変数に格納されている関数名を呼び出す方法はありますか?

これが私の試みですか?

a = "b"

sub b() 
    msgbox "c"
end sub

a()

しかし、それは常にエラーになります

タイプの不一致'a'

4

3 に答える 3

16

正解は次のとおりです。次のように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
于 2012-10-29T18:33:08.500 に答える
4

たとえば、これは機能するはずです。

Dim a
a = "Call b()"
Eval(a)

Sub b
   ' Do stuff
End Sub
于 2012-10-29T16:31:52.357 に答える
-3
Dim x

Sub b

 print "xxx"' Do stuff
End Sub

x = "call b()"

Execute(eval("x"))
于 2015-05-04T13:30:16.923 に答える