神剑山庄资源网 Design By www.hcban.com

ExecuteGlobal 语句

执行一个功多个在脚本全局名字空间中指定的语句。

ExecuteGlobal statement

statement 参数是一个包含一个或多个可执行语句的字符串表达式 。在statement 参数中可以包含多条语句, 使用冒号将其分开。

说明

在 VBScript 中, x = y 有两种解释方法。第一种方法是作为一条赋值语句, 将 y 的值赋给 x。第二种方法是作为一个表达式 ,用于测试 xy 是否具有相同的值。如果它们相等,则结果为 True; 如果他们不相等,其结果为 False.ExecuteGlobal 语句总是使用第一种方法,而 Eval 方法总是使用第二种方法。

注意  在 Microsoft? Visual Basic Scripting Edition?中, 赋值与比较之间不存在混消,因为赋值运算符(=) 不同于比较运算符。

在脚本的全局名字空间中,ExecuteGlobal 中的所有语句都有是可执行的。因此,允许您将代码添加到程序中,以便于任何 过程 能够对其进行访问。例如,一个 VBScript Class 语句在运行时可以执行。随之函数创造此类的一个新实例。

在运行时添加过程和类是非常有用的,但是也可能导致在运行时覆盖已有的全局 变量 和函数。因为这可能导致非常严重的程序问题,因此,当使用 ExecuteGlobal 语句时一定得非常谨慎。如果您无需访问过程之外的变量或函数,最好使用Execute 语句,因为它只影响主调函数的名字空间。

下面的例子解释了 ExecuteGlobal 语句的用法。

Dim X         ' 声明 X 为全局变量。X = "Global"      ' 给全局变量 X 赋值。Sub Proc1   ' 声明过程。  Dim X      ' 在局部变量中声明 X  X = "Local"   ' 给局部变量 X 赋值。         ' 此处的可执行语句         ' 创建一个过程, 当被调用时, 打印 X。         ' 此处将打印全局变量 X 的值,因为 Proc2         ' 继承了全局变量中的一切。  ExecuteGlobal "Sub Proc2: 打印 X: End Sub"  Print Eval("X")   ' 打印局部 X  Proc2      ' 在全局作用区域中调用 Proc2          ' 将打印 "Global" End SubProc2         ' 此行将导致错误          ' 因为 Proc2  Proc1 之外是不可用的。Proc1         ' 调用 Proc1  Execute "Sub Proc2: 打印 X: End Sub"Proc2         ' 此行调用成功,因为 Proc2         ' 在全局作用区域中是可用的。

下面的例子演示了 ExecuteGlobal 语句可以被重写,因此您无需将下面的整个过程都包括在引用标记之内。

S = "Sub Proc2" & vbCrLfS = S & "  Print X" & vbCrLf S = S & "End Sub"ExecuteGlobal S
标签:
|VB|BS|S教|教程|程V|VB|Bs|sc|cr|ri|ip|pt|t语|语句|句E|Ex|xe|ec|cu|ut|te|eG|Gl|lo|ob|ba|al|l语|语句|句|

神剑山庄资源网 Design By www.hcban.com
神剑山庄资源网 免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
神剑山庄资源网 Design By www.hcban.com

评论“VBS教程:VBscript语句-ExecuteGlobal 语句”

暂无VBS教程:VBscript语句-ExecuteGlobal 语句的评论...

稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!

昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。

这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。

而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?