调用存储在字符串变量中的函数名?

时间:2012-10-29 16:23:26

标签: function vbscript

我正在使用VBScript,我想知道是否有办法调用存储在字符串变量中的函数名?

这是我的尝试?

a = "b"

sub b() 
    msgbox "c"
end sub

a()

但它总是会导致错误

  

输入不匹配'a'

3 个答案:

答案 0 :(得分:15)

正确答案是:使用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

答案 1 :(得分:3)

似乎像是这应该有效:

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

Sub b
   ' Do stuff
End Sub

答案 2 :(得分:-3)

Dim x

Sub b

 print "xxx"' Do stuff
End Sub

x = "call b()"

Execute(eval("x"))