Resumen VBScript

Mensaje enviado por "Diego Buendía" <diegobb@teleline.es>

Hola, habitante...:

    Te cuento lo que se de VBScript.

    VBScript es un lenguaje de programación extremadamente parecido a VB.
Entiendo que es un subconjunto de VB en tanto que tiene algunas simplificaciones. La más llamativa a priori es que las variables no son tipadas, es decir, todas son Variants y se declaran sin 'AS ...'. Sin embargo, sintácticamente es exactamente igual, siendo éste un extremo que facilita mucho su aprendizaje y uso.

    VBScript es un lenguaje que puede usarse en diferentes entornos. Esto es
lo que crea confusión. Se puede usar en un servidor Web, dentro de las llamadas Active Server Pages (ASP). Se puede usar en las páginas HTML, como Script de Cliente. Y se puede usar dentro del Window Scripting Host, que es una extensión del sistema operativo Windows que habilita a éste para reconocer y ejecutar archivos VBS a modo de nuevos archivos .BAT.

VBS EN ASP:

    Una página activa de servidor es una página HTM en la cual insertas código de script que se ejecuta ANTES de enviar la página al cliente. Esto es un ejemplo de VBS en una página ASP:

* DEFAULT.ASP

<@ LANGUAGE=VBScript RUNAT=Server>
<% Dim x, i For i=1 To 5 Response.Write "Hola
" Next %>
    Cuando el usuario llama a esta página ASP, el servidor interpreta las líneas de código entre los tags <% ... %> y las ejecuta. Las restantes líneas HTML se envían directamente al buffer de salida. Dentro del Script, sólo se envía a la salida lo que sigue a las instrucciones Response.Write. De modo que en el buffer de salida (el que recibe el cliente) se recibe lo siguiente:

Hola
Hola
Hola
Hola
Hola

    Conclusión: el código VBS incluido en la página ASP no sale del servidor. Sólo se envía el resultado de los procesos incluidos en dicho código.

    Existe confusión acerca del VBS existente en ASP, y es el que se deriva del uso del objeto Response y los otros objetos típicos de ASP: Request, Session, Application y Server. Estos objetos son ActiveX que modelan el servidor Web para que puedas manejarlo desde VBS, pero no son parte del lenguaje VBS, del mismo modo que no diríamos que la jerarquía de objetos de Excel es parte de VB. Lo que ocurre es que, en el entorno ASP, dichos objetos son accesibles de una forma directa, mientras que otros objetos
ActiveX deben crearse mediante (p.ej.)

Dim xObj
Set xObj = Server.CreateObject("ADODB.Recordset")
...
    Naturalmente, para usar VBS en scripts del lado servidor tendrás que conocer los objetos ASP, pero esa es otra historia.

VBS EN LADO CLIENTE

    La misma sintaxis <% ... %> que se usa en scripts del lado servidor se usan en el lado cliente. Es el mismo VBS. La diferencia es que en el lado cliente no tienes acceso a los objetos de servidor Response, Request... En el lado cliente lo que puedes programar es el objeto Navegador, que tiene su propia jerarquía de objetos (bastante más compleja que la del lado servidor): Frames, Windows, History, Links.... Puedes ver scripts de cliente en muchas páginas Web, dado que este código se envía tal cual al cliente.

VBS EN WSH

    Si usar Windows 98, posiblemente tengas ya instalado el WSH. Para saberlo, crea un fichero .VBS en el Escritorio y observa el icono resultante. El icono VBS es diferente del estandar de Windows para ficheros en general. En otro caso, se puede bajar sin costo desde Microsoft. El enlace actual a WSH es el siguiente:

http://msdn.microsoft.com/scripting/default.htm?/scripting/windowshost/download/default.htm

    Si tienes WSH instalado, prueba a crear un PRUEBA.VBS tal como sigue

MsgBox "Hola"

    Esto debe presentar un MsgBox con un simple doble click sobre el fichero. WSH te permite usar todos los recursos de VBS desde un fichero de texto, sin compilar, sin entorno de desarrollo. La sintaxis es VBS (una declaración Dim x as string genera un error), pero la potencia es la de VB, desde el momento en que tienes un comando CreateObject(...) que te permite instanciar cualquier objeto accesible desde VB. Este es otro ejemplo más potente de lo que puedes hacer con un fichero VBS:

*** PRUEBA EXCEL.VBS ****

dim x
set x = createobject("Excel.Application")
x.visible = true
x.workbooks.add
x.cells(1,1).value = "Dieguito estuvo aquí"
MsgBox "Ha funcionado (supongo)"
x.quit
set x = nothing

    En fin, espero que este rollo te aclare las ideas. De cualquier modo, te recomiendo la dirección de MS que te puse antes (y las que hay por allí alrededor en http://msdn.microsoft.com/scripting/default.htm para que puedas ampliar esta información.

Un saludo a todos y perdón por la extensión de esta carta.

Diego Buendía
Barcelona, Spain
diegobb@teleline.es



Resumen Resumen

Visual Basic Página de Visual Basic

Página principal Página principal

www.jrubi.com