VBS --函数Eval和Execute的使用和区别

来源:互联网 发布:戴尔xps13 9360 知乎 编辑:程序博客网 时间:2024/05/16 12:39

一、Eval函数:定义为计算一个表达式的值并返回结果。

 注意,这里的定义虽然区区几个字,但是要仔细理解其几点含义:

1、首先这个函数是有返回值

2、返回值是通过计算Eval传递的参数

3、这个参数必须是一个表达式。

例如:

a = 1
val1 = "a=1"
MsgBox Eval(val1)

分析:

1、首先Eval有返回值,所以要有一个传递值,这里用msgbox函数显示其结果。

2、val1这个参数的值是一个表达式(a=1),因为我们在第一行定义了a=1,所以这里返回判断应该为true。

扩展代码:

val1 = """>>>""&now"
MsgBox Eval(val1)

这里会返回这个时间值,如:>>>2012-07-04 : 17:25:25。 Eval在这个案例里,是计算了now这个函数表达式。

 

二、Execute函数:

执行一个或多个指定的语句。

这个函数很好理解,就是执行变量里的表达式。

例如:

val1 = "msgbox now"
Execute val1

这里就是执行一行msgbox now

例如:

val1 = "call funtest() : function funtest() : a=9 : msgbox a : end function"
Execute val1

这里就是执行多行代码call funtest() : function funtest() : a=9 : msgbox a : end function,返回a的值9

 

总结Eval 和 Execute的区别:

1、相同点是他们都会执行参数里的表达式。

2、不同点在于Eval是返回一个值,而Execute是用来执行一串代码。