2009-08-18 23 views
5

¿Alguna utilidad útil para verificar la sintaxis de VBScript sin ejecutar realmente el script?Comprobando la sintaxis de VBScript

Lo que quiero llegar es que si hago algo como:

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

¿Existe una herramienta que me diga que el '& &' debería ser 'Y' y el '==' , solo '='?

Respuesta

1

En realidad, creo que hay una manera. The Script Control incluye un método Execute similar al método Eval de HTML VBScript. Puedes darle una cadena y verificará la sintaxis.

Aún puede obtenerlo aquí. http://www.microsoft.com/downloads/details.aspx?FamilyID=d7e31492-2595-49e6-8c02-1426fec693ac&displaylang=en

Este viejo artículo de MSDN describe cómo agregar scripts a sus aplicaciones. http://msdn.microsoft.com/en-us/magazine/cc302278.aspx

MSDN en el artículo Algo Script Control http://msdn.microsoft.com/en-us/library/aa227633(VS.60).aspx

como esta .. (no estoy seguro de la creación de instancias)

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

Voy a tener que darle una oportunidad. Gracias. –

+1

enlace roto ..... –

0

Visual Studio (seguro de 2005) hará resaltado de sintaxis y le dará IntelliSense para dlls registrados, lo que lo acerca mucho a la sintaxis verificada.

Aparte de eso, es un lenguaje interpretado, por lo que hay mucho que puedes hacer. Incluso el mejor de los casos solo garantiza un estado de "funciona en mi máquina".

0

no creo theres ningún convertidor disponible por desgracia pero teniendo en cuenta que la sintaxis de VBScript es bastante fácil es probable que pueda convertir con bastante facilidad

0

estoy buscando la misma cosa. Si está trabajando con vbscript en el contexto de asp, hay algo llamado http://aspclassiccompiler.codeplex.com/ que aparentemente compila su ASP clásica en asp.net.

Como creo que esto da algún tipo de error en el tiempo de compilación, creo que los errores de sintaxis se informarán durante la compilación. Aunque aún no lo he probado.

7

Si no desea ejecutar su secuencia de comandos porque no desea que realmente haga algo, entonces un método que he usado es poner una declaración "WScript.Quit" al comienzo de la secuencia de comandos (después de la Opción Explicita, si la hay), ejecútelo usando cscript.exe o wscript.exe.

Por ejemplo:

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

Esto no va a capturar variables no definidas (como "tipo" arriba), pero es una manera fácil y rápida de comprobar que usted tiene la sintaxis correcta.