Проверка синтаксиса VBScript

любые хорошие утилиты для проверки синтаксиса VBScript без фактического запуска сценария?

Я имею в виду, если я сделаю что-то вроде:

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

есть ли инструмент, который скажет мне, что "& & "действительно должно быть" и "и"==", просто"="?

5 ответов


на самом деле, я думаю, есть способ. Элемент управления Script включает метод Execute, аналогичный методу Eval HTML VBScript. Вы можете дать ему строку, и она будет проверять синтаксис.

вы все еще можете получить его здесь. 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” 

Если вы не хотите запускать свой скрипт, потому что вы не хотите, чтобы он действительно что-то делал, то один из методов, который я использовал, - это вставить "WScript.Оператор Quit " в начале скрипта (после опции Explicit, если она есть), затем запустите ее с помощью cscript.exe или wscript.исполняемый.

например:

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

Это не будет захватывать неопределенные переменные (например, "тип" выше), но это простой и быстрый способ проверить, что у вас есть правильный синтаксис.


Visual Studio (2005 наверняка) сделает подсветку синтаксиса и даст вам IntelliSense для зарегистрированных DLL, что очень близко к проверенному синтаксису.

кроме этого, это интерпретируемый язык, поэтому вы можете сделать только так много. Даже лучший сценарий гарантирует только состояние "он работает на моей машине".


Я не думаю, что какой-либо конвертер доступен, к сожалению, но, учитывая, что синтаксис vbscript довольно прост, вы, вероятно, можете конвертировать его довольно легко


Я ищу то же самое. Если вы работаете с vbscript в контексте asp, есть что-то под названиемhttp://aspclassiccompiler.codeplex.com/ который, по-видимому, компилирует ваш классический asp в asp.net.

поскольку я считаю, что это дает какие-то ошибки времени компиляции, я думаю, что синтаксические ошибки будут сообщаться во время компиляции. Хотя еще не пробовал.