检查VBScript语法

Sco*_*owe 7 syntax vbscript wsh

有没有用于验证VBScript语法而没有实际运行脚本的任何好工具?

我得到的是,如果我做了类似的事情:

If (year == "2005" && type == 1) Then
...
End If
Run Code Online (Sandbox Code Playgroud)

是否有工具可以告诉我'&&'应该是'And'和'==',只是'='?

int*_*ame 8

如果您不想运行脚本,因为您不希望它实际执行任何操作,那么我使用的一种方法是在脚本开头放入"WScript.Quit"语句(在选项之后)如果有,则显式,然后使用cscript.exe或wscript.exe运行它.

例如:

Option Explicit
WScript.Quit
Dim year
If (year == "2005" && type == 1) Then
    WScript.Echo "Hello"
End If
Run Code Online (Sandbox Code Playgroud)

这不会捕获未定义的变量(如上面的"类型"),但它是一种简单,快速的方法来检查您是否拥有正确的语法.


sso*_*ell 0

其实我觉得还是有办法的。脚本控件包括一个类似于 HTML VBScript 的 Eval 方法的 Execute 方法。你可以给它一个字符串,它会对其进行语法检查。

\n\n

您仍然可以从此处获取它。\n http://www.microsoft.com/downloads/details.aspx?FamilyID=d7e31492-2595-49e6-8c02-1426fec693ac&displaylang=en

\n\n

这篇旧的 MSDN 文章介绍了如何向您的应用程序添加脚本。\n http://msdn.microsoft.com/en-us/magazine/cc302278.aspx

\n\n

有关脚本控件的 MSDN 文章\n http://msdn.microsoft.com/en-us/library/aa227633(VS.60).aspx

\n\n

像这样的东西..(不确定实例化)

\n\n
Dim ScriptControl1 as New MSScript\nScriptControl1.ExecuteStatement \xe2\x80\x9cIf (year == "2005" && type == 1) Then..End If\xe2\x80\x9d \n
Run Code Online (Sandbox Code Playgroud)\n