2009-08-18 4 views
5

Gibt es irgendwelche guten Dienstprogramme für die Überprüfung der VBScript-Syntax, ohne das Skript tatsächlich auszuführen?Überprüfen der VBScript-Syntax

Was ich hinaus will ist, wenn ich so etwas tun:

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

Gibt es ein Tool, das mir sagen wird, dass die ‚& &‘ wirklich sein sollte ‚Und‘ und die ‚==‘ , nur '='?

Antwort

1

Eigentlich umwandeln kann, denke ich, gibt es einen Weg. Das Skriptsteuerelement enthält eine Execute-Methode, die der Eval-Methode von HTML VBScript ähnelt. Sie können ihm eine Zeichenfolge geben, und es wird Syntax überprüfen.

Sie können es immer noch von hier bekommen. http://www.microsoft.com/downloads/details.aspx?FamilyID=d7e31492-2595-49e6-8c02-1426fec693ac&displaylang=en

In diesem alten MSDN-Artikel wird beschrieben, wie Skripts zu Ihren Apps hinzugefügt werden. http://msdn.microsoft.com/en-us/magazine/cc302278.aspx

MSDN-Artikel auf dem Script Control http://msdn.microsoft.com/en-us/library/aa227633(VS.60).aspx

So etwas .. (nicht sicher, ob der Instanziierung)

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

Ich muss das eine Chance geben. Vielen Dank. –

+1

defekter Link ..... –

0

Visual Studio (2005 sicher) wird Syntax-Highlighting und geben Sie IntelliSense für registrierte DLLs, die Sie sehr nahe an der verifizierten Syntax kommt.

Abgesehen davon ist es eine interpretierte Sprache, so dass Sie nur so viel tun können. Selbst der beste Fall garantiert nur einen Zustand "es funktioniert auf meiner Maschine".

0

Ich glaube nicht, Theres jeden Konverter verfügbar leider aber wenn man bedenkt, dass Vbscript Syntax recht einfach ist wahrscheinlich Sie es ziemlich leicht

0

Ich bin auf der Suche für die gleiche Sache. Wenn Sie mit VBScript im Kontext von ASP arbeiten, gibt es etwas namens http://aspclassiccompiler.codeplex.com/, die offenbar Ihre klassische Asp in asp.net kompiliert.

Da ich glaube, dass dies eine Art von Kompilierzeit Fehler gibt, denke ich, Syntaxfehler würden während der Kompilierung gemeldet werden. Habe es noch nicht ausprobiert.

7

Wenn Sie Ihr Skript nicht ausführen möchten, weil Sie nicht möchten, dass es tatsächlich etwas tut, dann verwende ich eine Methode, die am Anfang des Skripts eine "WScript.Quit" -Anweisung enthält (Nach der Option Explicit, wenn es eine gibt), führen Sie es dann mit cscript.exe oder wscript.exe aus.

Zum Beispiel:

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

Dies wird nicht undefinierte Variablen erfassen (wie „Typ“ oben), aber es ist eine einfache, schnelle Möglichkeit, Sie zu überprüfen haben die richtige Syntax bekommen.