当前位置: 首页 > 图文教程 > 脚本技术 > VBScript > VBS教程:VBscript语句-Execute 语句

VBScript
vbs在网页中显示服务
vbs得没公开对象
unpack.vbs
使用批处理文件异地备份数据库(最近几天的数据)
VBScript 中的字节数据操作函数
切换dos并dir的vbs
杀毒的对vbs相当敏感 免杀
多进程的vbs脚本
Windows管理脚本学习
15分钟提醒一次,珍惜时间啊
从一个VBS脚本学习一点点东西
exe2swf 工具(Adodb.Stream版)
使用脚本自动修改ip设置
深入挖掘Windows脚本技术
用VBSCRIPT控制ONSUBMIT事件
VBS中Select CASE的其它用法
vbscript 可以按引用传递参数吗?
下载文件到本地运行的vbs
飘叶千夫指源代码,又称qq刷屏器
SendKeys参考文档

VBScript 中的 VBS教程:VBscript语句-Execute 语句


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-11   浏览: 45 ::
收藏到网摘: n/a

Execute 语句

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

Execute statements

所需要的 statements 参数是一个字符串表达式,其中包含一个或多个要执行的语句。 如果要在 statements 参数中包含多条语句,应使用分号或嵌入的分行将其分隔开。

说明

在 VBScript 中,x = y 可以有两种解释。首先是作为赋值语句,将 y 的值赋予 x。其次是作为表达式,测试xy 的值是否相等。如果相等,结果True;否则,结果FalseExecute 语句总是使用第一种解释,而 Eval 方法总是使用第二种。

注意 在 Microsoft(R) Visual Basic Scripting Edition 中并不存在赋值与比较之间的混淆,因为赋值运算符(=)与比较运算符(==)是不同的。

调用 Execute 语句的上下文确定了要运行的代码可以使用的对象和变量。作用域内的对象和变量是 Execute 语句中运行的代码可以使用的。不过,必须明白的一点是,如果被执行的代码创建了过程,那么该过程将不会继承它所在的过程的作用域。

与其他过程类似,新的过程的作用域是全局的,它继承了全局作用域的全部东西。与其他过程不同的是,它的上下文不是全局作用域,因此它只能在发生 Execute 语句的过程内的上下文中执行。不过,如果相同的 Execute 语句是在过程之外(例如在全局作用域)的作用域中被调用,那么它将不仅继承全局作用域中的所有东西,而且它还可以在任何地方被调用,因为它的上下文是全局的。下面的例子说明了这种特点:

Dim X ' 在全局作用域中声明 XX = "Global" ' 将全局的 X 赋值。Sub Proc1 ' 声明过程。 Dim X ' 在局部作用域中声明 X X = "Local" ' 对局部的 X 赋值。 ' 此处的 Execute 语句建立了一个过程, ' 在调用该过程时它将打印 X' 它打印的将是全局 X,因为 Proc2 ' 继承了全局作用域中的一切。 Execute "Sub Proc2: Print X: End Sub" Print Eval("X") ' 打印本地 X Proc2 '  Proc1 的作用域中调用 Proc2End SubProc2 ' 本行将导致一个错误,因为 ' Proc2  Proc1 之外是不可使用的。Proc1 ' 调用 Proc1 Execute "Sub Proc2: Print X: End Sub"Proc2 ' 这句话可以成功,因为 Proc2 ' 现在是全局可用的。

下面的例子显示了如何将 Execute 语句改写,免于将整个过程包含在引号内:

S = "Sub Proc2" & vbCrLfS = S & " Print X" & vbCrLf S = S & "End Sub"Execute S