执行存储在变量中的函数

时间:2016-12-02 06:13:16

标签: vbscript

是否可以执行一个函数,其定义存储在VBScript中的变量中? 例如:

Set fun = "Sub fun" & 
          " MsgBox 1" &
          "End Sub"

变量fun具有函数定义,所以现在可以使用eval或其他方式以某种方式执行此函数吗?

1 个答案:

答案 0 :(得分:2)

可以使用ExecuteGlobal()

Dim cmd : cmd = "Sub fun()" & vbCrLf & "MsgBox 1" & vbCrLf & "End Sub"
'Call ExecuteGlobal() to add the fun() procedure definition into the global scope.
Call ExecuteGlobal(cmd)
'Call the procedure now it's defined.
Call fun()
  

注意:根据使用的上下文,清理用于构建ExecuteGlobal()语句的任何输入是明智的,因为它可能会注入不需要的代码。