Declaraciones varias de VBScript

VBScript tiene algunas otras declaraciones importantes para ayudar a los desarrolladores a desarrollar un script eficiente. La siguiente tabla enumera un conjunto de declaraciones tan importantes. En este capítulo, discutiremos cada una de estas declaraciones en detalle con ejemplos.

Categoría Nombre de función / Nombre de declaración
Opciones Opción explícita
ID del motor de secuencia de comandos ScriptEngine
variantes IsArray, IsEmpty, IsNull, IsNumeric, IsObject, TypeName
Expresión Evaluar, ejecutar
Declaración de control Con ... terminar con
Función matemática Aleatorizar

Opción explícita

Option Explicit obliga al desarrollador a declarar las variables usando Dim declaración antes de que se utilicen en alguna parte del código.

Sintaxis

Option Explicit

Ejemplo

Si usamos Option Explicit y si no declaramos las variables, el intérprete arrojará un error.

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Option Explicit
         Dim x,y,z,a
         x = 10
         y = 20
         z = fnadd(x,y)
         a = fnmultiply(x,y)

         Function fnadd(x,y)
            fnadd = x+y
         End Function

      </script>
   </body>
</html>

ScriptEngine

ScriptEnginerepresenta los detalles del lenguaje de secuencias de comandos en uso. También se utiliza en combinación conScriptEngineMajorVersion, ScriptEngineMinor Version, ScriptEngineBuildVersion que proporciona la versión principal del motor vbscript, la versión secundaria del motor vbscript y la versión de compilación de vbscript respectivamente.

Sintaxis

ScriptEngine

Ejemplo

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim scriptdetails
         scriptdetails =  " Version " & ScriptEngine & " - "
         'For getting Major version, use ScriptEngineMajorVersion'
        
         scriptdetails = scriptdetails &  ScriptEngineMajorVersion & "."
        
         'For getting Minor version, use ScriptEngineMinorVersion'
         scriptdetails = scriptdetails & ScriptEngineMinorVersion & "."
        
         'For getting Build version, use ScriptEngineBuildVersion'
         scriptdetails = scriptdetails & ScriptEngineBuildVersion 
        
         Document.write scriptdetails

      </script>
   </body>
</html>

Guarde el archivo con la extensión .html al ejecutar el script en IE, el siguiente resultado se muestra en la pantalla.

Version VBScript - 5.8.16996

Esta vacio

La función IsEmpty se usa para verificar si la expresión está vacía o no. Devuelve un valor booleano.IsEmptydevuelve True si la variable no está inicializada o se establece explícitamente en Empty. De lo contrario, la expresión devuelve False.

Sintaxis

IsEmpty(expression)

Ejemplo

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim var, MyCheck
         MyCheck = IsEmpty(var)  
         Document.write "Line 1 : " & MyCheck & "<br />"
        
         var = Null   ' Assign Null.
         MyCheck = IsEmpty(var) 
         Document.write "Line 2 : " & MyCheck & "<br />"
         
         var = Empty   ' Assign Empty.
         MyCheck = IsEmpty(var)
         Document.write "Line 3 : " & MyCheck & "<br />"
        
      </script>
   </body>
</html>

Guarde el archivo con la extensión .html al ejecutar el script en IE, el siguiente resultado se muestra en la pantalla.

Line 1 : True
Line 2 : False
Line 3 : True

Es nulo

La función IsNull se usa para verificar si la expresión tiene datos válidos o no. Devuelve un valor booleano.IsNull devuelve True si la variable es Null; de lo contrario, la expresión devuelve False.

Sintaxis

IsNull(expression)

Ejemplo

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim var, res
         res = IsNull(var)
         document.write "Line 1 : " & res & "<br />"
         
         var = Null
         res = IsNull(var)
         document.write "Line 2 : " & res & "<br />"
         
         var = Empty
         res = IsNull(var)
         document.write "Line 3 : " & res & "<br />"

      </script>
   </body>
</html>

Guarde el archivo con la extensión .html al ejecutar el script en IE, el siguiente resultado se muestra en la pantalla.

Line 1 : False
Line 2 : True
Line 3 : False

IsObject

La función IsObject se utiliza para comprobar si la expresión tiene un objeto válido o no. Devuelve un valor booleano.IsObject devuelve True si la expresión contiene un subtipo de objeto; de lo contrario, la expresión devuelve False.

Sintaxis

IsObject(expression)

Ejemplo

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
        Dim fso,b
        b = 10
        set fso = createobject("Scripting.Filesystemobject")
        
        x = isobject(fso)
        Document.write "Line 1 : " &  x  & "<br />" 
        
        y = isobject(b)
        Document.write "Line 2 : " &  y  & "<br />" 

      </script>
   </body>
</html>

Guarde el archivo con la extensión .html al ejecutar el script en IE, el siguiente resultado se muestra en la pantalla.

Line 1 : True
Line 2 : False

IsNumeric

La función IsNumeric se utiliza para comprobar si la expresión tiene un subtipo de número. Devuelve un valor booleano.IsObject devuelve True si la expresión contiene un subtipo de número; de lo contrario, la expresión devuelve False.

Sintaxis

IsNumeric(expression)

