学习游戏辅助制作:VBS的Execute语句

2025-11-10 04:53:40

1、小编之前考认证的时候遇到这样的一个题目:a = 1 : execute ("a=2*a"),a的值为?A:3B:1C:2D:4

2、 >>疑问:

       很多同学,同样也遇到了这道题,其中有好多童鞋的第一反应和小编是一样的:execute是什么?          直觉告诉我它一定是一个很牛逼的东西,于是迫不及待的去翻了按键命令库,命令库上说execute是对指定的字符串执行正则表达式搜索。 什么跟什么啊?越看越晕,完全不知道这道题该怎么解答。

3、>>解惑:

 其实呢,题目中的execute并不是命令库中的execute方法,而是vbs里的 execute语句。

Execute语句

功能:执行一个或多个指定的语句。语法:  Execute statements   

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

注意:  Execute 语句,statements 参数支持部分按键函数,不支持执行按键中的命令库命令、不支持线程BeginThread语句            ——Execute 是vbs语句,而命令库里的函数,是使用按键语言编写的,execute语句无法直接执行它。

题目中 execute ("a=2*a")       a = 2*a 可以有两种解释。首先是作为赋值语句,将 2*a 的值赋予 a。其次是作为表达式,测试a 和 2*a 的值是否相等。如果相等,结果为 True;否则,结果为 False。Execute 语句总是使用第一种解释,而 Eval 方法总是使用第二种。    

Execute 语句例子:

a=1

Execute("a =2*a")

TracePrint a

输出的结果为:2  

Eval 语句例子:

a=1

If Eval("a =2*a") Then

    TracePrint "相等"

Else

    TracePrint "不相等"

End  if

输出的结果为:不相等

4、>>知识拓展:

  

 1、 使用execute语句,无法执行带有引号的语句

例子1:

Execute "KeyPress "3", 1"  

运行之后,提示:语法错误:脚本 我的脚本1 ,第1行,第20个字符:(错误码0)没有找到合法的符号。怎么办?

学习游戏辅助制作:VBS的Execute语句

5、代码:

Execute "KeyPress " & "51" &",1"

 例子2:

Execute "runapp "notepad.exe""

运行之后,提示:语法错误:脚本 我的脚本1 ,第4行,第19个字符:(错误码0)没有找到合法的符号。        解决方法: 使用chr(34)来代替"         代码:

Execute "runapp " & chr(34) & "notepad.exe"& chr(34)

 2、无法调用按键插件命令

例子:

Execute "Call Plugin.File.DeleteFile("G:\test\字库.txt")" //调用File文件插件的删除文件命令

首先,需要将表达式中的”用chr(34)替换掉,如下:

  Execute "Call Plugin.File.DeleteFile(" & chr(34) & "G:\test\字库.txt"& chr(34)&") "

可是,运行之后还是提示错误:缺少对象: 'Plugin'    

 为什么会有这样的提示呢? 是这样的,咱们的execute是vbs语句,而在vbs语句中要调用插件,是需要先建立插件对象的

6、 代码如下:

  Set x=CreateObject("QMPlugin.File")

  Execute "x.DeleteFile(" & chr(34) & "G:\test\字库.txt"& chr(34)&") "

 

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