VBScript (abreviatura de Visual Basic Script Edition) es un lenguaje interpretado por el Windows Scripting Host de Microsoft. Su sintaxis refleja su origen como variación del lenguaje de programación Visual Basic. Ha logrado un apoyo significativo por parte de los administradores de Windows como herramienta de automatización, ya que, conjunta y paralelamente a las mejoras introducidas en los sistemas operativos windows donde opera fundamentalmente, permite más margen de actuación y flexibilidad que el lenguaje batch (o de proceso por lotes) desarrollado a finales de los años 1970 para el MS-DOS.
El crecimiento del uso de las tecnologías de internet ha supuesto un significativo avance para este lenguaje, dado que es parte fundamental de la ejecución de aplicaciones de servidor programadas en ASP (Active Server Pages), las cuales están en auge en el período 1997-2003, declinando actualmente en favor de tecnologías de código gestionado y máquinas virtuales, más seguras en la ejecución de procesos, y por tanto, más adaptadas para ejecuciones en entornos públicamente accesibles y distribuidos. Microsoft ha intentado competir mediante esta tecnología también en entornos de cliente, donde el lenguaje más utilizado es Javascript o su versión estandarizada ECMAScript, sin éxito. Actualmente microsoft no ha puesto a disposición pública nuevas versiones del lenguaje, en favor de la tecnología .NET en la que se incluye el lenguaje hermano Visual Basic, dentro del entorno de ejecución de la plataforma .NET (CLR, o Common Language Runtime). Sin embargo sigue siendo muy útil en gestión de estaciones de trabajo y servidores en windows.
VBScript es interpretado por el motor de scripting vbscript.dll, que puede ser invocado por el motor ASP asp.dll en un entorno web, por wscript.exe en un entorno Windows de interfase gráfica, por cscript.exe es un entorno de línea de comandos y por iexplorer.exe cuando se trata de scripts a nivel de cliente (similar al javascript). Cuando el código fuente VBScript se guarda en ficheros independientes, éstos tienen típicamente la extensión .vbs
.
Cuando se emplea en Internet Explorer, VBScript funciona de forma muy similar a JavaScript, procesando código contenido en el documento HTML. VBScript también puede usarse para crear aplicaciones HTML independientes (extensión .hta
), que necesitan Internet Explorer 5.0 o superior para poder ser ejecutados. Los desarrolladores de aplicaciones en web suelen preferir JavaScript debido a su mayor compatibilidad con otros navegadores de Internet, ya que VBScript sólo está disponible para el navegador de Microsoft Internet Explorer, y no en otros como Firefox o Opera.
VBScript es el lenguaje usado para escribir algunos famosos gusanos de red, como I Love You. Esto se debe a varias razones. Primero, el icono parecido a un pergamino que representa a los ficheros .vbs
puede llevar a pensar a los usuarios inexpertos que se trata de un fichero de texto. Segundo, es fácil escribir un gusano informático en VBScript que se propague por correo electrónico (se necesitan pocas líneas de código). Microsoft ha solucionado los agujeros de seguridad explotados por dichos programas maliciosos. Este solucionado no significa erradicado, solo ha complicado el proceso; pues si por ejemplo el I Love You se propagaba a traves del Outlook, ahora si se utiliza el mismo método sale un mensaje de advertencia, por lo que se suele emplear métodos como el envío mediante un servidor smtp (bastante más complejo de programar que por el otro método).
VBScript es compatible y se puede usar tal cual en VB6, a excepción de las funciones siguientes, que tiene su similar en VB6 y difieren (ninguna más):
Execute (no existe en VB6, y no tiene similar)
Do...Loop Until (en este caso se cambia el orden poniendo Do Until...Loop)
VBScript.Sleep (esto se sustituye por una API llamada Sleep).
VBScript.Quit (se sustitutye por UnLoad Me)
Por lo demás, ambos son exactamente idénticos, es más VB6 amplia la base que se ha aprendido en VBScript. Se recomienda fervientemente pues a los programadores de VB6 (nunca es tarde) que aprendan este simple y sencillo lenguaje.