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