8

有什么好的实用程序可以在不实际运行脚本的情况下验证 VBScript 语法吗?

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

If (year == "2005" && type == 1) Then
...
End If

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

4

5 回答 5

8

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

例如:

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

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

于 2012-03-17T12:00:07.933 回答
0

Visual Studio(肯定是 2005 年)将进行语法突出显示,并为您提供已注册 dll 的 IntelliSense,这让您非常接近经过验证的语法。

除此之外,它是一种解释性语言,所以你能做的只有这么多。即使是最好的情况也只能保证“它在我的机器上工作”状态。

于 2009-08-18T19:55:01.993 回答
0

不幸的是,我认为没有任何转换器可用,但考虑到 vbscript 语法相当简单,您可能可以相当容易地转换它

于 2009-08-26T13:22:03.667 回答
0

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

你仍然可以从这里得到它。 http://www.microsoft.com/downloads/details.aspx?FamilyID=d7e31492-2595-49e6-8c02-1426fec693ac&displaylang=en

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

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

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

Dim ScriptControl1 as New MSScript
ScriptControl1.ExecuteStatement “If (year == "2005" && type == 1) Then..End If” 
于 2009-09-24T21:12:28.623 回答
0

我正在寻找同样的东西。如果您碰巧在 asp 的上下文中使用 vbscript,那么有一个叫做http://aspclassiccompiler.codeplex.com/的东西显然可以将您的经典 asp 编译成 asp.net。

由于我相信这会产生某种编译时错误,因此我认为在编译期间会报告语法错误。虽然还没有尝试过。

于 2010-02-27T00:46:40.777 回答