是否可以执行一个函数,其定义存储在VBScript中的变量中? 例如:
Set fun = "Sub fun" &
" MsgBox 1" &
"End Sub"
变量fun
具有函数定义,所以现在可以使用eval或其他方式以某种方式执行此函数吗?
答案 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()
语句的任何输入是明智的,因为它可能会注入不需要的代码。