Ejemplo

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim var, chk
         var = 20
         chk = IsNumeric(var)
         Document.write "Line 1 : " &  chk  & "<br />" 
        
         var = "3.1415935745"   
         chk = IsNumeric(var)   
         Document.write "Line 2 : " &  chk  & "<br / >" 
        
         var = "20 Chapter 23.123 VBScript"   
         chk = IsNumeric(var)
         Document.write "Line 3 : " &  chk  & "<br / >" 

      </script>
   </body>
</html>

Guarde el archivo con la extensión .html al ejecutar el script en IE, el siguiente resultado se muestra en la pantalla.

Line 1 : True
Line 2 : True
Line 3 : False

Escribe un nombre

La función TypeName se utiliza para devolver la información de subtipo de variante de la variable.

Sintaxis

TypeName(varname)

La función Typename puede devolver cualquiera de los siguientes valores.

  • Byte - Valor de byte

  • Entero - Valor entero

  • Long - Valor entero largo

  • Valor de punto flotante de precisión simple

  • Doble: valor de punto flotante de precisión doble

  • Moneda - Valor de moneda

  • Decimal - Valor decimal

  • Fecha: valor de fecha u hora

  • Cadena: valor de la cadena de caracteres

  • Booleano - Valor booleano

  • Vacío: valor no inicializado

  • Nulo: no hay datos válidos

  • Objeto: nombre de tipo del objeto

  • Nada: variable de objeto que aún no hace referencia a una instancia de objeto

  • Error

Ejemplo

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim ArrVar(2), vartype
         NullVar = Null   ' Assign Null value.

         vartype = TypeName(3.1450)     
         Document.write "Line 1 : " &  vartype  & "<br />" 
         
         vartype = TypeName(432)         
         Document.write "Line 2 : " &  vartype  & "<br />" 
         
         vartype = TypeName("Microsoft")
         Document.write "Line 3 : " &  vartype  & "<br />" 
         
         vartype = TypeName(NullVar)   
         Document.write "Line 4 : " &  vartype  & "< br />" 
         
         vartype = TypeName(ArrVar)    
         Document.write "Line 5 : " &  vartype  & "<br />"

      </script>
   </body>
</html>

Guarde el archivo con la extensión .html al ejecutar el script en IE, el siguiente resultado se muestra en la pantalla.

Line 1 : Double
Line 2 : Integer
Line 3 : String
Line 4 : Null
Line 5 : Variant()

Eval

La función Eval ejecuta una expresión y devuelve el resultado como una cadena o un número.

Sintaxis

Eval(expression)

El argumento Expresión puede ser una expresión de cadena o un número. Si pasa a la función Eval una cadena que no contiene una expresión numérica o un nombre de función, sino solo una cadena de texto simple, se produce un error en tiempo de ejecución. Por ejemplo, Eval ("VBScript") da como resultado un error.

Ejemplo

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Document.write Eval("10 + 10") & "<br />"
         Document.write Eval("101 = 200") & "<br />" 
         Document.write Eval("5 * 3") & "<br />" 

      </script>
   </body>
</html>

Guarde el archivo con la extensión .html al ejecutar el script en IE, el siguiente resultado se muestra en la pantalla.

20
false
15

Ejecutar

La instrucción Execute acepta un argumento que es una expresión de cadena que contiene una o más instrucciones para su ejecución.

Sintaxis

Execute(expression)

En VBScript, a = b se puede interpretar de dos formas. Puede tratarse como una declaración de asignación donde el valor de x se asigna ay. También se puede interpretar como una expresión que prueba si ayb tienen el mismo valor. Si lo hacen, el resultado es Verdadero; si no lo son, el resultado es falso. La instrucción Execute siempre usa la primera interpretación mientras que la instrucción Eval siempre usa la segunda.

Ejemplo

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim x
         x = "Global" 
         y = "VBScript"
         Execute("x = y")
         
         msgbox x
         msgbox y
        
      </script>
   </body>
</html>

Guarde el archivo con la extensión .html al ejecutar el script en IE, el siguiente resultado se muestra en la pantalla.

VBScript
VBScript

Con .. terminar con

La instrucción With nos permite realizar una serie de operaciones en un objeto especificado sin mencionar explícitamente el nombre del objeto una y otra vez.

Sintaxis

With (objectname)
   statement 1
   statement 2
   statement 3
   ...
   ...
   statement n
End With

Ejemplo

Al ejecutar el siguiente script, se abre Winword y se ingresa el texto especificado.

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Msg =  "Vbscript" & vbCrLf & "Programming"
         Set objWord = CreateObject("Word.Application")
         objWord.Visible = True
       
         ' Objects methods are accessed without requaliyfying the objects again.'
         With objWord
            .Documents.Add
            .Selection.TypeText Msg
            .Selection.WholeStory
         End With
         
      </script>
   </body>
</html>

Aleatorizar

La declaración Randomize inicializa el generador de números aleatorios que es útil para que los desarrolladores generen un número aleatorio.

Sintaxis

Randomize [number]

Ejemplo

Al ejecutar el siguiente script, se abre Winword y se ingresa el texto especificado.

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim MyValue
         Randomize   
         MyValue = Int((100 * Rnd) + 1)   ' Generate random value between 1 and 100.
         MsgBox MyValue
        
      </script>
   </body>
</html>

Guarde el script anterior como HTML y al ejecutar el script en IE, se muestra el siguiente resultado.

42