vbscript
  • syntax
  • wsh
  • 2009-08-18 93 views 5 likes 
    5

    有没有用于验证VBScript语法而不实际运行脚本的任何优秀实用程序?检查VBScript语法

    什么我得到的是,如果我这样做:

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

    是否有一个工具,它会告诉我,“& &”确实应该是“和”和“==” ,只是'='?

    回答

    1

    其实,我觉得有一种方法将其转换。脚本控件包含一个类似于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/library/aa227633(VS.60).aspx

    像这样的事情 http://msdn.microsoft.com/en-us/magazine/cc302278.aspx

    MSDN文章..(不知道该实例化)

    Dim ScriptControl1 as New MSScript 
    ScriptControl1.ExecuteStatement “If (year == "2005" && type == 1) Then..End If” 
    
    +0

    我将不得不放弃一下。谢谢。 – 2009-09-25 18:41:26

    +1

    断开连接..... – 2016-01-20 15:11:17

    0

    的Visual Studio(2005肯定)会做语法高亮和给你的智能感知已注册的dll,这让你非常接近验证的语法。

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

    0

    我不觉得孤单任何转换器可用的不幸,但考虑到VBScript的语法是相当容易的,你也许可以很容易

    0

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

    因为我相信这给某种编译时错误的,我认为语法错误会在编译期间进行报告。尽管如此,还没有尝试过。

    7

    如果你不希望运行脚本,因为你不希望它实际上做任何事情,然后我用一个方法是把一个“WScript.Quit”语句在脚本的开始(在Option Explicit之后,如果有的话),然后使用cscript.exe或wscript.exe运行它。

    例如:

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

    这不会捕捉未定义的变量(如上面的“类型”),但它是一个简单,快捷的方法来检查你有正确的语法。

    相关问题