2016-12-02 73 views
0

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

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

变量fun具有的功能定义等是现在可能以某种方式进行使用eval或别的东西这个功能呢?

+0

如果你在帮助中查找'eval',它会告诉你底部的相关函数。尝试一下。 – 2016-12-02 06:40:32

+0

我认为这是Execute语句。 – sauram1234

+0

使用'调用ExecuteGlobal(“sub fun()”&vbCrLf&“msgbox 1”&vbCrLf&“end sub”)'。这将动态创建过程fun(),但你仍然需要在之后调用它。 – Lankymart

回答

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()声明,因为它可能是可能注入有害代码。

相关问题