在VBS中创建动态代码块有三种方式:
- Eval
- Execute
- ExecuteGlobal
Eval:计算一个表达式的值并返回结果。
stngValue = Eval("2+3")
MsgBox stngValue
分析:”2+3″虽然是一个字符串,但是在Eval却会把它当作一个表达式 2+3 来执行。Execute:执行一个或者多个指定的脚本语句,多个语句用 “:” 隔开。
Execute "a=1:msgbox a"
分析:”a=1:msgbox a”是一个字符串,但是Execute会把其当作语句来执行。此处结果为打印1ExecuteGlobal:执行全局空间的一个或者多个指定的脚本语句,多个语句用 “:” 隔开。
Dim a
a="Global"
Function tt
Dim a
a = "function_tt"
Execute "msgbox a"
ExecuteGlobal "msgbox a"
End Function
Call tt()
分析:执行下以上脚本即会明白,在function中先是执行函数体内部的变量,打印的是function_tt,接着是执行全局变量,打印的是Global。