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

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

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

注意   在 Microsoft? JScript? 中并不存在赋值与比较之间的混淆，因为赋值运算符(=)与比较运算符(==)是不同的。
调用 Execute 语句的上下文确定了要运行的代码可以使用的对象和变量。作用域内的对象和变量是 Execute 语句中运行的代码可以使用的。不过，必须明白的一点是，如果被执行的代码创建了过程，那么该过程将不会继承它所在的过程的作用域。

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

Dim X   ' 在全局作用域中声明 X。
X = "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 的作用域中调用 Proc2。
End Sub
Proc2   ' 本行将导致一个错误，因为
        ' Proc2 在 Proc1 之外是不可使用的。
Proc1   ' 调用 Proc1。
   Execute "Sub Proc2: Print X: End Sub"
Proc2   ' 这句话可以成功，因为 Proc2
        ' 现在是全局可用的。
下面的例子显示了如何将 Execute 语句改写，免于将整个过程包含在引号内：

S = "Sub Proc2" & vbCrLf
S = S & "   Print X" & vbCrLf 
S = S & "End Sub"
Execute S
要求
版本 1
