".
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Introducción a las expresiones regulares La información contenida en estas páginas pretende proporcionar una introducción general a las expresiones regulares. Aunque se ha intentado tratar cada tema de forma independiente, la mayor parte de la información incluida se basa en una característica o concepto presentado previamente. Por lo tanto, es aconsejable que los lea atentamente y por orden para conseguir una compresión global óptima del material. La introducción a las expresiones regulares consta de los siguientes temas: Expresiones regulares Antecedentes Usos de las expresiones regulares Sintaxis de expresión regular Construir una expresión regular Orden de precedencia Caracteres ordinarios Caracteres especiales Caracteres no imprimibles Coincidencia de caracteres Cuantificadores Delimitadores
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 34 de 264
Alternancia y agrupamiento Referencias inversas
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Expresiones regulares A menos que haya trabajado con expresiones regulares antes, es posible que no esté familiarizado con el término y el concepto. Sin embargo, probablemente sepa más acerca de este tema de lo que supone. Piense en la manera en que busca archivos en el disco duro. La mayor parte de las veces utiliza los caracteres ? y * para encontrar los archivos que busca. El carácter ? equivale a un carácter único en un nombre de archivo, mientras que * equivale a cero o más caracteres. Mediante un modelo como 'dato?.dat' encontraría los siguientes archivos: dato1.dat dato2.dat datox.dat datoN.dat Si utiliza el carácter * en lugar de ? aumentará el número de archivos encontrados. 'dato*.dat' equivale a todos los archivos siguientes: datos.dat dato1.dat dato2.dat dato12.dat datox.dat datoXYZ.dat Aunque este método de búsqueda de archivos puede ser extremadamente útil, también es muy limitado. La capacidad restringida de los caracteres comodín ? y * proporciona una idea de lo que se puede
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 35 de 264
conseguir mediante las expresiones regulares, aunque éstas son mucho más eficaces y flexibles.
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Antecedentes El origen de las expresiones regulares se remonta a las primeras investigaciones acerca del funcionamiento de sistema nervioso humano. Warren McCulloch y Walter Pitts, ambos neurofisiólogos, desarrollaron una fórmula matemática para describir las redes neuronales. En 1956, el matemático estadounidense Stephen Kleene, basándose en el trabajo anterior de McCulloch y Pitts, publicó un artículo titulado Representation of Events in Nerve Nets (Representación de los sucesos en las redes nerviosas) que introducía el concepto de las expresiones regulares. Kleene utilizó el término "expresiones regulares" para describir lo que denominaba "el álgebra de los conjuntos regulares", de ahí su nombre. Posteriormente, su trabajo influyó en algunos de los primeros intentos en el campo de los algoritmos de búsqueda computacional realizados por Ken Thompson, el principal inventor de Unix. Las expresiones regulares se aplicaron en la práctica por primera vez en el editor de Unix qed. Y el resto, como suele decirse, es historia. Las expresiones regulares han constituido un importante componente de los editores basados en texto y las herramientas de búsqueda desde el principio.
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Usos de las expresiones regulares En una operación típica de búsqueda y sustitución, el usuario debe escribir exactamente el texto que está buscando. Esta técnica puede ser adecuada para tareas simples de búsqueda y reemplazo en texto estático, pero carece de flexibilidad y hace difícil, sino imposible, la búsqueda de texto dinámico. Mediante las expresiones regulares es posible:
Comprobar un modelo incluido en una cadena. Por ejemplo, es posible comprobar si existe un
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 36 de 264
modelo de número de teléfono o de tarjeta de crédito dentro de una cadena de entrada. Esto se denomina validación de datos. Reemplazar texto. Se puede utilizar una expresión regular para identificar texto específico en un documento y quitarlo por completo o reemplazarlo con otro texto. Extraer una subcadena de una cadena en función de la coincidencia de un modelo. Puede buscar texto específico dentro de un documento o un campo de entrada.
Por ejemplo, si necesita realizar una búsqueda en todo un sitio Web para quitar material obsoleto y reemplazar algunas etiquetas de formato HTML, puede usar una expresión regular con el fin de comprobar si el material o las etiquetas de formato HTML que busca existen en un archivo determinado. De esta manera podrá limitar la búsqueda a aquellos archivos que contengan el material que debe quitarse o modificarse. A continuación, podrá utilizar una expresión regular para quitar el material obsoleto y, finalmente, podrá utilizar expresiones regulares para buscar y reemplazar las etiquetas que sea necesario sustituir. Otro ejemplo de la utilidad de las expresiones regulares se produce en un lenguaje que no se distingue por su capacidad para el tratamiento de cadenas. VBScript, un subconjunto de Visual Basic, incluye un completo conjunto de funciones de tratamiento de cadenas. Esto no ocurre en JScript, ni tampoco en C. Las expresiones regulares proporcionan una mejora sustancial en las capacidades de tratamiento de cadenas de JScript. Sin embargo, las expresiones regulares también pueden utilizarse de una forma más eficaz en VBScript, lo que permite realizar el tratamiento de varias cadenas en una expresión única.
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Sintaxis de expresión regular Una expresión regular es un modelo de texto formado por caracteres ordinarios (por ejemplo, letras de la a a la z) y caracteres especiales, conocidos como metacaracteres. El modelo describe una o varias cadenas coincidentes al buscar en un cuerpo de texto. La expresión regular se utiliza como plantilla para cotejar un modelo de caracteres con la cadena que se está buscando. A continuación se incluyen algunos ejemplos de expresiones regulares comunes: JScript /^\[ \t]*$/ /\d{2}-\d{5}/
VBScript "^\[ \t]*$" "\d{2}-\d{5}"
/<(.*)>.*<\/\1>/
"<(.*)>.*<\/\1>"
Coincidencias Coincide con una línea en blanco. Valida un número de identificador que consta de dos dígitos, un guión y otros cinco dígitos. Coincide con una etiqueta HTML.
En la tabla siguiente se incluye una lista completa de los metacaracteres y su comportamiento en el contexto de las expresiones regulares:
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Carácter \ ^ $ * + ? {n} {n,} {n,m}
?
. (modelo)
(?:modelo)
(?=modelo)
Página 37 de 264
Descripción Marca el carácter siguiente como un carácter especial, un literal, una referencia inversa o un código de escape octal. Por ejemplo, 'n' coincide con el carácter "n". '\n' coincide con un carácter de nueva línea. La secuencia '\\' coincide con "\" y "\(" coincide con "(". Coincide con la posición al comienzo de la cadena de entrada. Si se establece la propiedad Multiline del objeto RegExp, ^ también coincide con la posición que sigue a '\n' o '\r'. Coincide con la posición al final de la cadena de entrada. Si se establece la propiedad Multiline del objeto RegExp, $ también coincide con la posición que antecede a '\n' o '\r'. Coincide con la subexpresión precedente cero o más veces. Por ejemplo, zo* coincide con "z" y "zoo". * es equivalente a {0,}. Coincide con la subexpresión precedente una o más veces. Por ejemplo, 'zo+' coincide con "zo" y "zoo", pero no con "z". + es equivalente a {1,}. Coincide con la subexpresión precedente cero o una vez. Por ejemplo, "da(do)?" coincide con "da" en "da" o en "dado". ? es equivalente a {0,1} n es un entero no negativo. Coincide exactamente n veces. Por ejemplo, 'o{2}' no coincide con 'o' en "doy", pero coincide con las dos oes en "cooperar". n es un entero no negativo. Coincide al menos n veces. Por ejemplo, 'o{2,}' no coincide con "o" en "doy" pero coincide con todas las oes en "goooool". 'o{1,}' es equivalente a 'o+'. 'o{0,}' es equivalente a 'o*'. m y n son enteros no negativos, donde n <= m. Coincide al menos n veces y m como máximo. Por ejemplo, "o{1,3}" coincide con las tres primeras oes en "gooooool". 'o {0,1}' es equivalente a 'o?'. Tenga en cuenta que no puede poner un espacio entre la coma y los números. Cuando este carácter sigue inmediatamente a cualquiera de los otros cuantificadores (*, +, ?, {n}, {n,}, {n,m}), el modelo de coincidencia es no expansivo. Un modelo no expansivo coincide lo mínimo posible con la cadena buscada, mientras que el modelo expansivo predeterminado coincide tanto como sea posible con la cadena buscada. Por ejemplo, en la cadena "oooo", 'o+?' coincide con una única "o", mientras que en 'o+' coinciden con todas las oes. Coincide con cualquier carácter único excepto "\n". Para coincidir con cualquier carácter incluido '\n', utilice un modelo como '[.\n]'. Coincide con el modelo y captura la coincidencia. La coincidencia capturada se puede recuperar desde la colección Matches resultante, mediante la colección SubMatches de VBScript o las propiedades $0…$9 de JScript. Para que coincidan los caracteres paréntesis, ( ), utilice '\(' o '\)'. Coincide con el modelo pero no captura la coincidencia, es decir, es una coincidencia sin captura que no se almacena para un posible uso posterior. Es útil para la combinación de partes de un modelo con el carácter disyuntivo "or" (|). Por ejemplo, 'industr(?:ia|ias) es una expresión más económica que 'industria|industrias'. La búsqueda anticipada positiva coincide con la cadena de búsqueda en cualquier punto donde empiece una cadena que coincida con el modelo. Es una coincidencia sin captura, es decir, no se captura la coincidencia para un posible uso posterior. Por ejemplo 'Windows (?=95|98|NT|2000)' coincide con "Windows" en "Windows 2000" pero no con "Windows" en "Windows 3.1". La búsqueda anticipada no consume caracteres, es decir, después de que se produzca una coincidencia, la búsqueda de la siguiente cadena empieza inmediatamente después de la última coincidencia, no después de los caracteres que componen la cadena de búsqueda anticipada.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
(?!modelo)
x|y [xyz] [^xyz] [a-z] [^a-z] \b \B \cx \d \D \f \n \r \s \S \t \v \w \W \xn
\num
Página 38 de 264
La búsqueda anticipada negativa coincide con la cadena de búsqueda en cualquier punto donde empiece una cadena que no coincida con el modelo. Es una coincidencia sin captura, es decir, no se captura la coincidencia para un posible uso posterior. Por ejemplo 'Windows (?!95|98|NT|2000)' coincide con "Windows" en "Windows 3.1" pero no con "Windows" en "Windows 2000". La búsqueda anticipada no consume caracteres, es decir, después de que se produzca una coincidencia, la búsqueda de la siguiente cadena empieza inmediatamente después de la última coincidencia, no después de los caracteres que componen la cadena de búsqueda anticipada. Coincide tanto con x como con y. Por ejemplo, 'z|loor' coincide con "z" o con "loor". '(z|l)oor' coincide con "zoo" o con "loor". Un conjunto de caracteres. Coincide con cualquiera de los caracteres incluidos. Por ejemplo, '[abc]' coincide con 'a' en "plan". Un conjunto de caracteres negativo. Coincide con cualquier carácter no incluido. Por ejemplo, '[^abc]' coincide con 'p' en "plan". Un intervalo de caracteres. Coincide con cualquier carácter en el intervalo especificado. Por ejemplo, '[a-z]' coincide con cualquier carácter alfabético en minúsculas en el intervalo desde 'a' hasta 'z'. Un intervalo de caracteres negativo. Coincide con cualquier carácter que no esté en el intervalo especificado. Por ejemplo, '[^a-z]' coincide con cualquier carácter que no esté en el intervalo desde 'a' hasta 'z'. Coincide con un límite de palabra, es decir, la posición entre una palabra y un espacio. Por ejemplo, 'er\b' coincide con 'er' en "ceder" pero no con 'er' en "verbo". Coincide con algo que no sea un límite de palabra. 'er\B' coincide con 'er' en "verbo" pero no con 'er' en "ceder". Coincide con el carácter de control indicado por x. Por ejemplo, \cM coincide con Control-M (un carácter retorno de carro). El valor de x debe estar en el intervalo A-Z o a-z. Si no, se supone que c es un carácter literal 'c'. Coincide con un carácter de dígito. Equivalente a [0-9]. Coincide con un carácter que no es un dígito. Equivalente a [^0-9]. Coincide con un carácter avance de página. Equivalente a \x0c y \cL. Coincide con un carácter de nueva línea. Equivalente a \x0a y \cJ. Coincide con un carácter de retorno de carro. Equivalente a \x0d y \cM. Coincide con cualquier carácter de espacio en blanco: carácter espacio, tabulación, avance de página, etc. Equivalente a [ \f\n\r\t\v]. Coincide con cualquier carácter distinto de espacio en blanco. Equivalente a [^ \f\n\r\t\v]. Coincide con un carácter de tabulación. Equivalente a \x09 y \cI. Coincide con un carácter de tabulación vertical. Equivalente a \x0b y \cK. Coincide con cualquier carácter de palabra incluido el guión bajo (_). Equivalente a '[A-Za-z0-9_]'. Coincide con cualquier carácter que no sea de palabra. Equivalente a '[^A-Za-z0-9_]'. Coincide con n, donde n es un valor de escape hexadecimal. Los valores de escape hexadecimales deben tener una longitud de exactamente dos dígitos. Por ejemplo, '\x41' coincide con "A". '\x041' es equivalente a '\x04' & '1'. Permite utilizar códigos ASCII en expresiones regulares. Coincide con num, donde num es un entero positivo. Una referencia inversa a las coincidencias capturadas. Por ejemplo, '(.)\1' coincide con dos caracteres idénticos consecutivos.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
\n \nm
\nml \un
Página 39 de 264
Identifica tanto un valor de escape octal como una referencia inversa. Si a \n le preceden al menos n subexpresiones capturadas, n es una referencia inversa. En otro caso, n es un valor de escape octal si n es un dígito octal (0-7). Identifica tanto un valor de escape octal como una referencia inversa. Si a \nm le preceden al menos nm subexpresiones capturadas, nm es una referencia inversa. Si a \nm le preceden al menos n capturas, n es una referencia inversa seguida por el literal m. Si no existe ninguna de las condiciones precedentes, \nm coincide con el valor de escape octal nm cuando n y m son dígitos octales (0-7). Coincide con el valor de escape octal nml cuando n es un dígito octal (0-3) y m y l son dígitos octales (0-7). Coincide con n, donde n es un carácter Unicode expresado en la forma de cuatro dígitos hexadecimales. Por ejemplo, \u00A9 coincide con el símbolo de copyright (©).
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Construir una expresión regular Las expresiones regulares se construyen de la misma manera que las expresiones aritméticas. Es decir, se combinan expresiones pequeñas mediante varios metacaracteres y operadores a fin de crear expresiones de mayor tamaño. Para construir una expresión regular, debe situar los distintos componentes del modelo de expresión entre un par de delimitadores. En JScript, los delimitadores son un par de caracteres de barra inclinada (/). Por ejemplo: /expresión/
En VBScript, se utiliza un par de comillas ("") para delimitar expresiones regulares. Por ejemplo: "expresión"
En los dos ejemplos anteriores, el modelo de expresión regular (expresión) se almacena en la propiedad Pattern del objeto RegExp. Una expresión regular puede estar compuesta de caracteres individuales, conjuntos de caracteres, intervalos de caracteres, opciones entre caracteres o cualquier combinación de todos estos componentes.
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 40 de 264
Visual Basic Scripting Edition
Orden de precedencia Una vez que haya creado una expresión regular, ésta se evalúa de una manera muy similar a una expresión aritmética, es decir, de izquierda a derecha y con un orden de precedencia. La siguiente tabla muestra, de mayor a menor, el orden de precedencia de los distintos operadores de expresión regular. Operadores \ (), (?:), (?=), [] *, +, ?, {n}, {n,}, {n,m} ^, $, \cualquierMetacaracter |
Descripción Escape Paréntesis y corchetes Cuantificadores Delimitadores y secuencias Alternancia
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Caracteres ordinarios Los caracteres ordinarios son todos aquellos caracteres imprimibles y no imprimibles que no se han designado explícitamente como metacaracteres. Esto incluye todos los caracteres alfabéticos en mayúscula y minúscula, todos los dígitos, todos los símbolos de puntuación y otros símbolos. La forma más sencilla de expresión regular consiste en un carácter sencillo y ordinario que coincida consigo mismo en una cadena de búsqueda. Por ejemplo, un modelo de carácter único 'A' coincide con cualquier aparición de la letra 'A' en la cadena en la que se está buscando. A continuación se incluyen algunos ejemplos de modelos de expresiones regulares de un único carácter: /a/ /7/ /M/
Las expresiones regulares de carácter único equivalentes de VBScript son: "a" "7" "M"
Puede combinar varios caracteres únicos para formar una expresión mayor. Por ejemplo, la siguiente expresión regular de JScript se ha creado mediante la combinación de las expresiones de carácter único
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 41 de 264
'a', '7' y 'M': /a7M/
La expresión equivalente de VBScript es: "a7M"
Observe que no se utiliza ningún operador de concatenación. Lo único que debe hacer es colocar un carácter detrás de otro.
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Caracteres especiales Hay varios metacaracteres que requieren un tratamiento especial al intentar que coincidan. Para ello debe utilizar un carácter de escape, es decir, anteponerles un carácter de barra invertida (\). Las tablas siguientes muestran dichos caracteres especiales y su significado. Carácter especial $ () * + . [ ? \ ^
Comentarios Coincide con la posición al final de una cadena de entrada. Si se establece la propiedad Multiline del objeto RegExp, $ también coincide con la posición que antecede a '\n' o '\r'. Para que coincida el carácter $, ( ), use \$. Marca el comienzo y el final de una subexpresión. Las subexpresiones pueden capturarse para su uso posterior. Para que coincidan estos caracteres, utilice \( y \). Coincide con la subexpresión precedente cero o más veces. Para que coincida el carácter *, use \*. Coincide con la subexpresión precedente una o más veces. Para que coincida el carácter +, use \+. Coincide con cualquier carácter único excepto el carácter de nueva línea \n. Para que coincida, utilice \. Marca el comienzo y el final de una expresión de corchete. Para que [ coincida, use \[. Coincide con la subexpresión precedente cero o una vez, o indica un cuantificador no expansivo. Para que coincida el carácter ?, use \?. Marca el carácter siguiente como un carácter especial, un literal, una referencia inversa o un código de escape octal. Por ejemplo, 'n' coincide con el carácter 'n'. '\n' coincide con un carácter de nueva línea. La secuencia '\\' coincide con "\" y '\(' coincide con "(". Coincide con la posición del comienzo de una cadena de entrada, excepto cuando se usa en una expresión de corchetes, donde niega el conjunto de caracteres. Para que el carácter ^ coincida consigo mismo, use \^.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
{ |
Página 42 de 264
Marca el comienzo de una expresión de cuantificador. Para que { coincida, use \{. Indica una opción entre dos elementos. Para que | coincida, use \|.
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Caracteres no imprimibles Hay varios caracteres no imprimibles muy útiles que deben utilizarse a veces. La tabla siguiente muestra las secuencias de escape empleadas para representarlos. Carácter \cx \f \n \r \s \S \t \v
Significado Coincide con el carácter de control indicado por x. Por ejemplo, \cM coincide con Control-M (un carácter retorno de carro). El valor de x debe estar en el intervalo A-Z o a-z. Si no, se supone que c es un carácter literal 'c'. Coincide con un carácter avance de página. Equivalente a \x0c y \cL. Coincide con un carácter de nueva línea. Equivalente a \x0a y \cJ. Coincide con un carácter de retorno de carro. Equivalente a \x0d y \cM. Coincide con cualquier carácter de espacio en blanco: carácter espacio, tabulación, avance de página, etc. Equivalente a [ \f\n\r\t\v]. Coincide con un carácter que no sea de espacio en blanco. Equivalente a [^ \f\n\r\t\v]. Coincide con un carácter de tabulación. Equivalente a \x09 y \cI. Coincide con un carácter de tabulación vertical. Equivalente a \x0b y \cK.
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Coincidencia de caracteres El carácter punto (.) coincide con cualquier carácter imprimible o no imprimible único de una cadena, a excepción del carácter de nueva línea (\n). La siguiente expresión regular de JScript coincide con 'aac', 'abc', 'acc', 'adc', etc., así como con 'a1c', 'a2c', a-c' y a#c': /a.c/
La expresión regular equivalente de VBScript es:
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 43 de 264
"a.c"
Si desea que coincida una cadena que contiene un nombre de archivo en el que un punto (.) forma parte de la cadena de entrada, anteponga un carácter de barra invertida (\) al punto en la expresión regular. Por ejemplo, la siguiente expresión regular de JScript coincide con 'nombreArchivo.ext': /nombreArchivo\.ext/
En VBScript la expresión equivalente aparecería como se muestra a continuación: "nombreArchivo\.ext"
Sin embargo, estas expresiones tienen muchas limitaciones. Sólo permiten que la expresión coincida con cualquier carácter único. En muchas ocasiones, es aconsejable hacer que coincidan caracteres especificados de una lista. Por ejemplo, en el caso de un texto que contenga encabezados de capítulo expresados numéricamente como Capítulo 1, Capítulo 2, etc., es aconsejable buscar dichos encabezados.
Expresiones de corchete Para crear una lista de caracteres coincidentes, coloque uno o varios caracteres individuales entre corchetes ([ y ]). Cuando los caracteres se encierran entre corchetes, la lista se denomina expresión de corchete. Dentro de los corchetes, los caracteres ordinarios se representan a sí mismos, es decir, coinciden con una aparición de sí mismos en el texto. La mayor parte de los caracteres especiales pierden su significado cuando se incluyen en una expresión de corchete. A continuación se muestran algunas excepciones:
El carácter ']' finaliza una lista si no es el primer elemento. Para que el carácter ']' coincida en una lista, colóquelo en primer lugar inmediatamente después del carácter '[' de apertura. El carácter '\' continúa siendo el carácter de escape. Para que el carácter '\' coincida, use '\\'.
Los caracteres encerrados en una expresión de corchete sólo coinciden con el carácter único correspondiente a la posición de la expresión regular en la que aparece la expresión de corchete. La siguiente expresión regular de JScript coincide con 'Capítulo 1', 'Capítulo 2', 'Capítulo 3', 'Capítulo 4' y 'Capítulo 5': /Capitulo [12345]/
Para que los mismos encabezados de capítulos coincidan en VBScript, use la siguiente expresión: "Capitulo [12345]"
Observe que la palabra 'Capítulo' y el espacio que sigue ocupan una posición fija respecto a los caracteres encerrados entre corchetes. Así pues, la expresión de corchete se utiliza para especificar sólo el conjunto de caracteres que coincide con la posición de carácter único inmediatamente posterior a la palabra 'Capítulo' y a un espacio. Es decir, la décima posición de carácter. Si desea expresar los caracteres coincidentes con un intervalo en lugar de utilizar los propios caracteres, puede separar los caracteres inicial y final del intervalo mediante un guión (-). El valor de carácter de los caracteres individuales determina su orden relativo dentro de un intervalo. La siguiente expresión regular de JScript contiene una expresión de intervalo equivalente a la lista entre corchetes mostrada en el ejemplo anterior.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 44 de 264
/Capitulo [1-5]/
La expresión equivalente en VBScript aparecería como se muestra a continuación: "Capitulo [1-5]"
Al especificar un intervalo de esta forma, los valores inicial y final se incluyen en el intervalo. Es importante destacar que el valor inicial debe preceder al valor final de acuerdo con la ordenación Unicode. Si desea incluir el carácter guión en la expresión de corchete, realice una de las siguientes acciones:
Colóquele delante una barra inversa: [\-]
Coloque el guión al comienzo o al final de la lista entre corchetes. Las siguientes expresiones coinciden con las letras en minúsculas y con el guión: [-a-z] [a-z-]
Cree un intervalo en el que el valor del carácter inicial sea menor que el guión y el carácter final sea igual o mayor que el guión. Las siguientes expresiones regulares cumplen este requisito: [!--] [!-~]
También puede buscar todos los caracteres no incluidos en la lista o intervalo; para ello, coloque el carácter acento circunflejo (^) al comienzo de la lista. En caso de que dicho carácter aparezca en cualquier otra posición dentro de la lista, coincidirá consigo mismo, es decir, no tendrá ningún significado especial. La siguiente expresión regular de JScript coincide con los encabezados de capítulo mayores que 5: /Capitulo [^12345]/
En VBScript use: "Capitulo [^12345]"
En los ejemplos anteriores, la expresión coincide con cualquier dígito que ocupe la novena posición excepto 1, 2, 3, 4 o 5. Por ejemplo, 'Capítulo 7' es una coincidencia, al igual que 'Capítulo 9'. Las expresiones anteriores podrían representarse mediante el carácter guión (-). En JScript: /Capitulo [^1-5]/
o en VBScript: "Capitulo [^1-5]"
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 45 de 264
Las expresiones de corchete suelen utilizarse para especificar coincidencias de cualquier carácter alfabético en mayúsculas o minúsculas, o dígito. La siguiente expresión de JScript especifica este tipo de coincidencia: /[A-Za-z0-9]/
La expresión equivalente en VBScript es: "[A-Za-z0-9]"
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Cuantificadores En algunas ocasiones no se conoce el número de caracteres que deben coincidir. Para solucionar este tipo de problema, las expresiones regulares admiten el concepto de cuantificadores. Estos cuantificadores permiten especificar el número de veces que un componente dado de la expresión regular debe aparecer para que la coincidencia sea verdadera. La tabla siguiente muestra los distintos cuantificadores y su significado. Carácter * + ? {n} {n,} {n,m}
Descripción Coincide con la subexpresión precedente cero o más veces. Por ejemplo, 'zo*' coincide con "z" y "zoo". * es equivalente a {0,}. Coincide con la subexpresión precedente una o más veces. Por ejemplo, 'zo+' coincide con "zo" y "zoo", pero no con "z". + es equivalente a {1,}. Coincide con la subexpresión precedente cero o una vez. Por ejemplo, 'da(do)?' coincide con "da" en "da" o en "dado". ? es equivalente a {0,1} n es un entero no negativo. Coincide exactamente n veces. Por ejemplo, 'o{2}' no coincide con 'o' en "doy", pero coincide con las dos oes en "cooperar". n es un entero no negativo. Coincide al menos n veces. Por ejemplo, 'o{2,}' no coincide con 'o' en "doy" pero coincide con todas las oes en "goooool". 'o{1,}' es equivalente a 'o+'. 'o{0,}' es equivalente a 'o*'. m y n son enteros no negativos, donde n <= m. Coincide al menos n veces y m como máximo. Por ejemplo, 'o{1,3}' coincide con las tres primeras oes en "gooooool". 'o {0,1}' es equivalente a 'o?'. Tenga en cuenta que no puede poner un espacio entre la coma y los números.
En documentos de gran tamaño, podría haber fácilmente más de nueve capítulos, por lo que se necesita un sistema para tratar números de capítulo de dos o tres dígitos. Los cuantificadores le permitirán hacerlo. La siguiente expresión regular de JScript coincide con encabezados de capítulo con cualquier número de dígitos:
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 46 de 264
/Capítulo [1-9][0-9]*/
La siguiente expresión regular de VBScript busca la coincidencia de manera idéntica: "Capítulo [1-9][0-9]*"
Observe que el cuantificador aparece después de la expresión de intervalo. Por lo tanto, se aplica a toda la expresión de intervalo que, en este caso, sólo especifica dígitos del 0 al 9, inclusive. El cuantificador '+' no se usa en este caso, ya que no es necesario que haya un dígito en las posiciones segunda o siguiente. El carácter '?' tampoco se utiliza, ya que limita los números de capítulo a sólo dos dígitos. Al menos debe coincidir un dígito después de 'Capítulo' y un carácter de espacio. Si sabe que el número de capítulos está limitado a 99 únicamente, puede utilizar la siguiente expresión de JScript para especificar al menos un dígito, pero no más de dos. /Capítulo [0-9]{1,2}/
En VBScript, use la siguiente expresión regular: "Capítulo [0-9]{1,2}"
La desventaja de la expresión anterior es que, en el caso de que exista un número de capítulo mayor que 99, continuará coincidiendo con los dos primeros dígitos. Otra desventaja es que si alguien creara un Capítulo 0, éste coincidiría. A continuación se muestran expresiones de JScript más adecuadas para que sólo coincidan dos dígitos: /Capítulo [1-9][0-9]?/
o /Capítulo [1-9][0-9]{0,1}/
En VBScript, use las expresiones equivalentes que se muestran a continuación: "Capítulo [1-9][0-9]?"
o "Capítulo [1-9][0-9]{0,1}"
Los cuantificadores '*', '+' y '?' se denominan expansivos, es decir, coinciden con la mayor cantidad de texto posible. En algunas ocasiones no es aconsejable que esto ocurra. A veces es preferible obtener una coincidencia mínima. Supongamos, por ejemplo, que busca en un documento HTML la aparición de un título de capítulo encerrado en una etiqueta H1. El texto aparece en el documento como: Capítulo1 - Introducción a las expresiones regulares
La siguiente expresión coincide con todos los elementos comprendidos entre el símbolo menor que (<)
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 47 de 264
de apertura y el símbolo mayor que (>) del final de la etiqueta H1 de cierre. /<.*>/
La expresión regular equivalente de VBScript es: "<.*>"
Si sólo deseaba una coincidencia con la etiqueta H1 de apertura, utilice la siguiente expresión no expansiva: /<.*?>/
o "<.*?>"
Al colocar el signo '?' después de un cuantificador '*', '+' o '?', la expresión se transforma de coincidencia expansiva a no expansiva, o mínima.
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Delimitadores Hasta este momento, los ejemplos que ha visto sólo muestran cómo buscar encabezados de capítulo en todas las posiciones en que aparezcan. Cualquier aparición de la cadena 'Capítulo' seguida por un espacio y por un número podría ser un encabezado de capítulo real o, también, podría ser una referencia cruzada a otro capítulo. Puesto que los encabezados de capítulo verdaderos siempre aparecen al comienzo de una línea, deberá idear una manera de buscar sólo los encabezados y no las referencias cruzadas. Los delimitadores le permitirán lograrlo. Mediante los delimitadores es posible fijar una expresión regular al principio o al final de una línea. También permiten crear expresiones regulares que ocurran dentro, al final o al principio de una palabra. La tabla siguiente incluye la lista de delimitadores de expresión regular y su significado: Carácter ^ $
Descripción Coincide con la posición al comienzo de la cadena de entrada. Si se establece la propiedad Multiline del objeto RegExp, ^ también coincide con la posición que sigue a '\n' o '\r'. Coincide con la posición al final de la cadena de entrada. Si se establece la propiedad Multiline del objeto RegExp, $ también coincide con la posición que precede a '\n' o
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
\b \B
Página 48 de 264
'\r'. Coincide con un límite de palabra, es decir, la posición entre una palabra y un espacio. Coincide con algo que no sea un límite de palabra.
No es posible usar un cuantificador junto con un delimitador. Puesto que no puede haber más de una posición inmediatamente antes o después de un límite de palabra o nueva línea, no se permiten expresiones como '^*'. Para que un texto coincida al comienzo de una línea de texto, use el carácter '^' al comienzo de la expresión regular. No confunda este uso de '^' con su utilización dentro de una expresión de corchete. No tienen nada que ver. Para que un texto coincida al final de una línea de texto, use el carácter '$' al final de la expresión regular. Para utilizar delimitadores al buscar encabezados de capítulo, la siguiente expresión regular de JScript coincide con un encabezado de capítulo situado en el comienzo de una línea al que siguen un máximo de dos dígitos: /^Capítulo [1-9][0-9]{0,1}/
En VBScript la misma expresión regular aparecería como: "^Capítulo [1-9][0-9]{0,1}"
No sólo existe un verdadero encabezado de capítulo al comienzo de la línea, sino que es el único elemento, por lo que también debe encontrarse al final de la línea. La siguiente expresión permite garantizar que la coincidencia especificada sólo coincide con capítulos, no con referencias cruzadas. Para conseguirlo, es necesario crear una expresión que sólo coincida al comienzo o al final de una línea del texto. /^Capítulo [1-9][0-9]{0,1}$/
En VBScript use: "^Capítulo [1-9][0-9]{0,1}$"
La coincidencia con límites de palabra difiere en algunos aspectos, pero agrega una capacidad muy importante a las expresiones regulares. El límite de palabra es la posición entre una palabra y un espacio. Los límites que no son de palabra ocupan cualquier otra posición. La siguiente expresión de JScript coincide con los tres primeros caracteres de la palabra 'Capítulo', ya que estos aparecen detrás de un límite de palabra: /\bCap/
o en VBScript: "\bCap"
La posición del operador '\b' es esencial en este caso. Si está situado al comienzo de la cadena que se va
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 49 de 264
a comparar, busca la coincidencia al principio de la palabra; si está situado al final, busca la coincidencia al final de la palabra. Por ejemplo, las siguientes expresiones coinciden con el segmento 'ulo' de la palabra 'Capítulo', ya que ésta aparece antes de un límite de palabra: /ulo\b/
y "ulo\b"
Las siguientes expresiones coinciden con el segmento 'apí' de la palabra 'Capítulo', pero no como en 'apícola': /\Bapí/
y "\Bapí"
Esto se debe a que 'apí' ocurre en un límite que no es de palabra en la palabra 'Capítulo' y en un límite de palabra en 'apícola'. En lo que respecta al operador de límite que no es de palabra, la posición no es importante, ya que la coincidencia no está relacionada con el comienzo o el final de una palabra.
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Alternancia y agrupamiento Mediante la alternancia es posible utilizar el carácter '|' de modo que se pueda elegir entre dos o más alternativas. Al expandir la expresión regular del encabezado de capítulo, se pueden abarcar más elementos, no sólo los encabezados de capítulo. Sin embargo, este sistema no es tan sencillo como parece. Cuando se utiliza la alternancia, la comparación se establece con la expresión de mayor tamaño posible situada a cualquier lado del carácter '|'. Podría parecer que las siguientes expresiones para JScript y VBScript coinciden con las palabras 'Capítulo' o 'Sección', seguidas de uno o dos dígitos, que aparezcan al comienzo o al final de una línea: /^Capítulo|Sección [1-9][0-9]{0,1}$/ "^Capítulo|Sección [1-9][0-9]{0,1}$"
Desgraciadamente, estas expresiones regulares coinciden con la palabra 'Capítulo' al comienzo de la línea o con la palabra 'Sección' (y cualquier número que siga) al final de la línea. Si la cadena de entrada es 'Capítulo 22', la expresión anterior sólo coincide con la palabra 'Capítulo'. Si la cadena de entrada es 'Sección 22', la expresión coincide con la palabra 'Sección 22'. Pero eso no era lo previsto en este caso, de modo que debe haber un método para que dicha expresión regular se ajuste mejor a lo que está
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 50 de 264
intentando conseguir; de hecho, este mecanismo existe. Puede utilizar paréntesis para limitar el ámbito de la alternancia, es decir, garantizar que sólo se aplica a las dos palabras, 'Capítulos' y 'Sección'. Sin embargo, los paréntesis también pueden provocar problemas, ya que igualmente se usan para crear subexpresiones, algo que se tratará posteriormente en la sección acerca de ellas. Si agrega paréntesis en los lugares apropiados a las expresiones regulares mostradas anteriormente, podrá conseguir que coincidan con 'Capítulo 1' y 'Sección 3'. En las siguientes expresiones regulares se emplean paréntesis para agrupar 'Capítulo' y 'Sección', lo que permitirá que la expresión funcione correctamente. En JScript: /^(Capítulo|Sección) [1-9][0-9]{0,1}$/
En VBScript: "^(Capítulo|Sección) [1-9][0-9]{0,1}$"
Estas expresiones funcionarán correctamente, a menos que se produzca una interesante consecuencia. Al colocar paréntesis alrededor de 'Capítulo|Sección' se establece el agrupamiento apropiado, pero también se ocasiona que cualquiera de las dos palabras coincidentes se capturen para su uso posterior. Puesto que sólo hay un conjunto de paréntesis de la expresión anterior, sólo existe una subcoincidencia capturada. Es posible hacer referencia a esta subcoincidencia mediante la colección Submatches de VBScript o las propiedades $0…$9 del objeto RegExp de JScript. En algunas ocasiones es aconsejable capturar una subcoincidencia, en otras no. En los ejemplos anteriores, únicamente debe utilizar los paréntesis para agrupar una opción entre las palabras 'Capítulo' o 'Sección'. No es necesario que se haga referencia a dicha coincidencia posteriormente. De hecho, a menos que sea realmente necesario capturar subcoincidencias, es preferible no utilizarlas. Las expresiones regulares serán más eficaces, ya que no tendrán que utilizar el tiempo y la memoria necesarias para almacenar las subcoincidencias. Puede usar '?:' antes del modelo de expresión regular entre paréntesis a fin de impedir que la coincidencia se guarde para su uso posterior. La siguiente modificación de las expresiones regulares anteriores proporciona la misma capacidad sin guardar la subcoincidencia. En JScript: /^(?:Capítulo|Sección) [1-9][0-9]{0,1}$/
En VBScript: "^(?:Capítulo|Sección) [1-9][0-9]{0,1}$"
Además de los metacaracteres '?:', hay otros dos metacaracteres de no captura empleados para lo que se denomina búsquedas anticipadas. La búsqueda anticipada positiva, especificada mediante ?=, coincide con la cadena de búsqueda en cualquier punto donde empiece un modelo de expresión regular coincidente entre paréntesis. La búsqueda anticipada negativa, especificada mediante '?!', coincide con la cadena de búsqueda en cualquier punto donde empiece una cadena que no coincida con el modelo de expresión regular. Por ejemplo, supongamos que un documento contiene referencias a Windows 3.1, Windows 95, Windows 98 y Windows NT. Supongamos también que para actualizar el documento debe buscar todas las referencias a Windows 95, Windows 98 y Windows NT, y cambiarlas por Windows 2000. Puede
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 51 de 264
utilizar la siguiente expresión regular de JScript, que constituye un ejemplo de una búsqueda anticipada positiva, para buscar Windows 95, Windows 98 y Windows NT: /Windows(?=95 |98 |NT )/
Para conseguir la misma coincidencia en VBScript, use la siguiente expresión: "Windows(?=95 |98 |NT )"
Una vez que se encuentre la coincidencia, la búsqueda de la coincidencia siguiente comenzará inmediatamente después del texto coincidente y no incluirá los caracteres contenidos en la búsqueda anticipada. Por ejemplo, si las expresiones mostradas anteriormente coinciden con 'Windows 98', la búsqueda se reanudará después de "Windows", no de '98'.
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Referencias inversas Una de las características más importantes de las expresiones regulares es la capacidad de almacenar una parte de un modelo buscado para volver a utilizarlo posteriormente. Como recordará, al poner entre paréntesis un modelo de expresión regular o una parte de un modelo, parte de la expresión se almacena en un búfer temporal. Si desea evitar que se guarde esa parte de la expresión regular, utilice los metacaracteres de no captura '?:', '?=' o '?!'. Cada subcoincidencia capturada se almacena como se encontró de izquierda a derecha en un modelo de expresiones regulares. Los números de búfer donde se almacenan las subcoincidencias comienzan por 1 y continúan hasta un máximo de 99 subexpresiones. Se puede tener acceso a cada búfer diferente mediante '\n', donde n equivale a uno o dos dígitos decimales que identifican a un búfer específico. Una de las aplicaciones más sencillas y útiles de las referencias inversas permite localizar la aparición de dos palabras idénticas juntas en un texto. Por ejemplo, en la siguiente frase: ¿Está está subiendo el precio de de la gasolina todavía más más?
Tal como está escrita, es evidente que en la frase anterior hay varias palabras duplicadas. Sería aconsejable diseñar una manera de corregirla sin tener que buscar los duplicados de cada una de las palabras. La siguiente expresión regular de JScript emplea una expresión única para ello. /\b([a-z]+) \1\b/gi
La expresión equivalente de VBScript es:
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 52 de 264
"\b([a-z]+) \1\b"
En este caso, todos los elementos de la expresión están entre paréntesis. La expresión capturada incluye uno o varios caracteres alfabéticos, como se especificaba en '[a-z]+'. La segunda parte de la expresión regular es la referencia a la subcoincidencia capturada previamente, es decir, la segunda aparición de la palabra que se había encontrado justo antes con respecto a la expresión entre paréntesis. '\1' se utiliza para especificar la primera subcoincidencia. Los metacaracteres de límite de palabra garantizan que sólo se detectarán palabras independientes. Si no fuera así, esta expresión identificaría de forma incorrecta frases como "es emitido" o "esto es". En la expresión de JScript, la etiqueta global ('g') situada tras la expresión general indica que ésta se aplica a todas las coincidencias que se puedan encontrar en la cadena de entrada. La no distinción de mayúsculas y minúsculas se especifica mediante la etiqueta de no distinción ('i') situada al final de la expresión. La etiqueta de multilínea especifica que las posibles coincidencias pueden ocurrir en cualquiera de los lados de un carácter de nueva línea. En VBScript, no es posible establecer en la expresión las distintas etiquetas, sino que deben definirse explícitamente mediante las propiedades del objeto RegExp. Mediante la expresión regular mostrada anteriormente, el código de JScript siguiente puede utilizar la información de subcoincidencia para reemplazar una aparición de dos palabras idénticas consecutivas en una cadena de texto con una única aparición de la misma palabra: var ss = "¿Está está subiendo el precio de de la gasolina todavía más más??.\n"; var re = /\b([a-z]+) \1\b/gim; //Crea un modelo de expresión regular. var rv = ss.replace(re,"$1"); //Reemplaza dos apariciones con una.
El código de VBScript más aproximado tendría la forma siguiente: Dim ss, re, rv ss = "¿Está está subiendo el precio de de la gasolina todavía más más?." & vbNewLine Set re = New RegExp re.Pattern = "\b([a-z]+) \1\b" re.Global = True re.IgnoreCase = True re.MultiLine = True rv = re.Replace(ss,"$1")
Observe que en el código de VBScript, las etiquetas globales, de no distinción entre mayúsculas y minúsculas y de multilínea se establecen mediante las propiedades con el nombre apropiado del objeto RegExp. El uso de $1 dentro del método replace hace referencia a la primera subcoincidencia guardada. Si hubiera habido más de una subcoincidencia, se haría referencia a ella consecutivamente mediante $2, $3, etc. Otra manera de utilizar las referencias inversas consiste en dividir un indicador de recursos universal (URI, Universal Resource Indicator) en sus distintos componentes. Supongamos que desea dividir el siguiente URI en el protocolo (ftp, http, etc.), la dirección de dominio y la página o ruta de acceso: http://www.microsoft.com/spain/scripting/default.htm
Las siguientes expresiones regulares proporcionan dicha funcionalidad. En JScript:
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 53 de 264
/(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)/
En VBScript: "(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)"
La primera subexpresión entre paréntesis se ha diseñado para capturar la parte de protocolo de la dirección Web. Esta subexpresión coincide con cualquier palabra que preceda a dos puntos y dos barras diagonales. La primera subexpresión entre paréntesis captura la parte de dirección de dominio de la dirección. Esta subexpresión coincide con cualquier secuencia de caracteres que no incluya los caracteres '^', '/' o ':'. La tercera subexpresión entre paréntesis captura el número de puerto de un sitio Web, en caso de que se haya especificado. Esta subexpresión coincide con cero o más dígitos que sigan a un signo de dos puntos. Y, finalmente, en la cuarta subexpresión entre paréntesis se captura la información de ruta de acceso y página especificada por la dirección Web. Esta subexpresión coincide con uno o varios caracteres que no sean '#' o el carácter de espacio. Al aplicar la expresión regular al URI anterior, las subcoincidencias contienen los siguientes elementos: RegExp.$1 contiene "http" RegExp.$2 contiene "www.microsoft.com/spanish/" RegExp.$3 contiene "/spain" RegExp.$4 contiene "/scripting/default.htm"
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Referencia del lenguaje VBScript Constantes Errores Eventos Funciones Métodos Varios
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 54 de 264
Objetos y colecciones Operadores Propiedades Instrucciones
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Información de la versión En la tabla siguiente se muestra la versión de Microsoft Visual Basic Scripting Edition implementada por cada aplicación host. Aplicación host Microsoft Internet Explorer 3.0 Microsoft Internet Information Server 3.0 Microsoft Internet Explorer 4.0 Microsoft Internet Information Server 4.0 Microsoft Windows Scripting Host 1.0 Microsoft Outlook 98 Microsoft Visual Studio 6.0 Microsoft Internet Explorer 5.0 Servicios de Microsoft Internet Information Server 5.0 Microsoft Internet Explorer 5.5 Microsoft Visual Studio.NET
1.0
2.0
3.0
4.0
5.0
5.5
5.6
x x x x x x x x x x x
En la tabla siguiente se enumeran las características de lenguaje de VBScript y la versión en la que se introdujeron por primera vez çççTrados no deja traducir esto. Elemento del lenguaje Función Abs Operador de suma (+) Operador And Función Array Función Asc Operador de asignación (=) Función Atn
1.0
2.0
3.0 4.0 5.0
5.5
5.6
x x x x x x x
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Instrucción Call Función CBool Función CByte Función CCur Función CDate Función CDbl Función Chr Función CInt Objeto Class Instrucción Class Método Clear Función CLng Constantes de colores Constantes de comparaciones Operador de concatenación (&) Instrucción Const Función Cos Función CreateObject Función CSng Función CStr Constantes de fecha y hora Constantes de formato de fecha Función Date (función) Función DateAdd Función DateDiff Función DatePart Función DateSerial Función DateValue Función Day Propiedad Description Instrucción Dim Operador de división (/) Instrucción Do...Loop Empty Operador Eqv Instrucción Erase Objeto Err Función Eval Método Execute Instrucción Execute Instrucción ExecuteGlobal Instrucción Exit Función Exp Operador de exponenciación (^) False Función Filter
Página 55 de 264
x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Propiedad FirstIndex Función Fix Instrucción For...Next Instrucción For Each...Next Función FormatCurrency Función FormatDateTime Función FormatNumber Función FormatPercent Instrucción Function Función GetLocale Función GetObject Función GetRef Propiedad Global Función Hex Propiedad HelpContext Propiedad HelpFile Función Hour Instrucción If...Then...Else Propiedad IgnoreCase Operador Imp Evento Initialize Función InputBox Función InStr Función InStrRev Función Int Operador de división de enteros (\) Operador Is Función IsArray Función IsDate Función IsEmpty Función IsNull Función IsNumeric Función IsObject Función Join Función LBound Función LCase Función Left Función Len Propiedad Length Función LoadPicture Función Log Función LTrim Objeto Match Colección Matches Función Mid Función Minute
Página 56 de 264
x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Constantes varias Operador Mod x Función Month x Función MonthName Constantes de MsgBox Función MsgBox x Operador de multiplicación (*) x Operador de negación (-) x Operador Not x Función Now x Nothing x Null x Propiedad Number x Función Oct x Instrucción On Error x Instrucción Option Explicit x Operador Or x Propiedad Pattern Instrucción Private Instrucción PropertyGet Instrucción PropertyLet Instrucción PropertySet Instrucción Public Método Raise x Instrucción Randomize x Instrucción ReDim x Objeto RegExp Instrucción Rem x Función Replace Método Replace Función RGB Función Right x Función Rnd x Función Round Función RTrim x Función ScriptEngine Función ScriptEngineBuildVersion Función ScriptEngineMajorVersion Función ScriptEngineMinorVersion Función Second x Instrucción Select Case x Instrucción Set x Función SetLocale Función Sgn x Función Sin x Propiedad Source x
Página 57 de 264
x
x x
x x x x x x
x x x x
x x x x x
x
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Función Space Función Split Función Sqr Función StrComp Constantes de cadena Función String Función StrReverse Instrucción Sub operador de sustracción (-) Función Tan Evento Terminate Método Test Función Time Función Timer Función TimeSerial Función TimeValue Función Trim Constantes de triple estado True Función TypeName Función UBound Función UCase Propiedad Value Constantes de VarType Función VarType Constantes de VBScript Función Weekday Función WeekdayName Instrucción While...Wend Instrucción With Operador Xor Función Year
Página 58 de 264
x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Constantes de VBScript En VBScript están integradas un número de constantes útiles que puede utilizar en su código. Las constantes proporcionan un modo cómodo de utilizar valores específicos sin tener que recordar el propio valor. Utilizar constantes hace que se pueda mantener su código si el valor de cualquier constante
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 59 de 264
cambiara alguna vez. Dado que estas constantes están ya definidas en VBScript, no necesita declararlas de manera explícita en su código. Simplemente utilícelas en lugar de los valores que representan. Aquí están las diversas categorías de constantes proporcionadas en VBScript y una breve descripción de cada una:
Constantes de color Define ocho colores básicos que se pueden utilizar en secuencias de comandos. Constantes de fecha y hora Define las constantes de fecha y hora utilizadas por las diversas funciones de fecha y hora. Constantes de formato de fecha Define las constantes utilizadas para dar formato a fechas y horas. Constantes varias Define las constantes que no corresponden exactamente a ninguna otra categoría. Constantes para MsgBox Define las constantes utilizadas en la función MsgBox para describir los valores de visibilidad, etiqueta, comportamiento y de retorno de un botón. Constantes de cadena Define una variedad de caracteres no imprimibles utilizados para el control de cadenas. Constantes para Tristate Define las constantes utilizadas en las funciones que dan formato a números. Constantes para VarType Define los diversos subtipos del tipo Variant.
Requisitos Versión 2
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Constantes de color Dado que estas constantes están integradas en VBScript, no tiene que definirlas antes de utilizarlas. Utilícelas en cualquier parte de su código para representar los valores mostrados para cada una. Constante vbBlack vbRed vbGreen vbYellow vbBlue vbMagenta vbCyan
Valor &h00 Negro &hFF Rojo &hFF00 Verde &hFFFF Amarillo &hFF0000 Azul &hFF00FF Fucsia &hFFFF00 Aguamarina
Descripción
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
vbWhite
Página 60 de 264
&hFFFFFF Blanco
Requisitos Versión 2 Consulte también Constantes de comparación | Constantes de fecha y hora | Constantes de formato de fecha | Constantes varias | Constantes para MsgBox | Constantes de cadena | Constantes para Tristate | Constantes para VarType
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Constantes de comparación Dado que estas constantes están integradas en VBScript, no tiene que definirlas antes de utilizarlas. Utilícelas en cualquier parte de su código para representar los valores mostrados para cada una. Constante Valor Descripción vbBinaryCompare 0 Realizar una comparación binaria. vbTextCompare 1 Realizar una comparación textual. Requisitos Versión 2 Consulte también Constantes de color | Constantes de fecha y hora | Constantes de formato de fecha | Constantes varias | Constantes para MsgBox | Constantes de cadena | Constantes para Tristate | Constantes para VarType
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 61 de 264
Constantes de fecha y hora Dado que estas constantes están integradas en VBScript, no tiene que definirlas antes de utilizarlas. Utilícelas en cualquier parte de su código para representar los valores mostrados para cada una. Constante
Valor
vbSunday vbMonday vbTuesday vbWednesday vbThursday vbFriday vbSaturday vbUseSystemDayOfWeek
1 2 3 4 5 6 7 0
vbFirstJan1
1
vbFirstFourDays
2
vbFirstFullWeek
3
Descripción domingo lunes martes miércoles jueves viernes sábado Utiliza el día de la semana especificado en la configuración de su sistema como primer día de la semana. Utiliza la semana en que aparece el 1 de enero (predeterminado). Utiliza la primera semana que tiene al menos cuatro días en el nuevo año. Utiliza la primera semana completa del año.
Requisitos Versión 2 Consulte también Constantes de color | Constantes de comparación | Constantes de formato de fecha | Constantes varias | Constantes para MsgBox | Constantes de cadena | Constantes para Tristate | Constantes para VarType
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Constantes de formato de fecha Dado que estas constantes están integradas en VBScript, no tiene que definirlas antes de utilizarlas. Utilícelas en cualquier parte de su código para representar los valores mostrados para cada una. Constante
Valor
Descripción
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 62 de 264
vbGeneralDate
0
vbLongDate
1
vbShortDate
2
vbLongTime
3
vbShortTime
4
Muestra una fecha o una hora o ambas. En el caso de números reales, muestra una fecha y una hora. Si no existe parte fraccional, muestra sólo una fecha. Si no existe parte de número entero, muestra sólo una hora. El hecho de mostrar la fecha y la hora depende de la configuración del sistema. Muestra una fecha con el formato de fecha larga especificado en la configuración regional de su equipo. Muestra una fecha con el formato de fecha corto especificado en la configuración regional de su equipo. Muestra una hora con el formato de hora largo especificado en la configuración regional de su equipo. Muestra una hora con el formato de hora corto especificado en la configuración regional de su equipo.
Requisitos Versión 2 Consulte también Constantes de color | Constantes de comparación | Constantes de fecha y hora | Constantes varias | Constantes para MsgBox | Constantes de cadena | Constantes para Tristate | Constantes para VarType
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Constantes varias Dado que esta constante está integrada en VBScript, no tiene que definirla antes de utilizarla. Utilícela en cualquier parte de su código para representar los valores mostrados. Constante vbObjectError
Valor -2147221504
Descripción Los números de error definidos por el usuario deben ser mayores que este valor, por ejemplo, Err.Raise Number = vbObjectError + 1000
Requisitos Versión 2 Consulte también
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 63 de 264
Constantes de color | Constantes de comparación | Constantes de fecha y hora | Constantes de formato de fecha | Constantes para MsgBox | Constantes de cadena | Constantes para Tristate | Constantes para VarType
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Constantes para MsgBox Las siguientes constantes se utilizan con la función MsgBox para identificar qué botones e iconos aparecerán en un cuadro de diálogo y qué botón es el predeterminado. Además, se puede especificar la modalidad de MsgBox. Ya que estas constantes están integradas en VBScript, no tiene que definirlas antes de utilizarlas. Utilícelas en cualquier parte de su código para representar los valores mostrados para cada una. Constante vbOKOnly vbOKCancel vbAbortRetryIgnore vbYesNoCancel vbYesNo vbRetryCancel vbCritical vbQuestion vbExclamation vbInformation vbDefaultButton1 vbDefaultButton2 vbDefaultButton3 vbDefaultButton4 vbApplicationModal
Valor 0 1 2 3 4 5 16 32 48 64 0 256 512 768 0
vbSystemModal
4096
Descripción Muestra sólo el botón Aceptar. Muestra los botones Aceptar y Cancelar. Muestra los botones Anular, Reintentar e Ignorar. Muestra los botones Sí, No y Cancelar. Muestra los botones Sí y No. Muestra los botones Reintentar y Cancelar. Muestra el icono Mensaje crítico. Muestra el icono Consulta de advertencia. Muestra el icono Mensaje de aviso. Muestra el icono Mensaje de información. El primer botón es el predeterminado. El segundo botón es el predeterminado. El tercer botón es el predeterminado. El cuarto botón es el predeterminado. Aplicación modal. El usuario debe responder al cuadro de diálogo antes de continuar trabajando en la aplicación actual. Sistema modal. En sistemas Win16, se suspenden todas las aplicaciones hasta que el usuario responde al cuadro de diálogo. En sistemas Win32, esta constante proporciona un cuadro de mensaje de aplicación modal que permanece siempre visible en primer plano ante cualquier otro programa que esté en ejecución.
Las siguientes constantes se utilizan con la función MsgBox para identificar qué botón ha seleccionado un usuario. Estas constantes están disponibles sólo cuando su proyecto hace referencia explícita a la
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 64 de 264
biblioteca de tipos apropiada que contiene estas definiciones de constantes. En VBScript, debe declarar de manera explícita estas constantes en su código. Constante Valor vbOK 1 vbCancel 2 vbAbort 3 vbRetry 4 vbIgnore 5 vbYes 6 VbNo 7
Descripción Se hizo clic en el botón Aceptar. Se hizo clic en el botón Cancelar. Se hizo clic en el botón Anular. Se hizo clic en el botón Reintentar. Se hizo clic en el botón Ignorar. Se hizo clic en el botón Sí. Se hizo clic en el botón No.
Requisitos Versión 2 Consulte también Constantes de color | Constantes de comparación | Constantes de fecha y hora | Constantes de formato de fecha | Constantes varias | Constantes de cadena | Constantes para Tristate | Constantes para VarType
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Constantes de cadena Dado que estas constantes están integradas en VBScript, no tiene que definirlas antes de utilizarlas. Utilícelas en cualquier parte de su código para representar los valores mostrados para cada una. Constante vbCr vbCrLf vbFormFeed vbLf vbNewLine vbNullChar vbNullString vbTab
Valor Chr(13) Chr(13) & Chr (10) Chr(12) Chr(10) Chr(13) & Chr (10) o Chr(10) Chr(0) Cadena que tiene el valor 0 Chr(9)
Descripción Retorno de carro. Combinación de retorno de carro y avance de línea. Avance de página. Sin utilidad en Microsoft Windows. Avance de línea. Carácter de nueva línea específico de la plataforma. El que sea apropiado para la plataforma. Carácter que tiene el valor 0. No es lo mismo que una cadena de longitud cero (""). Se utiliza para llamar a procedimientos externos. Tabulación horizontal.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
vbVerticalTab
Página 65 de 264
Chr(11)
Tabulación vertical. No es útil en Microsoft Windows.
Requisitos Versión 2 Consulte también Constantes de color | Constantes de comparación | Constantes de fecha y hora | Constantes de formato de fecha | Constantes varias | Constantes para MsgBox | Constantes para Tristate | Constantes para VarType
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Constantes para Tristate Dado que estas constantes están integradas en VBScript, no tiene que definirlas antes de utilizarlas. Utilícelas en cualquier parte de su código para representar los valores mostrados para cada una. Constante vbUseDefault vbTrue vbFalse
Valor Descripción -2 Utiliza el valor predeterminado de la configuración regional del equipo. -1 True (verdadero) 0 False (falso)
Requisitos Versión 2 Consulte también Constantes de color | Constantes de comparación | Constantes de fecha y hora | Constantes de formato de fecha | Constantes varias | Constantes para MsgBox | Constantes de cadena | Constantes para VarType
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 66 de 264
Constantes para VarType Estas constantes están disponibles sólo cuando su proyecto hace referencia explícita a la biblioteca de tipos apropiada que contiene estas definiciones de constantes. En VBScript, debe declarar de manera explícita estas constantes en su código. Constante Valor vbEmpty 0 vbNull 1 vbInteger 2 vbLong 3 vbSingle 4 vbSingle 5 vbCurrency 6 vbDate 7 vbString 8 vbObject 9 vbError 10 vbBoolean 11 vbVariant 12 vbDataObject 13 vbDecimal 14 vbByte 17 vbArray 8192
Descripción No inicializada (valor predeterminado) No contiene ningún dato válido Subtipo Integer Subtipo Long Subtipo Single Subtipo Double Subtipo Currency Subtipo Date Subtipo String Objeto Subtipo Error Subtipo Boolean Variant (utilizada sólo para matrices de variantes) Objeto de acceso a datos Subtipo Decimal Subtipo Byte Matriz
Requisitos Versión 2 Consulte también Constantes de color | Constantes de comparación | Constantes de fecha y hora | Constantes de formato de fecha | Constantes varias | Constantes para MsgBox | Constantes de cadena | Constantes para Tristate
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Errores
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 67 de 264
En esta sección Errores en tiempo de ejecución de VBScript Errores de sintaxis de VBScript Secciones relacionadas
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Errores en tiempo de ejecución de VBScript Los errores en tiempo de ejecución de VBScript se producen cuando la secuencia de comandos de VBScript intenta realizar una acción que el sistema no puede ejecutar. Ocurren cuando la secuencia de comandos está en ejecución, las expresiones de variable se están evaluando y la memoria se está asignando dinámicamente. Número de error 429 507 449 17 430 506 11 48 5020 5019 432 92 5008 51 505 481 5 5021 94 448 447
Descripción El componente ActiveX no puede crear el objeto Error de excepción Argumento no opcional No se puede realizar la operación solicitada Esta clase no acepta Automatización Clase no definida División por cero Error al cargar biblioteca DLL Se esperaba ')' en la expresión regular Se esperaba ']' en la expresión regular No se encontró el nombre del archivo o de la clase durante la operación de Automatización Bucle For no inicializado Asignación no válida Error interno Referencia no válida o sin calificar Imagen no válida Argumento o llamada a procedimiento no válida Intervalo no válido en el juego de caracteres Uso no válido de Null Argumento con nombre no encontrado El objeto no acepta la configuración regional actual
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
445 438 451 504 503 502 424 91 7 28 14 6 35 9 5017 462 10 13 5018 500 458 450
Página 68 de 264
El objeto no acepta esta acción El objeto no acepta esta propiedad o método El objeto no es una colección Objeto no seguro para creación Objeto no seguro para inicialización Objeto no seguro para secuencias de comandos Se requiere un objeto La variable de objeto no está establecida Memoria insuficiente Espacio de pila insuficiente Espacio para cadenas insuficiente Desbordamiento No se ha definido Sub o Function Subíndice fuera del intervalo Error de sintaxis en expresión regular El servidor remoto no existe o no está disponible Esta matriz es fija o se encuentra temporalmente bloqueada No coinciden los tipos Cuantificador inesperado Variable no definida La variable utiliza un tipo de Automatización no aceptado en VBScript Número de argumentos erróneo o asignación de propiedad no válida
Consulte también Errores de sintaxis de VBScript
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Errores de sintaxis de VBScript Los errores de sintaxis de VBScript se producen cuando la estructura de una de las instrucciones de VBScript infringe una o varias reglas gramaticales del lenguaje de secuencia de comandos de VBScript. Se generan durante la etapa de compilación del programa, antes de que éste haya comenzado a ejecutarse. Número de error Descripción 1052 No puede haber múltiples propiedades o métodos predeterminados en una clase 1044 No se puede utilizar paréntesis al llamar a Sub
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
1053 1058 1057 1005 1006 1011 1021 1047 1025 1014 1023 1015 1010 1012 1046 1026 1049 1045 1019 1020 1050 1022 1024 1016 1017 1013 1018 1027 1028 1029 1030 1014 1039 1040 1013 1037 1038 1048 1042 1041 1051 1001 1054 1002 1055
Página 69 de 264
La inicialización o finalización de la clase no tiene argumentos La especificación 'Default' sólo puede estar en Property Get La especificación 'Default' también debe indicar 'Public' Se esperaba '(' Se esperaba ')' Se esperaba '=' Se esperaba 'Case' Se esperaba 'Class' Se esperaba final de instrucción Se esperaba 'End' Se esperaba una expresión Se esperaba 'Function' Se esperaba un identificador Se esperaba 'If' Se esperaba 'In' Se esperaba una constante entera Se esperaba Let, Set o Get en la declaración de la propiedad Se esperaba una constante literal Se esperaba 'Loop' Se esperaba 'Next' Se esperaba 'Property' Se esperaba 'Select' Se esperaba una instrucción Se esperaba 'Sub' Se esperaba 'Then' Se esperaba 'To' Se esperaba 'Wend' Se esperaba 'While' o 'Until' Se esperaba 'While', 'Until' o final de instrucción Se esperaba 'With' Identificador demasiado largo Carácter no válido Instrucción 'Exit' no válida Variable de control de bucle 'for' no válida Número no válido Uso de la palabra clave 'Me' no válido 'loop' sin 'do' Debe definirse en una clase Debe ser la primera instrucción de la línea Nombre redefinido El número de argumentos debe ser constante en la especificación de las propiedades Memoria insuficiente Set o Let debe tener al menos un argumento para la propiedad Error de sintaxis Se esperaba 'Next'
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
1015
Página 70 de 264
Constante de cadena sin terminar
Consulte también Errores en tiempo de ejecución de VBScript
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Eventos En esta sección Evento Initialize Evento Terminate Secciones relacionadas Referencia del lenguaje VBScript
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Evento Initialize Ocurre cuando se crea una instancia de la clase asociada. Private Sub Class_Initialize() instrucciones End Sub
La parte instrucciones está formada por un número de instrucciones de código (una, varias o ninguna) que se ejecutarán cuando se inicialice la clase. Observaciones
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 71 de 264
El siguiente ejemplo ilustra el uso del evento Initialize. Class TestClass ' Configurar evento Initialize. Private Sub Class_Initialize MsgBox("TestClass iniciado") End Sub Private Sub Class_Terminate ' Establecer evento Terminate. MsgBox("TestClass terminado") End Sub End Class Set X = New TestClass ' Crear una instancia de TestClass. Set X = Nothing ' Destruir la instancia.
Requisitos Versión 5 Consulte también Objeto Class | Instrucción Class | Evento Terminate Se aplica a: Objeto Class
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Evento Terminate Ocurre cuando se termina una instancia de la clase asociada. Private Sub Class_Terminate() instrucciones End Sub
La parte instrucciones está formada por un número de instrucciones de código (una, varias o ninguna) que se ejecutarán cuando se inicialice la clase. Observaciones El siguiente ejemplo ilustra el uso del evento Terminate. Class TestClass Private Sub Class_Initialize ' Configurar evento Initialize. MsgBox("TestClass iniciado")
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 72 de 264
End Sub ' Establecer evento Terminate. Private Sub Class_Terminate MsgBox("TestClass terminado") End Sub End Class Set X = New TestClass ' Crear una instancia de TestClass. Set X = Nothing ' Destruir la instancia.
Requisitos Versión 5 Consulte también Objeto Class | Instrucción Class | Evento Initialize Se aplica a: Objeto Class
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Funciones La tabla siguiente contiene las funciones de VBScript. Abs CBool CDbl Conversions Date DateSerial
Array CByte Chr Cos DateAdd DateValue
Asc CCur CInt CreateObject DateDiff Day
Eval FormatDateTime GetObject InputBox IsArray IsNumeric LCase Log Minute Now
Exp FormatNumber GetRef InStr IsDate IsObject Left LTrim, RTrim y Trims Month Oct
Filter FormatPercent Hex InStrRev IsEmpty Join Len Matemáticas MonthName Replace
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
Atn CDate CLng CSng DatePart Matemáticas derivadas FormatCurrency GetLocale Hour Int, Fixs IsNull LBound LoadPicture Mid MsgBox RGB
04/12/2012
VBScript
Página 73 de 264
Right Rnd Round ScriptEngine ScriptEngineBuildVersion ScriptEngineMajorVersion ScriptEngineMinorVersion Second SetLocale Sgn Sin Space Split Sqr StrComp String Tan Time Timer TimeSerial TimeValue TypeName UBound UCase VarType Weekday WeekdayName Year Secciones relacionadas Referencia del lenguaje VBScript
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función Abs Devuelve el valor absoluto de un número. Abs(número)
El argumento número puede ser cualquier expresión numérica válida. Si número contiene Null, se devuelve Null; si es una variable sin inicializar, se devuelve cero. Observaciones El valor absoluto de un número es su magnitud sin signo. Por ejemplo, Abs(-1) y Abs(1) devuelven 1. El siguiente ejemplo utiliza la función Abs para calcular el valor absoluto de un número: Dim MiNumero MiNumero = Abs(50.3) ' Devuelve 50.3. MiNumero = Abs(-50.3) ' Devuelve 50.3.
Requisitos Versión 1 Consulte también Función Sgn
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 74 de 264
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función Array Devuelve un tipo Variant que contiene una matriz. Array(lista_argumentos)
El argumento lista_argumentos necesario es una lista de valores delimitados por coma que se asignan a los elementos de una matriz contenida en el tipo Variant. Si no se especifican ningún argumento, se crea una matriz de longitud cero. Observaciones La notación utilizada para hacer referencia a un elemento de una matriz está formada por el nombre de la variable seguido de un paréntesis que contiene un número de índice que indica el elemento deseado. En el siguiente ejemplo, la primera instrucción crea una variable denominada A. La segunda instrucción asigna una matriz a la variable A. La última instrucción asigna el valor contenido en el segundo elemento de la matriz a otra variable. Dim A A = Array(10,20,30) B = A(2) ' B es ahora 30.
Nota Una variable que no se declara como una matriz aún puede contener una matriz. Aunque una variable de tipo Variant que contiene una matriz es conceptualmente diferente de una variable de matriz que contiene elementos de tipo Variant, el acceso a los elementos de la matriz se realiza del mismo modo. Requisitos Versión 2 Consulte también Instrucción Dim
© 2001 Microsoft Corporation. Reservados todos los derechos.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 75 de 264
Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función Asc Devuelve el código de carácter ANSI que corresponde a la primera letra de una cadena. Asc(cadena)
El argumento cadena es cualquier Expresión de cadena válida. Si la cadena no contiene caracteres, se producirá un error en tiempo de ejecución. Observaciones En el siguiente ejemplo, Asc devuelve el código de carácter ANSI de la primera letra de cada cadena: Dim MiNumero MiNumero = Asc("A") MiNumero = Asc("a") MiNumero = Asc("Apple")
' Devuelve 65. ' Devuelve 97. ' Devuelve 65.
Nota La función AscB se utiliza con los datos de tipo byte contenidos en una cadena. En lugar de devolver el código de carácter del primer carácter, AscB devuelve el primer byte. Se proporciona AscW para plataformas de 32 bits que utilizan caracteres Unicode. Esta función devuelve el código de carácter Unicode (ancho), con lo que se evita la conversión de Unicode en ANSI. Requisitos Versión 1 Consulte también Función Chr
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función Atn Devuelve el arcotangente de un número.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 76 de 264
Atn(número)
El argumento número puede ser cualquier expresión numérica válida. Observaciones La función Atn toma la razón de dos lados de un triángulo recto (número) y devuelve el ángulo correspondiente en radianes. La razón es la longitud del lado opuesto al ángulo dividido por la longitud del lado adyacente al ángulo. El intervalo del resultado es de -pi /2 a pi/2 radianes. Para convertir grados en radianes, multiplique los grados por pi/180. Para convertir radianes en grados, multiplique los radianes por 180/pi. El siguiente ejemplo utiliza Atn para calcular el valor de pi: Dim pi pi = 4 * Atn(1)
' Calcula el valor de pi.
Nota Atn es la función trigonométrica inversa de Tan, que toma un ángulo como su argumento y devuelve la razón de dos lados de un triángulo recto. No confunda Atn con la cotangente, que es el inverso simple de una tangente (1/tangent). Requisitos Versión 1 Consulte también Función Cos | Funciones matemáticas derivadas | Función Sin | Función Tan
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función CBool Devuelve una expresión que se ha convertido en tipo Variant de subtipo Boolean. CBool(expresión)
El argumento expresión es cualquier expresión válida. Observaciones
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 77 de 264
Si expresión es cero, se devuelve False; si no, se devuelve True. Si expresión no se puede interpretar como un valor numérico, se produce un error en tiempo de ejecución. El siguiente ejemplo utiliza la función CBool para convertir una expresión en Boolean. Si la expresión se evalúa como un valor distinto de cero, CBool devuelve True; si no, devuelve False. Dim A, B, Comprobar A = 5: B = 5 ' Inicializa variables. Comprobar = CBool(A = B) ' Comprueba si contiene True. A = 0 ' Define variable. Comprobar = CBool(A) ' Comprueba si contiene False.
Requisitos Versión 1 Consulte también Función CByte | Función CCur | Función CDate | Función CDbl | Función CInt | Función CLng | Función CSng | Función CStr
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función CByte Devuelve una expresión que se ha convertido en tipo Variant de subtipo Byte. CByte(expresión)
El argumento expresión es cualquier expresión válida. Observaciones En general, puede documentar su código mediante las funciones de conversión de subtipo para mostrar que el resultado de alguna operación se debe expresar como un tipo de dato particular en vez de como el tipo de dato predeterminado. Por ejemplo, utilice CByte para forzar un valor aritmético de tipo byte en los casos en que normalmente aparecen valores aritméticos de moneda, precisión simple, precisión doble o entero. Utilice la función CByte para proporcionar conversiones de tipo internacional de cualquier otro tipo de datos a un subtipo Byte. Por ejemplo, los distintos separadores decimales se reconocen apropiadamente según la configuración regional de su sistema, de la misma manera que los separadores de miles.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 78 de 264
Si expresión queda fuera del intervalo apropiado para el subtipo Byte, se produce un error. El siguiente ejemplo utiliza la función CByte para convertir una expresión en un byte: Dim MiDouble, MiByte MiDouble = 125.5678 MiByte = CByte(MiDouble)
' MiDouble es de tipo Double. ' MiByte contiene 126.
Requisitos Versión 1 Consulte también Función CBool | Función CCur | Función CDate | Función CDbl | Función CInt | Función CLng | Función CSng | Función CStr
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función CCur Devuelve una expresión que se ha convertido en tipo Variant de subtipo Currency. CCur(expresión)
El argumento expresión es cualquier expresión válida. Observaciones En general, puede documentar su código mediante las funciones de conversión de subtipo para mostrar que el resultado de alguna operación se debe expresar como un tipo de dato particular en vez de como el tipo de dato predeterminado. Por ejemplo, utilice CCur para forzar un valor aritmético de tipo currency en los casos en que normalmente aparecen valores aritméticos de tipo entero. Debería utilizar la función CCur para proporcionar conversiones de tipo internacional de cualquier otro tipo de datos a un subtipo Currency Por ejemplo, los distintos separadores decimales se reconocen apropiadamente según la configuración regional de su sistema. El siguiente ejemplo utiliza la función CCur para convertir una expresión en tipo Currency: Dim MiDouble, MiCurr MiDouble = 543.214588 MiCurr = CCur(MiDouble * 2)
' MiDouble es de tipo Double. ' Convierte el resultado de multiplicar MiDouble por 2
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 79 de 264
Requisitos Versión 1 Consulte también Función CBool | Función CByte | Función CDate | Función CDbl | Función CInt | Función CLng | Función CSng | Función CStr
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función CDate Devuelve una expresión que se ha convertido en tipo Variant de subtipo Date. CDate(fecha)
El argumento fecha es cualquier expresión de fecha válida. Observaciones Utilice la función IsDate para determinar si la fecha se puede convertir en una fecha o una hora. CDate reconoce literales de fecha y literales de hora así como algunos números que están dentro del intervalo de fechas aceptables. Cuando se convierte un número en una fecha, toda la parte del número se convierte en una fecha. Cualquier parte fraccional del número se convierte en una hora del día, a partir de medianoche. CDate reconoce formatos de fecha según la configuración regional de su sistema. Puede que no se determine el orden correcto del día, mes y año si se proporciona en un formato diferente del de una de las configuraciones de fecha reconocidas. Además, no se reconocerá un formato de fecha largo si también contiene la cadena del día de la semana. El siguiente ejemplo utiliza la función CDate para convertir una cadena en una fecha. En general, no se recomiendan el uso de fechas y horas como cadenas (como se muestra en este ejemplo). Utilice los literales de fecha y hora (como #10/19/1962#, #4:45:23 PM#) en su lugar. MiFecha = "19 de Octubre de 1962" ' Define una fecha. MiFechaCorta = CDate(MiFecha ) ' Convierte en tipo de datos Date. MiHora = "4:35:47 PM" ' Define una hora. MiHoraCorta = CDate(MiHora) ' Convierte en tipo de datos Date.
Requisitos
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 80 de 264
Versión 1 Consulte también Función IsDate
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función CDbl Devuelve una expresión que se ha convertido en tipo Variant de subtipo Double. CDbl(expresión)
El argumento expresión es cualquier expresión válida. Observaciones En general, puede documentar su código mediante las funciones de conversión de subtipo para mostrar que el resultado de alguna operación se debe expresar como un tipo de dato particular en vez de como el tipo de dato predeterminado. Por ejemplo, utilice CDbl o CSng para forzar un valor aritmético de tipo precisión doble o precisión simple en los casos en que normalmente aparecen valores aritméticos de moneda o entero. Utilice la función CDbl para proporcionar conversiones de tipo internacional de cualquier otro tipo de datos a un subtipo Double. Por ejemplo, los distintos separadores decimales y de miles se reconocen apropiadamente según la configuración regional de su sistema. Este ejemplo utiliza la función CDbl para convertir una expresión en un tipo Double. Dim MiCurr, MiDouble MiCurr = CCur(234.456784) MiDouble = CDbl(MiCurr * 8.2 * 0.01)
' MiCurr es de tipo Currency (234.4567). ' Convierte el resultado en tipo Double (19.
Requisitos Versión 1 Consulte también Función CBool | Función CByte | Función CCur | Función CDate | Función CInt | Función CLng | Función CSng | Función CStr
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 81 de 264
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función Chr Devuelve el carácter asociado con el código de carácter ANSI especificado. Chr(códigocar)
El argumento códigocar es un número que identifica a un carácter. Observaciones Los números del 0 al 31 son los mismos que los códigos ASCII estándar no imprimibles. Por ejemplo, Chr(10) devuelve un carácter de avance de línea. El siguiente ejemplo utiliza la función Chr para devolver el carácter asociado con el código de carácter especificado: Dim MiChar MiChar = Chr(65) MiChar = Chr(97) MiChar = Chr(62) MiChar = Chr(37)
' ' ' '
Devuelve Devuelve Devuelve Devuelve
A. a. >. %.
Nota La función ChrB se utiliza con los datos tipo byte contenidos en una cadena. En lugar de devolver un carácter, que puede ser uno o dos bytes, ChrB devuelve siempre un solo byte. Se proporciona ChrW para plataformas de 32 bits que utilizan caracteres Unicode. Su argumento es un código de carácter Unicode (ancho), con lo que se evita la conversión de ANSI en Unicode. Requisitos Versión 1 Consulte también Función Asc
© 2001 Microsoft Corporation. Reservados todos los derechos.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 82 de 264
Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función CInt Devuelve una expresión que se ha convertido en tipo Variant de subtipo Integer. CInt(expresión)
El argumento expresión es cualquier expresión válida. Observaciones En general, puede documentar su código mediante las funciones de conversión de subtipo para mostrar que el resultado de alguna operación se debe expresar como un tipo de dato particular en vez de como el tipo de dato predeterminado. Por ejemplo, utilice Clnt o CLng para forzar un valor aritmético de tipo entero en los casos en que normalmente aparecen valores aritméticos de moneda, precisión simple o precisión doble. Utilice la función CInt para proporcionar conversiones de tipo internacional de cualquier otro tipo de datos a un subtipo Integer. Por ejemplo, los distintos separadores decimales se reconocen apropiadamente según la configuración regional de su sistema, de la misma manera que los separadores de miles. Si expresión queda fuera del intervalo apropiado para el subtipo Integer, se produce un error. El siguiente ejemplo utiliza la función CInt para convertir un valor en un tipo Integer: Dim MiDouble, MiInt MiDouble = 2345.5678 MiInt = CInt(MiDouble)
' MiDouble es de tipo Double. ' MiInt contiene 2346.
Nota CInt difiere de las funciones Fix e Int, que truncan, más que redondean, la parte fraccional de un número. Cuando la parte fraccional es exactamente 0,5 la función CInt la redondea siempre al número par más cercano. Por ejemplo, 0,5 se redondea a 0 y 1,5 se redondea a 2. Requisitos Versión 1 Consulte también Función CBool | Función CByte | Función CCur | Función CDate | Función CDbl | Función CLng | Función CSng | Función CStr | Funciones Int y Fix
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 83 de 264
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función CLng Devuelve una expresión que se ha convertido en tipo Variant de subtipo Long. CLng(expresión)
El argumento expresión es cualquier expresión válida. Observaciones En general, puede documentar su código mediante las funciones de conversión de subtipo para mostrar que el resultado de alguna operación se debe expresar como un tipo de dato particular en vez de como el tipo de dato predeterminado. Por ejemplo, utilice Clnt o CLng para forzar un valor aritmético de tipo entero en los casos en que normalmente aparecen valores aritméticos de moneda, precisión simple o precisión doble. Utilice la función CLng para proporcionar conversiones de tipo internacional de cualquier otro tipo de datos a un subtipo Long. Por ejemplo, los distintos separadores decimales se reconocen apropiadamente según la configuración regional de su sistema, de la misma manera que los separadores de miles. Si expresión queda fuera del intervalo aceptable para el subtipo Long, se produce un error. El siguiente ejemplo utiliza la función CLng para convertir un valor en tipo Long: Dim MiVal1, MiVal2, MiLong1, MiLong2 MiVal1 = 25427.45: MiVal2 = 25427.55 ' MiVal1 y MiVal2 son de tipo Double. MiLong1 = CLng(MiVal1) ' MiLong1 contiene 25427. MiLong2 = CLng(MiVal2) ' MiLong2 contiene 25428.
Nota CLng difiere de las funciones Fix e Int, que truncan, más que redondean, la parte fraccional de un número. Cuando la parte fraccional es exactamente 0,5 la función CLng la redondea siempre al número par más cercano. Por ejemplo, 0,5 se redondea a 0 y 1,5 se redondea a 2. Requisitos Versión 1 Consulte también Función CBool | Función CByte | Función CCur | Función CDate | Función CDbl | Función CInt | Función CSng | Función CStr | Funciones Int y Fix
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 84 de 264
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Funciones de conversión Función Asc Función CBool Función CByte Función CCur Función CDate Función CDbl Función Chr Función CInt Función CLng Función CSng Función CStr Función Hex Función Oct
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función Cos file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 85 de 264
Devuelve el coseno de un ángulo. Cos(número)
El argumento número puede ser cualquier expresión numérica válida que exprese un ángulo en radianes. Observaciones La función Cos toma un ángulo y devuelve la razón de dos lados de un triángulo recto. La razón es la longitud del lado adyacente al ángulo dividido por la longitud de la hipotenusa. El resultado está en el intervalo de -1 a 1. Para convertir grados en radianes, multiplique los grados por pi /180. Para convertir radianes en grados, multiplique los radianes por 180/pi. El siguiente ejemplo utiliza la función Cos para devolver el coseno de un ángulo: Dim MiAngulo, MiSecante MiAngulo = 1.3 ' Define el ángulo en radianes. MiSecante = 1 / Cos(MiAngulo) ' Calcula la secante.
Requisitos Versión 1 Consulte también Función Atn | Funciones matemáticas derivadas | Función Sin | Función Tan
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función CreateObject Crea y devuelve una referencia a un objeto de automatización. CreateObject(servidor.tipo [, ubicación])
Argumentos servidor Necesario. Nombre de la aplicación que proporciona el objeto. tipo
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 86 de 264
Necesario. Tipo o clase del objeto que se va a crear. ubicación Opcional. Nombre del servidor de red donde se va a crear el objeto. Observaciones Los servidores de automatización proporcionan al menos un tipo de objeto. Por ejemplo, una aplicación de procesamiento de texto puede proporcionar un objeto de aplicación, un objeto de documento y un objeto de barra de herramientas. Para crear un objeto de automatización, asigne el objeto devuelto por CreateObject a una variable de objeto: Dim HojaExcel Set HojaExcel = CreateObject("Hoja.Excel")
Este código inicia la aplicación que crea el objeto (en este caso, una hoja de cálculo de Microsoft Excel). Una vez que se ha creado el objeto, haga referencia a él en código utilizando la variable de objeto que haya definido. Tal y como se muestra en el siguiente ejemplo, puede acceder a las propiedades y métodos del nuevo objeto utilizando la variable de objeto, HojaExcel y otros objetos Excel, incluyendo el objeto de la aplicación y ActiveSheet.Colección de celdas: ' Hacer Excel visible en el objeto de la aplicación. ExcelSheet.Application.Visible = True ' Ubicar algún texto en la primera celda de la hoja. ExcelSheet.ActiveSheet.Cells(1,1).Value = "Esta es la columna A, fila 1" ' Guardar la hoja. ExcelSheet.SaveAs "C:\DOCS\TEST.XLS" ' Cerrar Excel con el método Abandonar en el objeto de la aplicación. ExcelSheet.Application.Quit ' Liberar la variable de objeto. Set ExcelSheet = Nothing
Crear un objeto en un servidor remoto sólo se puede conseguir cuando se desactiva la seguridad de Internet. Puede crear un objeto en un equipo de red remoto pasando el nombre del equipo al argumento servidor de CreateObject. Dicho nombre es el mismo que el de la parte del nombre del equipo de un nombre de recurso compartido. Para un recurso de red compartido denominado "\\miservidor\public", el servidor es "miservidor". Además, puede especificar servidor utilizando el formato DNS o una dirección IP. La siguiente porción de código devuelve el número de versión de una instancia de Excel ejecutándose en un equipo de red remoto denominado "miservidor": Function GetVersion Dim XLApp Set XLApp = CreateObject("Excel.Application", "MiServidor") GetVersion = XLApp.Version End Function
Se produce un error si el servidor remoto especificado no existe o no se puede encontrar. Requisitos
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 87 de 264
Versión 2 Consulte también Función GetObject
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función CSng Devuelve una expresión que se ha convertido en tipo Variant de subtipo Single. CSng(expresión)
El argumento expresión es cualquier expresión válida. Observaciones En general, puede documentar su código mediante las funciones de conversión de tipos de datos para mostrar que el resultado de alguna operación se debe expresar como un tipo de dato particular en vez de como el tipo de dato predeterminado. Por ejemplo, utilice CDbl o CSng para forzar un valor aritmético de tipo precisión doble o precisión simple en los casos en que normalmente aparecen valores aritméticos de moneda o entero. Utilice la función CSng para proporcionar conversiones de tipo internacional de cualquier otro tipo de datos a un subtipo Single. Por ejemplo, los distintos separadores decimales se reconocen apropiadamente según la configuración regional de su sistema, de la misma manera que los separadores de miles. Si expresión queda fuera del intervalo aceptable para el subtipo Single, se produce un error. El siguiente ejemplo utiliza la función CSng para convertir un valor en tipo Single: Dim MiDouble1, MiDouble2, MiSingle1, MiSingle2 ' MiDouble1 y MiDouble2 son de tipo MiDouble1 = 75.3421115: MiDouble2 = 75.3421555 MiSingle1 = CSng(MiDouble1) ' MiSingle1 contiene 75.34211. MiSingle2 = CSng(MiDouble2) ' MiSingle2 contiene 75.34216.
Requisitos Versión 1
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 88 de 264
Consulte también Función CBool | Función CByte | Función CCur | Función CDate | Función CDbl | Función CInt | Función CLng | Función CStr
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función CStr Devuelve una expresión que se ha convertido en tipo Variant de subtipo String. CStr(expresión)
El argumento expresión es cualquier expresión válida. Observaciones En general, puede documentar su código mediante las funciones de conversión de subtipo para mostrar que el resultado de alguna operación se debe expresar como un tipo de dato particular en vez de como el tipo de dato predeterminado. Por ejemplo, utilice CStr para forzar el resultado que se va a expresar como String. Debe utilizar la función CStr en lugar de Str para proporcionar conversiones de tipo internacional de cualquier otro tipo de datos a un subtipo String. Por ejemplo, los distintos separadores decimales se reconocen apropiadamente según la configuración regional de su sistema. Los datos de expresión determinan lo que se devuelve según la siguiente tabla: Si expresión es Boolean Date Null Empty Error Otro numérico
CStr devuelve Una cadena que contiene True o False. Una cadena que contiene una fecha en el formato de fecha corto de su sistema. Un error en tiempo de ejecución. Una cadena de longitud cero (""). Una cadena que contiene la palabra Error seguida del número de error. Una cadena que contiene el número.
El siguiente ejemplo utiliza la función CStr para convertir un valor numérico en un tipo String: Dim MiDouble, MiCadena MiDouble = 437.324 MiCadena = CStr(MiDouble)
' MiDouble es de tipo Double. ' MiCadena contiene "437.324".
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 89 de 264
Requisitos Versión 1 Consulte también Función CBool | Función CByte | Función CCur | Función CDate | Función CDbl | Función CInt | Función CLng | Función CSng
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función Date Devuelve la fecha actual del sistema. Date
Observaciones El siguiente ejemplo utiliza la función Date para devolver la fecha actual del sistema: Dim MiFecha MiFecha = Date
' MiFecha
contiene la fecha actual del sistema.
Requisitos Versión 1 Consulte también Función CDate | Función Now | Función Time
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 90 de 264
Función DateAdd Devuelve una fecha a la que se le ha agregado un intervalo de tiempo especificado. DateAdd(intervalo, número, fecha)
Argumentos intervalo Necesario. Expresión de cadena que es el intervalo que desea agregar. Consulte la sección Valores para ver los valores. número Necesario. Expresión numérica que es el número de intervalo que desea agregar. La expresión numérica puede ser positiva, para fechas futuras, o negativa, para fechas pasadas. fecha Necesario. Tipo Variant o literal que representa la fecha a la que se agrega el intervalo. Valores El argumento intervalo puede tener los siguientes valores: Valor Descripción yyyy Año q Trimestre m Mes y Día del año d Día w Día de la semana ww Semana del año h Hora n Minuto s Segundo Observaciones Puede utilizar la función DateAdd para sumar un intervalo de tiempo especificado a una fecha o restárselo. Por ejemplo, puede utilizar DateAdd para calcular una fecha de 30 días a partir de hoy o una hora de 45 minutos desde ahora. Para agregar días a fecha, puede utilizar el Día del Año ("y"), Día ("d") o Día de la semana ("w"). La función DateAdd no devolverá una fecha que no sea válida. El siguiente ejemplo suma un mes al 31 de enero: NewDate = DateAdd("m", 1, "31-ene-95")
En este caso, DateAdd devuelve 28-feb-95, no 31-feb-95. Si fecha es 31-ene-96, devuelve 29-feb-96 porque 1996 es un año bisiesto.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 91 de 264
Si la fecha calculada fuera anterior al año 100, se produciría un error. Si el número no es un valor Long, se redondea al número entero más cercano antes de evaluarse. Requisitos Versión 2 Consulte también Función DateDiff | Función DatePart
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función DateDiff Devuelve el número de intervalos entre dos fechas. DateDiff(intervalo, fecha1, fecha2 [,primerdíadelasemana[, primerasemanadelaño]])
La sintaxis de la función DateDiff se compone de: Argumentos intervalo Necesario. Expresión de cadena que es el intervalo que desea utilizar para calcular las diferencias entre fecha1 y fecha2. Consulte la sección Valores para ver los valores. fecha1, fecha2 Necesario. Expresiones de fecha. Dos fechas que desee utilizar en el cálculo. primerdíadelasemana Opcional. Constante que especifica el día de la semana. Si no se especifica, se asume el domingo. Consulte la sección Valores para ver los valores. primerasemanadelaño Opcional. Constante que especifica la primera semana del año. Si no se especifica, la primera semana se asume que es la semana del 1 de enero. Consulte la sección Valores para ver los valores. Valores El argumento intervalo puede tener los siguientes valores: Valor
Descripción
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
yyyy q m y d w ww h n s
Página 92 de 264
Año Trimestre Mes Día del año Día Día de la semana Semana del año Hora Minuto Segundo
El argumento primerdíadelasemana puede tener los siguientes valores: Constante Valor Descripción vbUseSystem 0 Usa valores de API de idioma nacional (NLS). vbSunday 1 domingo (valor predeterminado) vbMonday 2 lunes vbTuesday 3 martes vbWednesday 4 miércoles vbThursday 5 jueves vbFriday 6 viernes vbSaturday 7 sábado El argumento primerasemanadelaño puede tener los siguientes valores: Constante vbUseSystem vbFirstJan1 vbFirstFourDays
Valor 0 1 2
vbFirstFullWeek
3
Descripción Usa valores de API de idioma nacional (NLS). Comienza con la semana del 1 de enero (valor predeterminado). Comienza con la semana que tiene al menos cuatro días en el nuevo año. Comienza con la primera semana completa del nuevo año.
Observaciones Puede utilizar la función DateDiff para determinar cuántos intervalos de tiempo especificados existen entre dos fechas. por ejemplo, podría utilizar DateDiff para calcular el número de días entre dos fechas o el número de semanas entre hoy y el final del año. Para calcular el número de días entre fecha1 y fecha2, puede utilizar Día del año ("y") o Día ("d"). Cuando el intervalo es Día de la semana ("w"), DateDiff devuelve el número de semanas entre las dos fechas. Si fecha1 es un lunes, DateDiff cuenta el número de lunes hasta fecha2. Cuenta fecha2 pero no fecha1. Si intervalo es Semana ("ww"), sin embargo, la función DateDiff devuelve el número de semanas del calendario entre dos fechas. Cuenta el número de domingos entre fecha1 y fecha2. DateDiff cuenta fecha2 si es un domingo; pero no cuenta fecha1, aunque sea un domingo. Si fecha1 hace referencia a un punto en el tiempo posterior a fecha2, la función DateDiff devuelve un número negativo.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 93 de 264
El argumento primerdíadelasemana afecta a los cálculos que utilizan los símbolos de intervalo "w" y "ww". Si fecha1 o fecha2 es un literal de fecha, el año especificado se convierte en parte permanente de dicha fecha. Sin embargo, si fecha1 o fecha2 está entre comillas (" ") y se omite el año, el año actual se inserta en el código cada vez que se evalúa la expresión fecha1 o fecha2. Esto hace que sea posible escribir el código que se puede utilizar en años diferentes. Cuando se compara el 31 de diciembre con el 1 de enero del año inmediatamente siguiente, DateDiff para Año ("yyyy") devuelve 1 incluso aunque sólo haya pasado un día. El siguiente ejemplo utiliza la función DateDiff para mostrar el número de días entre una fecha dada y el día de hoy: Function DiffADate(theDate) DiffADate = "Días a partir de hoy: " & DateDiff("d", Ahora, theDate) End Function
Requisitos Versión 2 Consulte también Función DateAdd | Función DatePart
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función DatePart Devuelve la parte especificada de una fecha dada. DatePart(intervalo, fecha[, primerdíadelasemana[, primerasemanadelaño]])
Argumentos intervalo Necesario. Expresión de cadena que es el intervalo de tiempo que desea devolver. Consulte la sección Valores para ver los valores. fecha Necesario. Expresión de fecha que desea evaluar. primerdíadelasemana
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 94 de 264
Opcional. Constante que especifica el día de la semana. Si no se especifica, se asume el domingo. Consulte la sección Valores para ver los valores. primerasemanadelaño Opcional. Constante que especifica la primera semana del año. Si no se especifica, se asume que la primera semana es la del 1 de enero. Consulte la sección Valores para ver los valores. Valores El argumento intervalo puede tener los siguientes valores: Valor Descripción yyyy Año q Trimestre m Mes y Día del año d Día w Día de la semana ww Semana del año h Hora n Minuto s Segundo El argumento primerdíadelasemana puede tener los siguientes valores: Constante Valor Descripción vbUseSystemDayOfWeek 0 Usa valores de API de idioma nacional (NLS). vbSunday 1 domingo (predeterminado) vbMonday 2 lunes vbTuesday 3 martes vbWednesday 4 miércoles vbThursday 5 jueves vbFriday 6 viernes vbSaturday 7 sábado El argumento primerasemanadelaño puede tener los siguientes valores: Constante vbUseSystem vbFirstJan1 vbFirstFourDays
0 1 2
Valor
vbFirstFullWeek
3
Descripción Usa valores de API de idioma nacional (NLS). Comienza con la semana del 1 de enero (valor predeterminado). Comienza con la semana que tiene al menos cuatro días en el nuevo año. Comienza con la primera semana completa del nuevo año.
Observaciones Puede utilizar la función DatePart para evaluar una fecha y devolver un intervalo de tiempo específico. Por ejemplo, podría utilizar DatePart para calcular el día de la semana o la hora actual.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 95 de 264
El argumento primerdíadelasemana afecta a los cálculos que utilizan los símbolos de intervalo "w" y "ww". Si fecha es un literal de fecha, el año especificado se convierte en una parte permanente de dicha fecha. Sin embargo, si fecha está entre comillas (" ") y omite el año, se inserta el año actual en su código cada vez que se evalúe la expresión fecha. Esto hace que sea posible escribir código que se pueda utilizar en años diferentes. Este ejemplo toma una fecha y, utilizando la función DatePart, muestra el trimestre del año al que pertenece. Function GetQuarter(TheDate) GetQuarter = DatePart("q", TheDate) End Function
Requisitos Versión 2 Consulte también Función DateAdd | Función DateDiff
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función DateSerial Devuelve un tipo Variant de subtipo Date para un año, mes y día especificados. DateSerial(año, mes, día)
Argumentos año Número entre 100 y 9999, inclusive, o una expresión numérica. mes Cualquier expresión numérica. día Cualquier expresión numérica. Observaciones
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 96 de 264
Para especificar una fecha, tal como 31 de diciembre de 1991, el intervalo numérico para cada argumento DateSerial debe estar dentro del intervalo aceptable para la unidad; es decir, 1–31 para días y 1–12 para meses. Sin embargo, también puede especificar fechas relativas para cada argumento mediante cualquier expresión numérica que represente algún número de días, meses o años antes o después de una fecha concreta. El siguiente ejemplo utiliza expresiones numéricas en lugar de números de fecha absolutos. Aquí la función DateSerial devuelve una fecha que es el día antes del primer día (1 – 1) de dos meses antes de agosto (8 – 2) de 10 años antes de 1990 (1990 – 10); en otras palabras, 31 de mayo de 1980. Dim MiFecha 1, MiFecha 2 MiFecha 1 = DateSerial(1970, 1, 1) MiFecha 2 = DateSerial(1990 - 10, 8 - 2, 1 - 1)
' Devuelve 1 de enero de 1970. ' Devuelve 31 de mayo de 1980.
Para el argumento año, los valores entre 0 y 99, inclusive, se interpretan como los años 1900–1999. Para todos los otros argumentos año, utilice un año de cuatro dígitos completo (por ejemplo, 1800). Cuando cualquier argumento sobrepase el intervalo aceptado para dicho argumento, se aumenta a la siguiente unidad mayor que resulte apropiada. Por ejemplo, si especifica 35 días, se evalúa como un mes y algunos días, según el mes del año al que se aplique. Sin embargo, si cualquier argumento simple está fuera del intervalo entre -32.768 y 32.767, o si la fecha especificada por los tres argumentos, directamente o por expresión, queda fuera del intervalo de fechas aceptable, se produce un error. Requisitos Versión 1 Consulte también Función Date | Función DateValue | Función Day | Función Month | Función Now | Función TimeSerial | Función TimeValue | Función Weekday | Función Year
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función DateValue Devuelve un tipo Variant de subtipo Date. DateValue(fecha)
El argumento fecha es normalmente una Expresión de cadena que representa una fecha comprendida entre el 1 de enero del año 100 hasta el 31 de diciembre del año 9999. Sin embargo, fecha también
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 97 de 264
puede ser cualquier expresión que pueda representar una fecha, una hora o ambas, dentro de dicho intervalo. Observaciones Si el argumento fecha incluye información de hora, DateValue no lo devuelve. Sin embargo, si fecha incluye información de hora que no sea válida (tal como "89:98"), se produce un error. Si fecha es una cadena que incluye sólo números separados por separadores de fecha válidos, DateValue reconoce el orden para el mes, día y año según el formato de fecha corto que haya especificado para su sistema. DateValue también reconoce fechas no ambiguas que contienen nombres de meses, en la forma larga o abreviada. Por ejemplo, además de reconocer 12/30/1991 y 12/30/91, DateValue también reconoce 30 de diciembre de 1991 y 30 dic. 1991. Si se omite la parte del año fecha, DateValue utiliza el año actual desde la fecha del sistema de su equipo. El siguiente ejemplo utiliza la función DateValue para convertir una cadena en una fecha. También puede utilizar literales de fecha para asignar directamente una fecha a una variable de tipo Variant, por ejemplo, MiFecha = #9/11/63#. Dim MiFecha MiFecha = DateValue("11 de septiembre de 1963")
' Devuelve una fecha.
Requisitos Versión 1 Consulte también Función CDate | Función DateSerial | Función Day | Función Month | Función Now | Función TimeSerial | Función TimeValue | Función Weekday | Función Year
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función Day Devuelve un número entero entre 1 y 31, inclusive, que representa el día del mes. Day(fecha)
El argumento fecha es cualquier expresión que pueda representar una fecha. Si fecha contiene Null, se
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 98 de 264
devuelve Null. El siguiente ejemplo utiliza la función Day para obtener el día del mes de una fecha especificada: Dim MiDia MiDia = Day("19 de octubre de 1962")
' MiDia contiene 19.
Requisitos Versión 1 Consulte también Función Date | Función Hour | Función Minute | Función Month | Función Now | Función Second | Función Weekday | Función Year
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Funciones matemáticas derivadas Las siguientes funciones matemáticas no intrínsecas se pueden derivar de funciones matemáticas intrínsecas: Función Secante Cosecante Cotangente Seno inverso Coseno inverso Secante inversa Cosecante inversa Cotangente inversa Seno hiperbólico Coseno hiperbólico Tangente hiperbólica Secante hiperbólica Cosecante hiperbólica Cotangente hiperbólica Seno hiperbólico inverso Coseno hiperbólico inverso
Equivalentes derivados Sec(X) = 1 / Cos(X) Cosec(X) = 1 / Sin(X) Cotan(X) = 1 / Tan(X) Arcsin(X) = Atn(X / Sqr(-X * X + 1)) Arccos(X) = Atn(-X / Sqr(-X * X + 1)) + 2 * Atn(1) Arcsec(X) = Atn(X / Sqr(X * X - 1)) + Sgn((X) -1) * (2 * Atn(1)) Arccosec(X) = Atn(X / Sqr(X * X - 1)) + (Sgn(X) - 1) * (2 * Atn(1)) Arccotan(X) = Atn(X) + 2 * Atn(1) HSin(X) = (Exp(X) - Exp(-X)) / 2 HCos(X) = (Exp(X) + Exp(-X)) / 2 HTan(X) = (Exp(X) - Exp(-X)) / (Exp(X) + Exp(-X)) HSec(X) = 2 / (Exp(X) + Exp(-X)) HCosec(X) = 2 / (Exp(X) - Exp(-X)) HCotan(X) = (Exp(X) + Exp(-X)) / (Exp(X) - Exp(-X)) HArcsin(X) = Log(X + Sqr(X * X + 1)) HArccos(X) = Log(X + Sqr(X * X - 1))
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Tangente hiperbólica inversa Secante hiperbólica inversa Cosecante hiperbólica inversa Cotangente hiperbólica inversa Logaritmo de base N
Página 99 de 264
HArctan(X) = Log((1 + X) / (1 - X)) / 2 HArcsec(X) = Log((Sqr(-X * X + 1) + 1) / X) HArccosec(X) = Log((Sgn(X) * Sqr(X * X + 1) +1) / X) HArccotan(X) = Log((X + 1) / (X - 1)) / 2 LogN(X) = Log(X) / Log(N)
Consulte también Función Atn | Función Cos | Función Exp | Función Log | Función Sin | Función Sqr | Función Tan
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función Eval Evalúa una expresión y devuelve el resultado. [resultado = ]Eval(expresión)
Argumentos resultado Opcional. Variable a la que se realiza una asignación de valor de retorno. Si no se especifica el resultado, utilice en su lugar la instrucción Execute. expresión Necesario. Cadena que contiene cualquier expresión legal de VBScript. Observaciones En VBScript, x = y se pueden interpretar de dos formas. La primera es como una instrucción de asignación, donde el valor de y se asigna a x. La segunda es como una expresión que comprueba si x y y tienen el mismo valor. Si es así, resultado es True; si no, resultado es False. El método Eval siempre utiliza la segunda interpretación, mientras que la instrucción Execute utiliza siempre la primera. Nota En Microsoft® JScript™, no existen confusión entre asignación y comparación, porque el operador de asignación (=) es diferente del operador de comparación (==). El siguiente ejemplo ilustra el uso de la función Eval: Sub GuessANumber Dim Guess, RndNum RndNum = Int((100) * Rnd(1) + 1) Guess = CInt(InputBox("Escriba un número:",,0))
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 100 de 264
Do If Eval("Guess = RndNum") Then MsgBox "¡Enhorabuena! ¡Lo adivinó!" Exit Sub Else Guess = CInt(InputBox("Lo siento. Inténtelo de nuevo.",,0)) End If Loop Until Guess = 0 End Sub
Requisitos Versión 5 Consulte también Instrucción Execute
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función Exp Devuelve e (la base de logaritmos naturales) elevada a una potencia. Exp(número)
El argumento número puede ser cualquier expresión numérica válida. Observaciones Si el valor de número sobrepasa 709,782712893, se produce un error. La constante e tiene un valor aproximado de 2,718282. Nota La función Exp complementa la acción de la función Log y a veces se la denomina el antilogaritmo. El siguiente ejemplo utiliza la función Exp para devolver e elevado a una potencia: Dim MiAngulo, MiHSin ' Define el ángulo en radianes. MiAngulo = 1.3 ' Calcula el seno hiperbólico. MiHSin = (Exp(MiAngulo) - Exp(-1 * MiAngulo)) / 2
Requisitos
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 101 de 264
Versión 1 Consulte también Funciones matemáticas derivadas | Función Log
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función Filter Devuelve una matriz de base cero que contiene un subconjunto de una matriz de cadena basada en un criterio de filtro especificado. Filter(Cadenasdeentrada, Valor[, Incluir[, Comparar]])
Argumentos Cadenasdeentrada Necesario. Matriz unidimensional de cadenas que se van a buscar. Valor Necesario. Cadena que se va a buscar. Incluir Opcional. Valor Booleano que indica si se devuelven subcadenas que incluyan o excluyan Valor. Si Incluir es True, Filter devuelve el subconjunto de matrices que contiene Valor como una subcadena. Si Incluir es False, Filter devuelve el subconjunto de la matriz que no contenga Valor como una subcadena. Comparar Opcional. Valor numérico que indica el tipo de comparación de cadena que se va a utilizar. Consulte la sección Valores para ver los valores. Valores El argumento Comparar puede tener los siguientes valores: Constante Valor Descripción vbBinaryCompare 0 Realiza una comparación binaria. vbTextCompare 1 Realiza una comparación textual. Observaciones Si no se encuentran coincidencias de Valor dentro de Cadenasdeentrada, Filter devuelve una matriz vacía. Se produce un error si Cadenasdeentrada es Null o no es una matriz unidimensional.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 102 de 264
La matriz devuelta por la función Filter contiene sólo elementos suficientes para contener el número de elementos coincidentes. El siguiente ejemplo utiliza la función Filter para devolver la matriz que contiene el criterio de búsqueda "Lu": Dim MiIndice Dim MiMatriz (3) MiMatriz(0) = "domingo" MiMatriz(1) = "lunes" MiMatriz(2) = "martes" MiIndice = Filter(MiMatriz, "Mon") ' MiIndice(0) contiene "lunes".
Requisitos Versión 2 Consulte también Función Replace
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función FormatCurrency Devuelve una expresión con formato de moneda con el símbolo de moneda definido en el panel de control del sistema. FormatCurrency(Expresión[,NúmDígitosDespuésDeDecimal [,IncluirPrimerDígito [,UsarPar
Argumentos Expresión Necesario. Expresión a la que se va a dar formato. NúmDígitosDespuésDeDecimal Opcional. Valor numérico que indica cuántos lugares a la derecha del decimal se van a mostrar. El valor predeterminado es -1, que indica que se utiliza la configuración regional del equipo. IncluirPrimerDígito Opcional. Constante para Tristate que indica si se muestra o no un cero delante en los valores fraccionales. Consulte la sección Valores para ver los valores. UsarParenParaNúmNegativo Opcional. Constante para Tristate que indica si se escriben o no los valores negativos entre paréntesis. Consulte la sección Valores para ver los valores.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 103 de 264
GrupoDígitos Opcional. Constante para Tristate que indica si se agrupan o no los números con el delimitador de grupo especificado en la configuración regional del equipo. Consulte la sección Valores para ver los valores. Valores Los argumentos IncluirPrimerDígito, UsarParenParaNúmNegativo y GrupoDígitos tienen los siguientes valores: Constante Valor Descripción TristateTrue -1 True (verdadero) TristateFalse 0 False (falso) TristateUseDefault -2 Utiliza la configuración regional del equipo. Observaciones Cuando se omiten uno o más argumentos opcionales, la configuración regional del equipo proporciona valores para los argumentos omitidos. La posición del símbolo monetario relativo al valor de moneda se determina a partir de la configuración regional del sistema. Nota Toda la información de configuración procede de la ficha Moneda de Configuración regional, excepto el cero inicial que procede de la ficha Número. El siguiente ejemplo utiliza la función FormatCurrency para dar a la expresión el formato de moneda y asignarla a MiCurrency: Dim MiCurrency MiCurrency = FormatCurrency(1000)
' MiCurrency contiene 1000,00 $.
Requisitos Versión 2 Consulte también Función FormatDateTime | Función FormatNumber | Función FormatPercent
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función FormatDateTime file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 104 de 264
Devuelve una expresión con formato de fecha o de hora. FormatDateTime(Fecha[, Formato])
Argumentos Fecha Necesario. Expresión de fecha a la que se va a dar formato. Formato Opcional. Valor numérico que indica el formato de fecha y hora utilizado. Si se omite, se utiliza vbGeneralDate. Valores El argumento Formato tiene los siguientes valores: Constante vbGeneralDate
Valor 0
vbLongDate
1
vbShortDate
2
vbLongTime
3
vbShortTime
4
Descripción Muestra una fecha o una hora o ambas. Si existe una parte de fecha, se muestra como fecha corta. Si existe una parte de hora, se muestra como hora larga. Si están presentes, se muestran ambas partes. Muestra una fecha con el formato de fecha largo especificado en la configuración regional de su equipo. Muestra una fecha con el formato de fecha corto especificado en la configuración regional de su equipo. Muestra una hora con el formato de hora especificado en la configuración regional de su equipo. Muestra una hora con el formato de 24 horas (hh:mm).
Observaciones El siguiente ejemplo utiliza la función FormatDateTime para dar a la expresión el formato de fecha larga y la asigna a MiFecha Time: Function GetCurrentDate ' FormatDateTime da a Date formato de fecha larga. GetCurrentDate = FormatDateTime(Date, 1) End Function
Requisitos Versión 2 Consulte también Función FormatCurrency | Función FormatNumber | Función FormatPercent
© 2001 Microsoft Corporation. Reservados todos los derechos.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 105 de 264
Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función FormatNumber Devuelve una expresión con formato de número. FormatNumber(Expresión [,NúmDígitosDespuésDeDecimal [,IncluirPrimerDígito [,UsarPare
Argumentos Expresión Necesario. Expresión a la que se va a dar formato. NúmDígitosDespuésDeDecimal Opcional. Valor numérico que indica cuántos lugares a la derecha del decimal se van a mostrar. El valor predeterminado es -1, que indica que se utiliza la configuración regional del equipo. IncluirPrimerDígito Opcional. Constante para Tristate que indica si se muestra o no un cero delante en los valores fraccionales. Consulte la sección Valores para ver los valores. UsarParenParaNúmNegativo Opcional. Constante Tristate que indica si se escriben o no los valores negativos entre paréntesis. Consulte la sección Valores para ver los valores. GrupoDígitos Opcional. Constante Tristate que indica si se agrupan o no números con el delimitador de grupo especificado en el panel de control. Consulte la sección Valores para ver los valores. Valores Los argumentos IncluirPrimerDígito, UsarParenParaNúmNegativo y GrupoDígitos tienen los siguientes valores: Constante Valor Descripción TristateTrue -1 True (verdadero) TristateFalse 0 False (falso) TristateUseDefault -2 Utiliza la configuración regional del equipo. Observaciones Cuando se omiten uno o más argumentos opcionales, la configuración regional del equipo proporciona valores para los argumentos omitidos. Nota Toda la información de configuración viene de la ficha Número de Configuración regional. El siguiente ejemplo utiliza la función FormatNumber para dar formato a un número que tenga cuatro decimales: Function EjemploDeFormatNumber
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 106 de 264
Dim MiAngulo, MiSecante, MiNumero MiAngulo = 1.3 ' Define ángulo en radianes. MiSecante = 1 / Cos(MiAngulo) ' Calcula secante. EjemploDeFormatNumber = FormatNumber(MiSecante,4) ' Da formato a MiSecante para q End Function
Requisitos Versión 2 Consulte también Función FormatCurrency | Función FormatDateTime | Función FormatPercent
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función FormatPercent Devuelve una expresión con formato de porcentaje (multiplicado por 100) con un carácter % a la derecha. FormatPercent(Expresión[,NúmDígitosDespuésDeDecimal [,IncluirPrimerDígito [,UsarPare
La sintaxis de la función FormatPercent tiene las siguientes partes: Argumentos Expresión Necesario. Expresión a la que se va a dar formato. NúmDígitosDespuésDeDecimal Opcional. Valor numérico que indica cuántos lugares a la derecha del decimal se van a mostrar. El valor predeterminado es -1, que indica que se utiliza la configuración regional del equipo. IncluirPrimerDígito Opcional. Constante para Tristate que indica si se muestra o no un cero delante en los valores fraccionales. Consulte la sección Valores para ver los valores. UsarParenParaNúmNegativo Opcional. Constante Tristate que indica si se escriben o no valores negativos entre paréntesis. Consulte la sección Valores para ver los valores. GrupoDígitos Opcional. Constante Tristate que indica si se agrupan o no números con el delimitador de números especificado en el panel de control. Consulte la sección Valores para ver los valores. Valores
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 107 de 264
Los argumentos IncluirPrimerDígito, UsarParenParaNúmNegativo y GrupoDígitos tienen los siguientes valores: Constante Valor Descripción TristateTrue -1 True (verdadero) TristateFalse 0 False (falso) TristateUseDefault -2 Utiliza la configuración regional del equipo. Observaciones Cuando se omiten uno o más argumentos opcionales, la configuración regional del equipo proporciona valores para los argumentos omitidos. Nota Toda la información de configuración procede de la ficha Número de Configuración regional. El siguiente ejemplo utiliza la función FormatPercent para dar a una expresión el formato de porcentaje: Dim MiPorcentaje MiPorcentaje = FormatPercent(2/32) ' MiPorcentaje contiene 6.25%.
Requisitos Versión 2 Consulte también Función FormatCurrency | Función FormatDateTime | Función FormatNumber
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función GetLocale Devuelve el valor del Id. de configuración regional actual. GetLocale()
Observaciones Una configuración regional es un conjunto de información de preferencias del usuario que incluye su idioma, país o región y convenciones culturales. La configuración regional determina cosas como la
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 108 de 264
apariencia del teclado, el orden de clasificación alfabética, así como los formatos de fecha, hora, número y moneda. El valor de retorno puede ser cualquiera de los valores de 32 bits mostrados en el cuadro de Id. de configuración regional: El siguiente ejemplo ilustra el uso de la función GetLocale. Para utilizar este código, pegue el ejemplo completo entre las etiquetas de una página HTML estándar. Escriba la fecha en formato para Reino Unido:
Escriba un precio en marcos alemanes: Aquí tiene la equivalencia en libras esterlinas:
<script language="vbscript"> Dim configRegionalactual ' Obtiene la configuración regional actual configRegionalactual = GetLocale Sub Button1_onclick Dim original original = SetLocale("en-gb") miFecha = CDate(UKDate.value) ' IE establece siempre la configuración regional como Inglés EE.UU., ' así pues, use la variable configRegionalactual para establecer la ' configuración regional como Inglés EE.UU. original = SetLocale(configRegionalactual) USDate.value = FormatDateTime(miFecha,vbShortDate) End Sub Sub button2_onclick Dim original original = SetLocale("de") miValor = CCur(GermanNumber.value) original = SetLocale("en-gb") USNumber.value = FormatCurrency(miValor) End Sub
Consulte también Función SetLocale | Cuadro de Id. de configuración regional (LCID)
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 109 de 264
Función GetObject Devuelve una referencia a un objeto de automatización desde un archivo. GetObject([ruta] [, clase])
Argumentos ruta Opcional. Cadena. Ruta de acceso y nombre completos del archivo que contiene el objeto que se va a recuperar. Si se omite la ruta, se requiere clase. clase Opcional. Cadena. Clase del objeto. El argumento clase utiliza la sintaxis nombreAplicación.tipoObjeto y se compone de: Argumentos nombreAplicación Requerido. Cadena. Nombre de la aplicación que proporciona el objeto. tipoObjeto Requerido. Cadena. Tipo o clase de objeto que se va a crear. Observaciones Utilice la función GetObject para tener acceso a un objeto de automatización desde un archivo y asignar el objeto a una variable de objeto. Utilice la instrucción Set para asignar el objeto devuelto por GetObject a la variable de objeto. Por ejemplo: Dim CADObject Set CADObject = GetObject("C:\CAD\SCHEMA.CAD")
Cuando se ejecuta este código, la aplicación asociada con la ruta especificada se inicia y se activa el objeto en el archivo especificado. Si ruta es una cadena de longitud cero (""), GetObject devuelve una instancia de objeto nuevo del tipo especificado. Si omite el argumento ruta, GetObject devuelve un objeto activo actual del tipo especificado. Si no existe ningún objeto del tipo especificado, se produce un error. Algunas aplicaciones le permiten activar parte de un archivo. Agregue un signo de exclamación (!) al final del nombre de archivo, seguido de una cadena que identifique la parte del archivo que desea activar. Para información acerca de cómo crear esta cadena, consulte la documentación de la aplicación que ha creado el objeto. Por ejemplo, en una aplicación de dibujo, quizá tenga muchas capas para dibujos almacenados en un archivo. Podría utilizar la siguiente porción de código para activar una capa dentro de un dibujo llamado SCHEMA.CAD: Set LayerObject = GetObject("C:\CAD\SCHEMA.CAD!Layer3")
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 110 de 264
Si no especifica la clase del objeto, la Automatización determina que se inicie la aplicación y que se active el objeto, según el nombre de archivo que proporcione. Sin embargo, algunos archivos pueden admitir más de una clase de objeto. Por ejemplo, un dibujo podría admitir tres tipos de objeto diferentes: un objeto de aplicación, un objeto de dibujo y un objeto de barra de herramientas, todos los cuales forman parte del mismo archivo. Para especificar el objeto que desea activar en un archivo, utilice el argumento opcional clase. Por ejemplo: Dim MiObjeto Set MiObjeto = GetObject("C:\DRAWINGS\SAMPLE.DRW", "FIGMENT.DRAWING")
En el ejemplo anterior, FIGMENT es el nombre de una aplicación de dibujo y DRAWING es uno de los tipos de objeto que admite. Una vez que se activa el objeto, se hace referencia a él en código mediante la variable de objeto que haya definido. En el ejemplo anterior, tiene acceso a propiedades y métodos del nuevo objeto mediante la variable de objeto MiObjeto. Por ejemplo: MiObjeto.Line 9, 90 MiObjeto.InsertText 9, 100, "Hola a todos." MiObjeto.SaveAs "C:\DRAWINGS\SAMPLE.DRW"
Nota Utilice la función GetObject cuando exista una instancia actual del objeto o si desea crear el objeto con un archivo ya cargado. Si no existe ninguna instancia actual y no desea que se inicie el objeto con un archivo cargado, utilice la función CreateObject. Si se ha registrado un objeto como objeto de instancia simple, sólo se crea una instancia del objeto, sin importar cuántas veces se ejecute CreateObject. Con un objeto de instancia simple, GetObject devuelve siempre la misma instancia cuando se ha llamado con sintaxis de cadena de longitud cero ("") y causa un error si se omite el argumento ruta. Requisitos Versión 5 Consulte también Función CreateObject
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función GetRef Devuelve una referencia a un procedimiento que se puede enlazar con un evento. Set objeto.evento = GetRef(procedimiento)
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 111 de 264
Argumentos objeto Requerido. Nombre del objeto con el que se asocia el evento. evento Requerido. Nombre del evento con el que se va a enlazar la función. procedimiento Requerido. Cadena que contiene el nombre del procedimiento Sub o Function que se asocia con el evento. Observaciones La función GetRef le permite conectar un procedimiento de VBScript (Function o Sub) a cualquier evento de variable en sus páginas DHTML (HTML Dinámico). El modelo de objeto DHTML proporciona información acerca de los eventos que están disponibles para los diversos objetos. En otros lenguajes de ejecución de secuencias de comandos y de programación, se hace referencia a la funcionalidad proporcionada por GetRef como un indicador de función, es decir, señala a la dirección de un procedimiento que se va a ejecutar cuando tiene lugar el evento especificado. El siguiente ejemplo ilustra el uso de la función GetRef. <SCRIPT LANGUAGE="VBScript"> Function PruebaGetRef() Dim Splash Splash = "PruebaGetRef Versión 1.0" & vbCrLf Splash = Splash & Chr(169) & " Su Compañía 1999 " MsgBox Splash End Function Set Window.Onload = GetRef("PruebaGetRef")
Requisitos Versión 5 Consulte también Instrucción Function | Instrucción Set | Instrucción Sub
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 112 de 264
Función Hex Devuelve una cadena que representa el valor hexadecimal de un número. Hex(número)
El argumento número es cualquier expresión válida. Observaciones Si número no es ya un número entero, se redondea hasta el número entero más próximo antes de evaluarse. Si número es
Hex devuelve
Null Null. Empty Zero (0). Cualquier otro número Hasta ocho caracteres hexadecimales. Puede representar números hexadecimales directamente si precede los números del intervalo apropiado con &H. Por ejemplo, &H10 representa el valor decimal 16 en la notación hexadecimal. El siguiente ejemplo utiliza la función Hex para devolver el valor hexadecimal de un número: Dim MiHex MiHex = Hex(5) MiHex = Hex(10) MiHex = Hex(459)
' Devuelve 5. ' Devuelve A. ' Devuelve 1CB.
Requisitos Versión 1 Consulte también Función Oct
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función Hour Devuelve un número entero entre 0 y 23, inclusive, que representa la hora del día.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 113 de 264
Hour(hora)
El argumento hora es cualquier expresión que pueda representar una hora. Si hora contiene Null, se devuelve Null. El siguiente ejemplo utiliza la función Hour para obtener la hora actual: Dim MyTime, MyHour MyTime = Now MyHour = Hour(MyTime) ' contiene el número que representa ' la hora actual.
Requisitos Versión 1 Consulte también Función Day | Función Minute | Función Now | Función Second | Función Time
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función InputBox Muestra una pregunta en un cuadro de diálogo, espera a que el usuario escriba texto o haga clic en un botón y devuelve el contenido del cuadro de texto. InputBox(solicitud[, título][, predeterminado][, xpos][, ypos][, archivoayuda, conte
Argumentos solicitud Expresión de cadena mostrada como el mensaje en el cuadro de diálogo. La longitud máxima de solicitud es aproximadamente 1024 caracteres, según el ancho de los caracteres utilizados. Si solicitud está formado por más de una línea, puede separar las líneas con un carácter de retorno de carro (Chr(13)), un carácter de nueva línea (Chr(10)) o una combinación de retorno de carro– nueva línea (Chr(13) & Chr(10)) entre cada línea. título Expresión de cadena mostrada en la barra de título del cuadro de diálogo. Si omite título, el nombre de la aplicación se ubica en la barra de título. predeterminado Expresión de cadena mostrada en el cuadro de diálogo como respuesta predeterminada si no se proporciona ninguna otra entrada. Si omite predeterminado, el cuadro de texto se muestra vacío.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 114 de 264
xpos Expresión numérica que especifica, en twips, la distancia horizontal del borde izquierdo del cuadro de diálogo desde el borde izquierdo de la pantalla. Si se omite xpos, el cuadro de diálogo se centra horizontalmente. ypos Expresión numérica que especifica, en twips, la distancia vertical del borde superior del cuadro de diálogo desde la parte superior de la pantalla. Si se omite ypos, el cuadro de diálogo se ubica verticalmente aproximadamente a un tercio de la parte inferior de la pantalla. archivoayuda Expresión de cadena que identifica el archivo de Ayuda que se va a utilizar para proporcionar Ayuda interactiva para el cuadro de diálogo. Si se proporciona archivoayuda, también se debe proporcionar contexto. contexto Expresión numérica que identifica el número de contexto de Ayuda asignado por el autor de la Ayuda para el tema de Ayuda apropiado. Si se proporciona contexto, archivoayuda se debe proporcionar también. Observaciones Cuando se proporcionan archivoayuda y contexto, se agrega un botón de Ayuda automáticamente al cuadro de diálogo. Si el usuario hace clic en Aceptar o presiona Entrar, la función InputBox devuelve lo que esté en el cuadro de texto. Si el usuario hace clic en Cancelar, la función devuelve una cadena de longitud cero (""). El siguiente ejemplo utiliza la función InputBox para mostrar un cuadro de entrada de texto y asignar la cadena a la variable Input: Dim Input Input = InputBox("Escriba su nombre") MsgBox ("Usted escribió: " & Input)
Requisitos Versión 1 Consulte también Función MsgBox
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 115 de 264
Función InStr Devuelve la posición de la primera aparición de una cadena dentro de otra. InStr([inicio, ]cadena1, cadena2[, comparar])
Argumentos inicio Opcional. Expresión numérica que establece la posición de inicio para cada búsqueda. Si se omite, la búsqueda comienza en la primera posición del carácter. Si inicio contiene Null, se produce un error. El argumento inicio es necesario si se especifica comparar. cadena1 Requerido. Expresión de cadena que se busca. cadena2 Requerido. Expresión de cadena que se busca. comparar Opcional. Valor numérico que indica el tipo de comparación que se utilizará cuando se evalúen subcadenas. Consulte la sección Valores para ver los valores. Si se omite, se realiza una comparación binaria. Valores El argumento comparar puede tener los siguientes valores: Constante Valor Descripción vbBinaryCompare 0 Realiza una comparación binaria. vbTextCompare 1 Realiza una comparación textual. Valores de retorno La función InStr devuelve los siguientes valores: Si cadena1 es de longitud cero cadena1 es Null cadena2 es de longitud cero cadena2 es Null cadena2 no se encuentra cadena2 se encuentra dentro de cadena1 inicio > Len(cadena2)
InStr devuelve 0 Null inicio Null 0 Posición en la que se encuentra la coincidencia 0
Observaciones Los siguientes ejemplos utilizan InStr para buscar una cadena: Dim SearchString, SearchChar, MiPos SearchString ="XXpXXpXXPXXP"
' Cadena en la que buscar.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 116 de 264
SearchChar = "P" ' Se busca "P". MiPos = Instr(4, SearchString, SearchChar, 1) ' Una comparación textual ' que comienza en la posición 4. Devuelve 6. MiPos = Instr(1, SearchString, SearchChar, 0) ' Una comparación binaria ' que comienza en la posición 1. Devuelve 9. MiPos = Instr(SearchString, SearchChar) ' La comparación es binaria ' (se omite el último argumento). ' Devuelve 9. MiPos = Instr(1, SearchString, "W") ' Una comparación binaria ' comienza en la posición 1. ' Devuelve 0 ("W" no se encuentra).
Nota La función InStrB se utiliza con datos de tipo byte contenidos en una cadena. En lugar de devolver la posición del carácter de la primera aparición de una cadena dentro de otra, InStrB devuelve la posición de byte. Requisitos Versión 1 Consulte también Función InStrRev
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función InStrRev Devuelve la posición de una ocurrencia de una cadena dentro de otra, desde el final de la cadena. InStrRev(cadena1, cadena2[, inicio[, comparar]])
Argumentos cadena1 Requerido. Expresión de cadena que se busca. cadena2 Requerido. Expresión de cadena que se busca. inicio Opcional. Expresión numérica que establece la posición de inicio para cada búsqueda. Si se omite, se utiliza -1, que significa que la búsqueda comienza en la posición del último carácter. Si inicio contiene Null, se produce un error. comparar Opcional. Valor numérico que indica el tipo de comparación que se va a usar cuando se evalúen
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 117 de 264
subcadenas. Si se omite, se realiza una comparación binaria. Consulte la sección Valores para ver los valores. Valores El argumento comparar puede tener los siguientes valores: Constante Valor Descripción vbBinaryCompare 0 Realiza una comparación binaria. vbTextCompare 1 Realiza una comparación textual. Valores de retorno InStrRev devuelve los siguientes valores: Si cadena1 es de longitud cero cadena1 es Null cadena2 es de longitud cero cadena2 es Null cadena2 no se encuentra cadena2 se encuentra dentro de cadena1 inicio > Len(cadena2)
InStrRev devuelve 0 Null inicio Null 0 Posición en la que se encuentra la coincidencia 0
Observaciones Los siguientes ejemplos utilizan la función InStrRev para buscar una cadena: Dim SearchString, SearchChar, MiPos SearchString ="XXpXXpXXPXXP" ' Cadena en la que buscar. SearchChar = "P" ' Se busca "P". MiPos = InstrRev(SearchString, SearchChar, 10, 0) ' Una comparación ' binaria que comienza en la ' posición 10. Devuelve 9. MiPos = InstrRev(SearchString, SearchChar, -1, 1) ' Una comparación ' textual que comienza en ' la última posición. Devuelve 12. MiPos = InstrRev(SearchString, SearchChar, 8) ' La comparación es ' binaria de forma predeterminada (se ' omite el último argumento). Devuelve 0.
Nota La sintaxis de la función InStrRev no es la misma que la sintaxis de la función InStr. Requisitos Versión 2 Consulte también
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 118 de 264
Función InStr
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Funciones Int y Fix Devuelve la parte entera de un número. Int(número) Fix(número)
El argumento número puede ser cualquier expresión numérica válida. Si número contiene Null, se devuelve Null. Observaciones Int y Fix eliminan la parte fraccional de número y devuelven el valor de número entero resultante. La diferencia entre Int y Fix es que si número es negativo, Int devuelve el primer número entero negativo menor o igual que número, mientras que Fix devuelve el primer número entero negativo mayor o igual que número. Por ejemplo, Int convierte -8,4 en -9 y Fix convierte -8,4 en -8. Fix(número) es equivalente a: Sgn(número) * Int(Abs(número))
Los siguientes ejemplos ilustran la forma en que las funciones Int y Fix devuelven partes enteras de números: MiNumero MiNumero MiNumero MiNumero MiNumero MiNumero
= = = = = =
Int(99,8) Fix(99,2) Int(-99,8) Fix(-99,8) Int(-99,2) Fix(-99,2)
' ' ' ' ' '
Devuelve Devuelve Devuelve Devuelve Devuelve Devuelve
99. 99. -100. -99. -100. -99.
Requisitos Versión 1 Consulte también Función CInt | Función Round
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 119 de 264
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función IsArray Devuelve un valor de tipo booleano que indica si una variable es una matriz. IsArray(variable)
El argumento variable puede ser cualquier variable. Observaciones IsArray devuelve True si la variable es una matriz; si no, devuelve False. IsArray es especialmente útil con variantes que contienen matrices. El siguiente ejemplo utiliza la función IsArray para comprobar si MiVariable es una matriz: Dim MiVariable Dim MiMatriz(3) MiMatriz(0) = "Domingo" MiMatriz(1) = "Lunes" MiMatriz(2) = "Martes" MiVariable = IsArray(MiMatriz) ' MiVariable contiene "True".
Requisitos Versión 1 Consulte también Función IsDate | Función IsEmpty | Función IsNull | Función IsNumeric | Función IsObject | Función VarType
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 120 de 264
Función IsDate Devuelve un valor de tipo booleano que indica si una expresión se puede convertir en una fecha. IsDate(expresión)
El argumento expresión puede ser cualquier expresión de fecha o expresión de cadena reconocible como una fecha o una hora. Observaciones IsDate devuelve True si la expresión es una fecha o se puede convertir en una fecha válida; si no, devuelve False. En Microsoft Windows, el intervalo de fechas válidas está comprendido entre el 1 de enero de año 100 d.C. y el 31 de diciembre de 9999 d.C.; los intervalos varían de un sistema operativo a otro. El ejemplo siguiente utiliza la función IsDate para determinar si una expresión se puede convertir en una fecha: Dim MiFecha, SuFecha, SinFecha, MiComprobacion MiFecha = "19 de octubre de 1962": SuFecha = #19/10/62#: SinFecha = "Hola" MiComprobacion = IsDate(MiFecha) ' Devuelve True. MiComprobacion = IsDate(SuFecha) ' Devuelve True. MiComprobacion = IsDate(SinFecha) ' Devuelve False.
Requisitos Versión 1 Consulte también Función CDate | Función IsArray | Función IsEmpty | Función IsNull | Función IsNumeric | Función IsObject | Función VarType
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función IsEmpty Devuelve un valor de tipo booleano que indica si se ha inicializado una variable. IsEmpty(expresión)
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 121 de 264
El argumento expresión puede ser cualquier expresión. Sin embargo dado que IsEmpty se utiliza para determinar si se inicializan las variables individuales, el argumento expresión es muy a menudo un nombre de variable simple. Observaciones IsEmpty devuelve True si la variable no está inicializada, o está explícitamente establecida como Empty; si no, devuelve False. False se devuelve siempre si expresión contiene más de una variable. El siguiente ejemplo utiliza la función IsEmpty para determinar si se ha inicializado una variable: Dim MiVar, MiComprobacion MiComprobacion = IsEmpty(MiVar) MiVar = Null MiComprobacion = IsEmpty(MiVar) MiVar = Empty MiComprobacion = IsEmpty(MiVar)
' ' ' ' '
Devuelve True. Asigna Null. Devuelve False. Asigna Empty. Devuelve True.
Requisitos Versión 1 Consulte también Función IsArray | Función IsDate | Función IsNull | Función IsNumeric | Función IsObject | Función VarType
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función IsNull Devuelve un valor de tipo booleano que indica si una expresión contiene datos no válidos (Null). IsNull(expresión)
El argumento expresión puede ser cualquier expresión. Observaciones IsNull devuelve True si expresión es Null, es decir, contiene datos no válidos; si no, IsNull devuelve False. Si expresión contiene más de una variable, Null en cualquier variable de constituyente hace que se devuelva True para toda la expresión.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 122 de 264
El valor Null indica que la variable contiene datos no válidos. Null no es lo mismo que Empty, que indica que una variable no se ha inicializada aún. Tampoco es lo mismo que una cadena de longitud cero (""), a la que a veces se hace referencia como una cadena de tipo null. Atención Utilice la función IsNull para determinar si una expresión contiene un valor Null. Las expresiones que podría esperar que se evaluaran como True bajo algunas circunstancias, tales como If Var = Null and If Var <> Null, son siempre False. Esto se debe a que cualquier expresión que contiene Null es en sí misma Null y, por tanto, False. El siguiente ejemplo utiliza la función IsNull para determinar si una variable contiene Null: Dim MiVar, MiComprobacion MiComprobacion = IsNull(MiVar) MiVar = Null MiComprobacion = IsNull(MiVar) MiVar = Empty MiComprobacion = IsNull(MiVar)
' ' ' ' '
Devuelve False. Asigna Null. Devuelve True. Asigna Empty. Devuelve False.
Requisitos Versión 1 Consulte también Función IsArray | Función IsDate | Función IsEmpty | Función IsNumeric | Función IsObject | Función VarType
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función IsNumeric Devuelve un valor de tipo booleano que indica si se puede evaluar una expresión como un número. IsNumeric(expresión)
El argumento expresión puede ser cualquier expresión. Observaciones IsNumeric devuelve True si toda la expresión se reconoce como un número; si no, devuelve False. IsNumeric devuelve False si expresión es una expresión de fecha. El siguiente ejemplo utiliza la función IsNumeric para determinar si una variable se puede evaluar
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 123 de 264
como un número: Dim MiVar, MiComprobacion MiVar = 53 ' Asigna un valor. MiComprobacion = IsNumeric(MiVar) ' Devuelve True. MiVar = "459.95" ' Asigna un valor. MiComprobacion = IsNumeric(MiVar) ' Devuelve True. MiVar = "45 Help" ' Asigna un valor. MiComprobacion = IsNumeric(MiVar) ' Devuelve False.
Requisitos Versión 1 Consulte también Función IsArray | Función IsDate | Función IsEmpty | Función IsNull | Función IsObject | Función VarType
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función IsObject Devuelve un valor de tipo booleano que indica si una expresión hace referencia a un objeto de automatización válido. IsObject(expresión)
El argumento expresión puede ser cualquier expresión. Observaciones IsObject devuelve True si expresión es una variable del subtipo Object o un objeto definido por el usuario; si no, devuelve False. El siguiente ejemplo utiliza la función IsObject para determinar si un identificador representa una variable de objeto: Dim MiEntero, MiComprobacion, MiObjeto Set MiObjeto = Me MiComprobacion = IsObject(MiObjeto) ' Devuelve True. MiComprobacion = IsObject(MiEntero) ' Devuelve False.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 124 de 264
Requisitos Versión 1 Consulte también Función IsArray | Función IsDate | Función IsEmpty | Función IsNull | Función IsNumeric | Función Set | Función VarType
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función Join Devuelve una cadena creada al combinar un número de subcadenas contenidas en una matriz. Join(lista[, delimitador])
Argumentos lista Requerido. Matriz unidimensional que contiene subcadenas que se van a combinar. delimitador Opcional. Carácter de cadena utilizado para separar las subcadenas en la cadena de retorno. Si se omite, se utiliza el carácter de espacio (" "). Si delimitador es una cadena de longitud cero, todos los elementos de la lista están concatenados sin ningún delimitador. Observaciones El siguiente ejemplo utiliza la función Join para combinar las subcadenas de MiMatriz: Dim MiCadena Dim MiMatriz(3) MiMatriz(0) = "Sr." MiMatriz(1) = "Juan " MiMatriz(2) = "Pérez " MiMatriz(3) = "Rodríguez" MiCadena = Join(MiMatriz) ' MiCadena contiene "Sr. Juan Pérez Rodríguez".
Requisitos Versión 2 Consulte también
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 125 de 264
Función Split
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función LBound Devuelve el índice menor disponible para la dimensión indicada de una matriz. LBound(matriz[, dimensión])
Argumentos matriz Nombre de la variable de matriz. Sigue las convenciones de nomenclatura estándar de las variables. dimensión Número entero que indica qué enlace menor de la dimensión se devuelve. Utilice 1 para la primera dimensión, 2 para la segunda y así sucesivamente. Si se omite dimensión, se supone 1. Observaciones La función LBound se utiliza con la función UBound para determinar el tamaño de una matriz. Utilice la función UBound para buscar el límite superior de la dimensión de una matriz. El enlace menor para cualquier dimensión es siempre 0. Requisitos Versión 1 Consulte también Instrucción Dim | Instrucción ReDim | Función UBound
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 126 de 264
Función LCase Devuelve una cadena que se ha convertido en minúsculas. LCase(cadena)
El argumento cadena es cualquier expresión de cadena válida. Si cadena contiene Null, se devuelve Null. Observaciones Sólo las letras mayúsculas se convierten en minúsculas; todas las letras minúsculas y los caracteres que no son de letra permanecen sin cambio. El siguiente ejemplo utiliza la función LCase para convertir letras que están en mayúsculas en minúsculas: Dim MiCadena Dim LCaseString MiCadena = "VBSCript" LCaseString = LCase(MiCadena)
' LCaseString contiene "vbscript".
Requisitos Versión 1 Consulte también Función UCase
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función Left Devuelve un número de caracteres especificados desde la parte izquierda de una cadena. Left(cadena, longitud)
Argumentos cadena
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 127 de 264
Expresión de cadena de la que se devuelven los caracteres que están más a la izquierda. Si cadena contiene Null, se devuelve Null. longitud Expresión numérica que indica cuántos caracteres se van a devolver. Si es 0, se devuelve una cadena de longitud cero (""). Si es mayor o igual que el número de caracteres en cadena, se devuelve toda la cadena. Observaciones Para determinar el número de caracteres en cadena, utilice la función Len. El siguiente ejemplo utiliza la función Left para devolver los tres primeros caracteres de MiCadena: Dim MiCadena, LeftString MiCadena = "VBSCript" LeftString = Left(MiCadena, 3) ' LeftString contiene "VBS".
Nota La función LeftB se utiliza con datos de tipo byte contenidos en una cadena. En lugar de especificar el número de caracteres que se van a devolver, longitud especifica el número de bytes. Requisitos Versión 1 Consulte también Función Len | Función Mid | Función Right
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función Len Devuelve el número de caracteres de una cadena o el número de bytes necesarios para almacenar una variable. Len(cadena | variable)
Argumentos cadena Cualquier expresión de cadena válida. Si cadena contiene Null, se devuelve Null.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 128 de 264
variable Cualquier nombre de variable válido. Si variable contiene Null, se devuelve Null. Observaciones El siguiente ejemplo utiliza la función Len para devolver el número de caracteres de una cadena: Dim MiCadena MiCadena = Len("VBSCRIPT") ' MiCadena contiene 8.
Nota La función LenB se utiliza con datos de tipo byte contenidos en una cadena. En lugar de devolver el número de caracteres de una cadena, LenB devuelve el número de bytes utilizados para representar dicha cadena. Requisitos Versión 1 Consulte también Función InStr
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función LoadPicture Devuelve un objeto de imagen. Disponible sólo en plataformas de 32 bits. LoadPicture(imagen)
El argumento imagen es una expresión de cadena que indica el nombre del archivo de imagen que se va a cargar. Observaciones Los formatos de gráficos reconocidos por LoadPicture incluyen archivos de mapa de bits (.bmp), archivos de icono (.ico), archivos de codificación por longitud de línea (.rle), metarchivos (.wmf), metarchivo mejorado (.emf), archivos GIF (.gif) y archivos JPEG (.jpg). Requisitos Versión 2
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 129 de 264
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función Log Devuelve el logaritmo natural de un número. Log(número)
El argumento número puede ser cualquier expresión numérica válida mayor que 0. Observaciones El logaritmo natural es el logaritmo con base e. La constante e es aproximadamente 2,718282. Puede calcular logaritmos de base -n para cualquier número x si divide el logaritmo natural de x por el logaritmo natural de n como sigue: Logn(x) = Log(x) / Log(n)
El siguiente ejemplo ilustra una Función personalizada que calcula logaritmos de base 10: Function Log10(X) Log10 = Log(X) / Log(10) End Function
Requisitos Versión 1 Consulte también Funciones matemáticas derivadas | Función Exp
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 130 de 264
Funciones LTrim, RTrim y Trim Devuelve una copia de una cadena sin espacios iniciales (LTrim), espacios finales (RTrim) o sin ambos (Trim). LTrim(cadena) RTrim(cadena) Trim(cadena)
El argumento cadena es cualquier expresión de cadena válida. Si cadena contiene Null, se devuelve Null. Observaciones El siguiente ejemplo utiliza las funciones LTrim, RTrim y Trim para recortar espacios iniciales, espacios finales y o ambos, respectivamente: Dim MiVar MiVar = LTrim(" MiVar = RTrim(" MiVar = Trim("
vbscript ") vbscript ") vbscript ")
' MiVar contiene "vbscript ". ' MiVar contiene " vbscript". ' MiVar contiene "vbscript".
Requisitos Versión 1 Consulte también Función Left | Función Right
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Funciones matemáticas Función Abs Función Atn Función Cos Función Exp
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 131 de 264
Función Fix Función Int Función Log Función Rnd Función Sgn Función Sin Función Sqr Función Tan Funciones matemáticas derivadas
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función Mid Devuelve un número de caracteres especificado de una cadena. Mid(cadena, inicio[, longitud])
Argumentos cadena Expresión de cadena de la que se devuelven caracteres. Si cadena contiene Null, se devuelve Null. inicio Posición del carácter en cadena en la que comienza la parte que se va a tomar. Si inicio es mayor que el número de caracteres en cadena, Mid devuelve una cadena de longitud cero (""). longitud Número de caracteres que se va a devolver. Si se omite o si existen menos caracteres del número especificado por longitud en el texto (incluido el carácter en inicio), se devuelven todos los caracteres desde la posición de inicio hasta el final de la cadena. Observaciones Para determinar el número de caracteres en cadena, utilice la función Len.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 132 de 264
El siguiente ejemplo utiliza la función Mid para devolver seis caracteres, a partir del cuarto carácter, de una cadena: Dim MiVar MiVar = Mid("¡Qué divertido es VB Script!", 6, 9) ' MiVar contiene "divertido".
Nota La función MidB se utiliza con datos de tipo byte contenidos en una cadena. En lugar de especificar el número de caracteres, los argumentos especifican el número de bytes. Requisitos Versión 1 Consulte también Función Left | Función Len | Funciones LTrim, RTrim, y Trim | Función Right
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función Minute Devuelve un número entero entre 0 y 59, inclusive, que representa el minuto de la hora. Minute(hora)
El argumento hora es cualquier expresión que pueda representar una hora. Si hora contiene Null, se devuelve Null. Observaciones El siguiente ejemplo utiliza la función Minute para devolver el minuto de la hora: Dim MiVar MiVar = Minute(Now)
Requisitos Versión 1 Consulte también Función Day | Función Hour | Función Now | Función Second | Función Time
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 133 de 264
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función Month Devuelve un número entero entre 1 y 12, inclusive, que representa el mes del año. Month(fecha)
El argumento fecha es cualquier expresión que pueda representar una fecha. Si fecha contiene Null, se devuelve Null. Observaciones El siguiente ejemplo utiliza la función Month para devolver el mes actual: Dim MiVar MiVar = Month(Now)
' MiVar contiene el número que corresponde ' al mes actual.
Requisitos Versión 1 Consulte también Función Date | Función Day | Función Now | Función Weekday | Función Year
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función MonthName Devuelve una cadena que indica el mes especificado. MonthName(mes[, abreviatura])
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 134 de 264
Argumentos mes Requerido. La designación numérica del mes. Por ejemplo, enero es 1, febrero es 2 y así sucesivamente. abreviatura Opcional. Valor de tipo booleano que indica si el nombre del mes se va a abreviar. Si se omite, el valor predeterminado es False, que significa que el nombre del mes no está abreviado. Observaciones El siguiente ejemplo utiliza la función MonthName para devolver un nombre de mes abreviado para una expresión de fecha: Dim MiVar MiVar = MonthName(10, True) ' MiVar contiene "Oct".
Requisitos Versión 2 Consulte también Función WeekdayName
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función MsgBox Muestra un mensaje en un cuadro de diálogo, espera a que el usuario haga clic en un botón y devuelve un valor que indica el botón en el que se hizo clic. MsgBox(solicitud[, botones] [, título] [, archivoayuda, contexto])
Argumentos solicitud Expresión de cadena mostrada como el mensaje en el cuadro de diálogo. La longitud máxima de solicitud es de aproximadamente 1024 caracteres, según el ancho de los caracteres utilizados. Si prompt está formado por más de una línea, puede separar las líneas con un carácter de retorno de carro (Chr(13)), un carácter de nueva línea (Chr(10)) o la combinación de carácter de retorno de carro–nueva línea (Chr(13) & Chr(10)) entre cada línea.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 135 de 264
botones Expresión numérica que es la suma de valores que especifican el número y tipo de botones que se van a mostrar, el estilo de icono que se va a utilizar, la identidad del botón predeterminado y la modalidad del cuadro de mensaje. Consulte la sección Valores para ver los valores. Si se omite, el valor predeterminado para botones es 0. título Expresión de cadena mostrada en la barra de título del cuadro de diálogo. Si omite título, el nombre de la aplicación se sitúa en la barra de título. archivoayuda Expresión de cadena que identifica el archivo de Ayuda que se va a utilizar para proporcionar Ayuda interactiva para el cuadro de diálogo. Si se proporciona archivoayuda, también se debe proporcionar contexto. No está disponible en plataformas de 16 bits. contexto Expresión numérica que identifica el número de contexto de Ayuda asignado por el autor de la Ayuda para el tema de Ayuda apropiado. Si se proporciona contexto, también se debe proporcionar archivoayuda. No está disponible en plataformas de 16 bits. Valores Los valores del argumento botones son: Constante vbOKOnly vbOKCancel vbAbortRetryIgnore vbYesNoCancel vbYesNo vbRetryCancel vbCritical vbQuestion vbExclamation vbInformation vbDefaultButton1 vbDefaultButton2 vbDefaultButton3 vbDefaultButton4 vbApplicationModal
Valor 0 1 2 3 4 5 16 32 48 64 0 256 512 768 0
vbSystemModal
4096
Descripción Muestra sólo el botón Aceptar. Muestra los botones Aceptar y Cancelar. Muestra los botones Anular, Reintentar e Ignorar. Muestra los botones Sí, No y Cancelar. Muestra los botones Sí y No. Muestra los botones Reintentar y Cancelar. Muestra el icono Mensaje crítico. Muestra el icono Consulta de advertencia. Muestra el icono Mensaje de advertencia. Muestra el icono Mensaje de información. El primer botón es el predeterminado. El segundo botón es el predeterminado. El tercer botón es el predeterminado. El cuarto botón es el predeterminado. Cuadro de diálogo modal de la aplicación. El usuario debe responder al cuadro de diálogo antes de continuar trabajando en la aplicación actual. Cuadro de diálogo modal del sistema. Se suspenden todas las aplicaciones hasta que el usuario responda al cuadro de mensaje.
El primer grupo de valores (0–5) describe el número y tipo de botones mostrados en el cuadro de diálogo; el segundo grupo (16, 32, 48, 64) describe el estilo de icono; el tercer grupo (0, 256, 512, 768) determina qué botón es el predeterminado y el cuarto grupo (0, 4096) determina la modalidad del cuadro de mensaje. Cuando agregue números para crear un valor final para el argumento botones, utilice sólo un número para cada grupo. Valores de retorno
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 136 de 264
La función MsgBox tiene los siguientes valores de retorno: Constante Valor vbOK 1 Aceptar vbCancel 2 Cancelar vbAbort 3 Anular vbRetry 4 Reintentar vbIgnore 5 Ignorar vbYes 6 Sí vbNo 7 No
Botón
Observaciones Cuando se proporcionan archivoayuda y contexto, el usuario puede presionar F1 para ver el tema de Ayuda correspondiente al contexto. Si el cuadro de diálogo muestra un botón Cancelar, presionar la tecla ESC tiene el mismo efecto que hacer clic en Cancelar. Si el cuadro de diálogo contiene un botón Ayuda, se proporciona Ayuda interactiva para el cuadro de diálogo. Sin embargo, no se devuelve ningún valor hasta que se haga clic en uno de los otros botones. Cuando la función MsgBox se utiliza con Microsoft Internet Explorer, el título de cualquier diálogo presentado siempre contiene "VBScript:" para diferenciarlo de los cuadros de diálogo estándar del sistema. El siguiente ejemplo utiliza la función MsgBox para mostrar un cuadro de mensaje y devolver un valor que describe el botón en el que se hizo clic: Dim MiVar MiVar = MsgBox ("Hola a todos.", 65, "Ejemplo de MsgBox") ' MiVar contiene 1 ó 2, según el botón en que se hizo clic.
Requisitos Versión 1 Consulte también Función InputBox
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 137 de 264
Función Now Devuelve la fecha y hora actuales según la configuración de fecha y hora del sistema de su equipo. Now
Observaciones El siguiente ejemplo utiliza la función Now para devolver la fecha y hora actuales: Dim MiVar MiVar = Now ' MiVar contiene la fecha y hora actuales.
Requisitos Versión 1 Consulte también Función Date | Función Day | Función Hour | Función Minute | Función Month | Función Second | Función Time | Función Weekday | Función Year
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función Oct Devuelve una cadena que representa el valor octal de un número. Oct(número)
El argumento número es cualquier expresión válida. Observaciones Si número no es ya un número entero, se redondea al número entero más cercano antes de evaluarse. Si número es
devuelve Oct
Null Null. Empty Zero (0). Cualquier otro número Hasta 11 caracteres octales,
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 138 de 264
Puede representar números octales directamente si precede los números del intervalo apropiado con &O. Por ejemplo, &O10 es la notación octal para el valor decimal 8. El siguiente ejemplo utiliza la función Oct para devolver el valor octal de un número: Dim MiOct MiOct = Oct(4) MiOct = Oct(8) MiOct = Oct(459)
' Devuelve 4. ' Devuelve 10. ' Devuelve 713.
Requisitos Versión 1 Consulte también Función Hex
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función Replace Devuelve una cadena en la que una subcadena se ha sustituido por otra subcadena un número de veces especificado. Replace(expresión, buscar, reemplazarCon[, inicio[, número[, comparar]]])
Argumentos expresión Requerido. Expresión de cadena que contiene la subcadena que se va a reemplazar. buscar Requerido. Subcadena que se busca. reemplazarCon Requerido. Subcadena de reemplazo. inicio Opcional. Posición dentro de expresión donde va a comenzar la subcadena de búsqueda. Si se omite, se supone 1. Se debe utilizar junto con número. número Opcional. Número de sustituciones de subcadena que se va a realizar. Si se omite, el valor predeterminado es -1, que significa hacer todas las sustituciones posibles. Se debe utilizar junto con inicio. comparar
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 139 de 264
Opcional. Valor numérico que indica el tipo de comparación que se va a utilizar cuando se evalúen subcadenas. Consulte la sección Valores para ver los valores. Si se omite, el valor predeterminado es 0, que significa realizar una comparación binaria. Valores El argumento comparar puede tener los siguientes valores: Constante Valor Descripción vbBinaryCompare 0 Realiza una comparación binaria. vbTextCompare 1 Realiza una comparación textual. Valores de retorno Replace devuelve los siguientes valores: Si expresión es de longitud cero expresión es Null buscar es de longitud cero reemplazarcon es de longitud cero inicio > Len(expresión) número es 0
Replace devuelve Cadena de longitud cero (""). Un error. Copia de expresión. Copia de expresión con todas las apariciones de buscar eliminadas. Cadena de longitud cero. Copia de expresión.
Observaciones El valor de retorno de la función Replace es una cadena, con sustituciones realizadas, que comienza en la posición especificada por inicio y termina al final de la cadena expresión. No es una copia de la cadena original de principio a fin. El siguiente ejemplo utiliza la función Replace para devolver una cadena: Dim MiCadena MiCadena = Replace("XXpXXPXXp", "p", "Y") MiCadena = Replace("XXpXXPXXp", "p", "Y",
' Una comparación binaria que comienza e ' Una comparación textual que comienza e
Requisitos Versión 2 Consulte también Función Filter
© 2001 Microsoft Corporation. Reservados todos los derechos.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 140 de 264
Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función RGB Devuelve un número entero que representa un valor de color RGB. RGB(rojo, verde, azul)
Argumentos rojo Requerido. Número en el intervalo 0-255 que representa el componente rojo del color. verde Requerido. Número en el intervalo 0-255 que representa el componente verde del color. azul Requerido. Número en el intervalo 0-255 que representa el componente azul del color. Observaciones Los métodos y propiedades de aplicación que aceptan una especificación de color esperan que dicha especificación sea un número que representa un valor de color RGB. Un valor de color RGB especifica la intensidad relativa de rojo, verde y azul para hacer que se muestre un color específico. El byte menor contiene el valor para rojo, el byte medio contiene el valor para verde y el byte mayor contiene el valor para azul. Para aplicaciones que necesitan invertir el orden de bytes, la siguiente función proporcionará la misma información con los bytes invertidos: Function RevRGB(rojo, verde, azul) RevRGB= CLng(azul + (verde * 256) + (rojo * 65536)) End Function
El valor de cualquier argumento para RGB que sobrepase 255 se supone que es 255. Requisitos Versión 2
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 141 de 264
Función Right Devuelve un número de caracteres especificados desde la parte derecha de una cadena. Right(cadena, longitud)
Argumentos cadena Expresión de cadena de la que se devuelven los caracteres que están más a la derecha. Si cadena contiene Null, se devuelve Null. longitud Expresión numérica que indica cuántos caracteres se van a devolver. Si es 0, se devuelve una cadena de longitud cero. Si es mayor o igual que el número de caracteres en cadena, se devuelve toda la cadena. Observaciones Para determinar el número de caracteres en cadena, utilice la función Len. El siguiente ejemplo utiliza la función Right para devolver un número de caracteres especificado desde la parte derecha de una cadena: Dim CualqCadena, MiCdn CualqCadena = "Hola a todos" MiCdn = Right(CualqCadena, 1) MiCdn = Right(CualqCadena, 6) MiCdn = Right(CualqCadena, 20)
' ' ' '
Define una cadena. Devuelve "s". Devuelve " todos". Devuelve "Hola a todos".
Nota La función RightB se utiliza con datos de tipo byte contenidos en una cadena. En lugar de especificar el número de caracteres que se van a devolver, longitud especifica el número de bytes. Requisitos Versión 1 Consulte también Función Left | Función Len | Función Mid
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 142 de 264
Función Rnd Devuelve un número aleatorio. Rnd[(número)]
El argumento número puede ser cualquier expresión numérica válida. Observaciones La función Rnd devuelve un valor menor que 1 pero mayor o igual que 0. El valor de número determina cómo Rnd genera un número aleatorio: Si número es Menor que cero Mayor que cero Igual que cero No proporcionado
Rnd genera El mismo número siempre, utilizando número como inicialización. El siguiente número aleatorio de la secuencia. El número generado más recientemente. El siguiente número aleatorio de la secuencia.
Para cualquier inicialización dada, se genera la misma secuencia de números ya que cada llamada sucesiva a la función Rnd utiliza el número anterior como inicialización para el siguiente número de la secuencia. Antes de llamar a Rnd, utilice la instrucción Randomize sin argumento para inicializar el generador de números aleatorios con una inicialización basada en el temporizador del sistema. Para producir números enteros aleatorios dentro de un intervalo dado, utilice esta fórmula: Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
Aquí, upperbound es el número mayor del intervalo y lowerbound es el número menor. Nota Para repetir secuencias de números aleatorios, llame a Rnd con un argumento negativo inmediatamente antes de utilizar Randomize con un argumento numérico. Si utiliza Randomize con el mismo valor que para número no se repetirá la secuencia anterior. Requisitos Versión 1 Consulte también Instrucción Randomize
© 2001 Microsoft Corporation. Reservados todos los derechos.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 143 de 264
Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función Round Devuelve un número redondeado a un número especificado de lugares decimales. Round(expresión[, lugaresdecimales])
Argumentos expresión Requerido. Expresión numérica que se redondea. lugaresdecimales Opcional. Número que indica cuántos lugares a la derecha del decimal se incluyen en el redondeo. Si se omite, la función Round devuelve números enteros. Observaciones El siguiente ejemplo utiliza la función Round para redondear un número a dos lugares decimales: Dim MiVar, pi pi = 3,14159 MiVar = Round(pi, 2) ' MiVar contiene 3,14.
Requisitos Versión 2 Consulte también Funciones Int y Fix
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función ScriptEngine Devuelve una cadena que representa el lenguaje de ejecución de secuencias de comandos en uso. ScriptEngine
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 144 de 264
Valores de retorno La función ScriptEngine puede devolver cualquiera de las siguientes cadenas: Cadena VBScript JScript VBA
Descripción Indica que Microsoft® Visual Basic® Scripting Edition es el motor actual de ejecución de secuencias de comandos. Indica que Microsoft JScript® es el motor actual de ejecución de secuencias de comandos. Indica que Microsoft Visual Basic para Aplicaciones es el motor actual de ejecución de secuencias de comandos.
Observaciones El siguiente ejemplo utiliza la función ScriptEngine para devolver una cadena que describe el lenguaje de ejecución de secuencias de comandos en uso: Function ObtenerInfoScriptEngine Dim s s = "" ' Crea una cadena con la información necesaria. s = ScriptEngine & " Versión " s = s & ScriptEngineMajorVersion & "." s = s & ScriptEngineMinorVersion & "." s = s & ScriptEngineBuildVersion ObtenerInfoScriptEngine = s ' Devuelve el resultado. End Function
Requisitos Versión 2 Consulte también Función ScriptEngineBuildVersion | Función ScriptEngineMajorVersion | Función ScriptEngineMinorVersion
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función ScriptEngineBuildVersion Devuelve el número de la versión de compilación del motor de ejecución de secuencias de comandos en uso. ScriptEngineBuildVersion
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 145 de 264
Observaciones El valor de retorno corresponde exactamente a la información de versión contenida en el archivo DLL del lenguaje de ejecución de secuencias de comandos en uso. El siguiente ejemplo utiliza la función ScriptEngineBuildVersion para devolver el número de versión de compilación del motor de ejecución de secuencias de comandos: Function ObtenerInfoScriptEngine Dim s s = "" ' Crea una cadena con la información necesaria. s = ScriptEngine & " versión " s = s & ScriptEngineMajorVersion & "." s = s & ScriptEngineMinorVersion & "." s = s & ScriptEngineBuildVersion ObtenerInfoScriptEngine = s ' Devuelve el resultado. End Function
Requisitos Versión 2 Consulte también Función ScriptEngine | Función ScriptEngineMajorVersion | Función ScriptEngineMinorVersion
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función ScriptEngineMajorVersion Devuelve el número de versión mayor del motor de ejecución de secuencias de comandos en uso. ScriptEngineMajorVersion
Observaciones El valor de retorno corresponde exactamente a la información de versión contenida en el archivo DLL del lenguaje de ejecución de secuencias de comandos en uso. El siguiente ejemplo utiliza la función ScriptEngineMajorVersion para devolver el número de versión del motor de ejecución de secuencias de comandos: Function ObtenerInfoScriptEngine
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 146 de 264
Dim s s = "" ' Crea una cadena con la información necesaria. s = ScriptEngine & " versión " s = s & ScriptEngineMajorVersion & "." s = s & ScriptEngineMinorVersion & "." s = s & ScriptEngineBuildVersion ObtenerInfoScriptEngine = s ' Devuelve el resultado. End Function
Requisitos Versión 2 Consulte también Función ScriptEngine | Función ScriptEngineBuildVersion | Función ScriptEngineMinorVersion
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función ScriptEngineMinorVersion Devuelve el número de versión menor del motor de ejecución de secuencias de comandos en uso. ScriptEngineMinorVersion
Observaciones El valor de retorno corresponde exactamente a la información de versión contenida en el archivo DLL del lenguaje de ejecución de secuencias de comandos en uso. El siguiente ejemplo utiliza la función ScriptEngineMinorVersion para devolver el número de versión menor del motor de ejecución de secuencias de comandos: Function ObtenerInfoScriptEngine Dim s s = "" ' Crea una cadena con la información necesaria. s = ScriptEngine & " versión " s = s & ScriptEngineMajorVersion & "." s = s & ScriptEngineMinorVersion & "." s = s & ScriptEngineBuildVersion ObtenerInfoScriptEngine = s ' Devuelve el resultado. End Function
Requisitos
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 147 de 264
Versión 2 Consulte también Función ScriptEngine | Función ScriptEngineBuildVersion | Función ScriptEngineMajorVersion
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función Second Devuelve un número entero entre 0 y 59, inclusive, que representa el segundo del minuto. Second(tiempo)
El argumento tiempo es cualquier expresión que pueda representar el tiempo. Si tiempo contiene Null, se devuelve Null. Observaciones El siguiente ejemplo utiliza la función Second para devolver el segundo actual: Dim MiSeg MiSeg = Second(Now) ' MiSeg contiene el número que representa el segundo actual.
Requisitos Versión 1 Consulte también Función Day | Función Hour | Función Minute | Función Now | Función Time
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 148 de 264
Función SetLocale Establece la configuración regional global y devuelve la anterior. SetLocale(lcid)
El argumento Idconfreg puede ser cualquier valor de 32 bits o cadena corta que identifique únicamente una configuración regional geográfica. Los valores reconocidos se pueden encontrar en el cuadro de Id. de configuración regional. Observaciones Si Idconfreg es cero, la configuración regional se establece de manera que coincida con la configuración actual del sistema. Una configuración regional es un conjunto de información de preferencias del usuario que incluye su idioma, país o región y convenciones culturales. La configuración regional determina cosas como la apariencia del teclado, el orden de clasificación alfabética, así como los formatos de fecha, hora, número y moneda. El siguiente ejemplo ilustra el uso de la función SetLocale. Para utilizar este código, pegue todo el ejemplo entre las etiquetas
de una página HTML estándar. Escriba la fecha en formato para Reino Unido:
Escriba un precio en marcos alemanes: Aquí tiene la equivalencia en libras esterlinas:
<script language="vbscript"> Dim configRegionalActual ' Obtiene la configuración regional actual configRegionalActual = GetLocale Sub Button1_onclick Dim original original = SetLocale("en-gb") mydate = CDate(UKDate.value) ' IE establece siempre la configuración regional como Inglés EE.UU., ' así pues, use la variable configRegionalActual para establecer la ' configuración regional como Inglés EE.UU. original = SetLocale(configRegionalActual) USDate.value = FormatDateTime(miFecha,vbShortDate) End Sub Sub button2_onclick Dim original original = SetLocale("de") miValor = CCur(GermanNumber.value) original = SetLocale("en-gb") USNumber.value = FormatCurrency(miValor) End Sub
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 149 de 264
Consulte también Función GetLocale | Cuadro de Id. de configuración regional (LCID)
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función Sgn Devuelve un número entero que indica el signo de un número. Sgn(número)
El argumento número puede ser cualquier expresión numérica válida. Valores de retorno La función Sgn tiene los siguientes valores de retorno: Si número es Sgn devuelve Mayor que cero 1 Igual que cero 0 Menor que cero -1 Observaciones El signo del argumento número determina el valor de retorno de la función Sgn. El siguiente ejemplo utiliza la función Sgn para determinar el signo de un número: Dim MiVar1, MiVar2, MiVar3, MiSigno MiVar1 = 12: MiVar2 = -2.4: MiVar3 = 0 MiSigno = Sgn(MiVar1) ' Devuelve 1. MiSigno = Sgn(MiVar2) ' Devuelve -1. MiSigno = Sgn(MiVar3) ' Devuelve 0.
Requisitos Versión 1
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 150 de 264
Consulte también Función Abs
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función Sin Devuelve el seno de un ángulo. Sin(número)
El argumento número puede ser cualquier expresión numérica válida que expresa un ángulo en radianes. Observaciones La función Sin toma un ángulo y devuelve la razón de dos lados de un triángulo recto. La razón es el ángulo dividido por la longitud de la hipotenusa. El resultado está en el intervalo entre -1 y 1. Para convertir grados en radianes, multiplique los radianes por pi /180. Para convertir los radianes en grados, multiplique los radianes por 180/pi. El siguiente ejemplo utiliza la función Sin para devolver el seno de un ángulo: Dim MiAngulo, MiCosecante MiAngulo = 1.3 ' Define el ángulo en radianes. MiCosecante = 1 / Sin(MiAngulo) ' Calcula la cosecante.
Requisitos Versión 1 Consulte también Función Atn | Función Cos | Funciones matemáticas derivadas | Función Tan
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 151 de 264
Visual Basic Scripting Edition
Función Space Devuelve una cadena formada por el número de espacios especificado. Space(número)
El argumento número es el número de espacios que desea que tenga la cadena. Observaciones El siguiente ejemplo utiliza la función Space para devolver una cadena formada por un número de espacios especificado: Dim MiCadena MiCadena = Space(10) ' Devuelve una cadena con 10 espacios. MiCadena = "Hola" & Space(10) & "a todos" ' Inserta 10 espacios entre dos cadenas.
Requisitos Versión 1 Consulte también Función String
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función Split Devuelve una matriz unidimensional con base cero que contiene un número de subcadenas especificado. Split(expresión[, delimitador[, número[, comparar]]])
Argumentos expresión Necesario. Expresión de cadena que contiene subcadenas y delimitadores. Si expresión es una cadena de longitud cero, Split devuelve una matriz vacía, es decir, una matriz sin elementos ni datos.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 152 de 264
delimitador Opcional. Carácter de cadena utilizado para identificar límites de subcadenas. Si se omite, se supone que el carácter de espacio (" ") es el delimitador. Si delimitador es una cadena de longitud cero, se devuelve una matriz de elemento único que contiene la cadena expresión completa. número Opcional. Número de subcadenas que se va a devolver; -1 indica que se devuelven todas las subcadenas. comparar Opcional. Valor numérico que indica el tipo de comparación que se va a utilizar cuando se evalúen subcadenas. Consulte la sección Valores para ver los valores. Valores El argumento comparar puede tener los siguientes valores: Constante Valor Descripción vbBinaryCompare 0 Realiza una comparación binaria. vbTextCompare 1 Realiza una comparación textual. Observaciones El siguiente ejemplo utiliza la función Split para devolver una matriz de una cadena. La función realiza una comparación textual del delimitador y devuelve todas las subcadenas. Dim MiCadena, MiMatriz, Msj MiCadena = "VBScriptXisXfun!" MiMatriz = Split(MiCadena, "x", -1, 1) ' MiMatriz(0) contiene "¡Qué divertido". ' MiMatriz(1) contiene "es". ' MiMatriz(2) contiene "VBScript!". Msj = MiMatriz(0) & " " & MiMatriz(1) Msj = Msj & " " & MiMatriz(2) MsgBox Msj
Requisitos Versión 2 Consulte también Función Join
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 153 de 264
Función Sqr Devuelve la raíz cuadrada de un número. Sqr(número)
El argumento número puede ser cualquier expresión numérica válida mayor o igual que 0. Observaciones El siguiente ejemplo utiliza la función Sqr para calcular la raíz cuadrada de un número: Dim MiSqr MiSqr = Sqr(4) MiSqr = Sqr(23) MiSqr = Sqr(0) MiSqr = Sqr(-4)
' ' ' '
Devuelve 2. Devuelve 4,79583152331272. Devuelve 0. Genera un error en tiempo de ejecución.
Requisitos Versión 1
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función StrComp Devuelve un valor que indica el resultado de una comparación de cadena. StrComp(cadena1, cadena2[, comparar])
Argumentos cadena1 Necesario. Cualquier expresión de cadena válida. cadena2 Necesario. Cualquier expresión de cadena válida. comparar Opcional. Valor numérico que indica el tipo de comparación que se va a utilizar cuando se evalúen cadenas. Si se omite, se realiza una comparación binaria. Consulte la sección Valores para ver los valores. Valores
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 154 de 264
El argumento comparar puede tener los siguientes valores: Constante Valor Descripción vbBinaryCompare 0 Realiza una comparación binaria. vbTextCompare 1 Realiza una comparación textual. Valores de retorno La función StrComp tiene los siguientes valores de retorno: Si cadena1 es menor que cadena2 cadena1 es igual que cadena2 cadena1 es mayor que cadena2 cadena1 o cadena2 es Null
StrComp devuelve -1 0 1 Null
Observaciones El siguiente ejemplo utiliza la función StrComp para devolver el resultado de una comparación de cadena. Si el tercer argumento es 1, se realiza una comparación textual; si el tercer argumento es 0 o se omite, se realiza una comparación binaria. Dim MiCdn1, MiCdn2, MiComp MiCdn1 = "ABCD": MiCdn2 = "abcd" ' Define variables. MiComp = StrComp(MiCdn1, MiCdn2, 1) ' Devuelve 0. MiComp = StrComp(MiCdn1, MiCdn2, 0) ' Devuelve -1. MiComp = StrComp(MiCdn2, MiCdn1) ' Devuelve 1.
Requisitos Versión 1
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función String Devuelve una cadena de caracteres repetidos con la longitud especificada. String(número, carácter)
Argumentos
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 155 de 264
número Longitud de la cadena de retorno. Si número contiene Null, se devuelve Null. carácter Código de carácter que especifica el carácter o expresión de cadena cuyo primer carácter se utiliza para construir la cadena de retorno. Si carácter contiene Null, se devuelve Null. Observaciones Si especifica un número para carácter mayor que 255, String convierte el número en un código de carácter válido mediante la fórmula: carácter Mod 256
El siguiente ejemplo utiliza la función String para devolver cadenas de caracteres repetidos con la longitud especificada: Dim MiCadena MiCadena = String(5, "*") ' Devuelve "*****". MiCadena = String(5, 42) ' Devuelve "*****". MiCadena = String(10, "ABC") ' Devuelve "AAAAAAAAAA".
Requisitos Versión 1 Consulte también Función Space
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función StrReverse Devuelve una cadena en la que se invierte el orden de caracteres de una cadena especificada. StrReverse(cadena1)
El argumento cadena1 es la cadena cuyos caracteres se van a invertir. Si cadena1 es una cadena de longitud cero (""), se devuelve una cadena de longitud cero. Si cadena1 es Null, se produce un error. Observaciones
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 156 de 264
El siguiente ejemplo utiliza la función StrReverse para devolver una cadena en orden inverso: Dim MiCdn MiCdn = StrReverse("VBScript") ' MiCdn contiene "tpircSBV".
Requisitos Versión 2
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función Tan Devuelve la tangente de un ángulo. Tan(número)
El argumento número puede ser cualquier expresión numérica válida que exprese un ángulo en radianes. Observaciones Tan toma un ángulo y devuelve la razón de dos lados de un triángulo recto. La razón es la longitud del lado opuesto al ángulo dividido por el lado adyacente al ángulo. Para convertir grados en radianes, multiplique los grados por pi /180. Para convertir los radianes en grados, multiplique los radianes por 180/pi. El siguiente ejemplo utiliza la función Tan para devolver la tangente de un ángulo: Dim MiAngulo, MiCotangente MiAngulo = 1.3 ' Define un ángulo en radianes. MiCotangente = 1 / Tan(MiAngulo) ' Calcula la cotangente.
Requisitos Versión 1 Consulte también Función Atn | Función Cos | Funciones matemáticas derivadas | Función Sin
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 157 de 264
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función Time Devuelve un tipo Variant de subtipo Date que indica la hora actual del sistema. Time
Observaciones El siguiente ejemplo utiliza la función Time para devolver la hora actual del sistema: Dim MiHora MiHora = Time
' Devuelve la hora actual del sistema.
Requisitos Versión 1 Consulte también Función Date
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función Timer Devuelve el número de segundos que han pasado desde las 12:00 a.m. (medianoche). Timer
Observaciones El siguiente ejemplo utiliza la función Timer para determinar el tiempo que tarda en repetirse un bucle For...Next N veces:
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 158 de 264
Function TimeIt(N) Dim HoraInicio, HoraFin HoraInicio = Timer For I = 1 To N Next HoraFin = Timer TimeIt = HoraFin - HoraInicio End Function
Requisitos Versión 5 Consulte también Instrucción Randomize
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función TimeSerial Devuelve un tipo Variant de subtipo Date que contiene una hora compuesta por una hora, minuto y segundo específicos. TimeSerial(hora, minuto, segundo)
Argumentos hora Número entre 0 (12:00 a.m.) y 23 (11:00 p.m.), inclusive, o una expresión numérica. minuto Cualquier expresión numérica. segundo Cualquier expresión numérica. Observaciones Para especificar una hora, como 11:59:59, el intervalo de números para cada argumento TimeSerial debe estar en el intervalo aceptado para la unidad; es decir, 0–23 para horas y 0–59 para minutos y segundos. Sin embargo, también puede especificar horas relativas para cada argumento mediante cualquier expresión numérica que represente un número de horas, minutos o segundos antes o después de un período determinado.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 159 de 264
El siguiente ejemplo utiliza expresiones en lugar de números de hora absolutos. La función TimeSerial devuelve una hora para 15 minutos antes (-15) de seis horas antes de la tarde (12 - 6), es decir, 5:45:00 a.m. Dim MiHora1 MiHora1 = TimeSerial(12 - 6, -15, 0)
' Devuelve 5:45:00 AM.
Cuando cualquier argumento sobrepasa el intervalo aceptado para dicho argumento, se aumenta hasta la siguiente unidad mayor apropiada. Por ejemplo, si especifica 75 minutos, se evalúa como una hora y 15 minutos. Sin embargo, si cualquier argumento simple está fuera del intervalo de -32.768 a 32.767, o si la hora especificada por los tres argumentos, directamente o por expresión, hace que la fecha quede fuera del intervalo aceptable de fechas, se produce un error. Requisitos Versión 1 Consulte también Función DateSerial | Función DateValue | Función Hour | Función Minute | Función Now | Función Second | Función TimeValue
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función TimeValue Devuelve un tipo Variant de subtipo Date que contiene la hora. TimeValue(hora)
El argumento hora es normalmente una expresión de cadena que representa una hora desde las 0:00:00 (12:00:00 a.m.) a las 23:59:59 (11:59:59 p.m.), inclusive. Sin embargo, hora puede ser también cualquier expresión que represente una hora dentro de dicho intervalo. Si hora contiene Null, se devuelve Null. Observaciones Puede escribir horas válidas mediante un reloj de 12 o de 24 horas. Por ejemplo, "2:24PM" y "14:24" son argumentos válidos de hora. Si el argumento hora contiene información de fecha, TimeValue no devuelve la información de fecha. Sin embargo, si hora incluye información de fecha no válida, se produce un error.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 160 de 264
El siguiente ejemplo utiliza la función TimeValue para convertir una cadena en una hora. También puede utilizar literales de fecha para asignar directamente una hora a un tipo Variant (por ejemplo, MiHora = #4:35:17 PM#). Dim MiHora MiHora = TimeValue("4:35:17 PM")
' MiHora contiene 4:35:17 PM.
Requisitos Versión 1 Consulte también Función DateSerial | Función DateValue | Función Hour | Función Minute | Función Now | Función Second | Función TimeSerial
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función TypeName Devuelve una cadena que proporciona información del subtipo del tipo Variant de una variable. TypeName(variable)
El argumento variable necesario puede ser cualquier variable. Valores de retorno La función TypeName tiene los siguientes valores de retorno: Valor Byte Integer Long Single Double Currency Decimal Date String Boolean
Descripción Valor byte Valor entero Valor de número entero largo Valor de punto flotante de precisión simple Valor de punto flotante de precisión doble Valor de moneda Valor decimal Valor de fecha u hora Valor de cadena de caracteres Valor booleano: True (verdadero) o False (falso)
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 161 de 264
Empty Null Object Unknown Nothing Error
Sin inicializar Datos no válidos Nombre de tipo real de un objeto Objeto genérico Tipo de objeto desconocido Variable de objeto que aún no hace referencia a una instancia de objeto Error
Observaciones El siguiente ejemplo utiliza la función TypeName para devolver información acerca de una variable: Dim VarMatriz(4), MiTipo NullVar = Null ' Asigna valor Null. MiTipo MiTipo MiTipo MiTipo MiTipo
= = = = =
TypeName("VBScript") TypeName(4) TypeName(37.50) TypeName(NullVar) TypeName(VarMatriz)
' ' ' '
Devuelve "String". Devuelve "Integer". Devuelve"Double". Devuelve "Null". ' Devuelve "Variant()".
Requisitos Versión 2 Consulte también Función IsArray | Función IsDate | Función IsEmpty | Función IsNull | Función IsNumeric | Función IsObject | Función VarType
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función UBound Devuelve el subíndice más largo disponible para la dimensión indicada de una matriz. UBound(matriz[, dimensión])
Argumentos matriz Necesario. Nombre de la variable de matriz. Sigue las convenciones de nomenclatura estándar de
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 162 de 264
las variables. dimensión Opcional. Número entero que indica qué límite superior de la dimensión se devuelve. Utilice 1 para la primera dimensión, 2 para la segunda y así sucesivamente. Si se omite dimensión, se toma 1. Observaciones La función UBound se utiliza con la función LBound para determinar el tamaño de una matriz. Utilice la función LBound para buscar el límite de la dimensión de una matriz. El límite inferior para cualquier dimensión es siempre 0. Como resultado, UBound devuelve los siguientes valores para una matriz con estas dimensiones: Dim A(100,3,4)
Instrucción UBound(A, 1) UBound(A, 2) UBound(A, 3)
Valor de retorno 100 3 4
Requisitos Versión 1 Consulte también Instrucción Dim | Función LBound | Instrucción ReDim
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función UCase Devuelve una cadena que se ha convertido en mayúsculas. UCase(cadena)
El argumento cadena es cualquier expresión de cadena válida. Si cadena contiene Null, se devuelve Null. Observaciones
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 163 de 264
Sólo las letras minúsculas se convierten en mayúsculas; todas la letras mayúsculas y caracteres sin letra permanecen inalteradas. El siguiente ejemplo utiliza la función UCase para devolver una cadena en mayúsculas: Dim MiPalabra MiPalabra = UCase("Hola a todos")
' Devuelve "HOLA A TODOS".
Requisitos Versión 1 Consulte también Función LCase
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función VarType Devuelve un valor que indica el subtipo de una variable. VarType(variable)
El argumento variable puede ser cualquier variable. Valores de retorno La función VarType devuelve los siguientes valores: Constante vbEmpty vbNull vbInteger vbLong vbSingle vbDouble vbCurrency vbDate vbString vbObject
Valor Descripción 0 Empty (sin inicializar) 1 Null (datos no válidos) 2 Entero 3 Número entero largo 4 Número de punto flotante de precisión simple 5 Número de punto flotante de precisión doble 6 Moneda 7 Fecha 8 Cadena 9 Objeto de automatización
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
vbError 10 vbBoolean 11 vbVariant 12 vbDataObject 13 vbByte 17 vbArray 8192
Página 164 de 264
Error Booleano Variant (usada sólo con matrices de tipo Variant) Un objeto de acceso de datos Byte Matriz
Nota Estas constantes las especifica VBScript. Por ello, pueden usarse los nombres en cualquier parte de su código en lugar de los valores reales. Observaciones La función VarType nunca devuelve el valor para la matriz por sí solo. Se agrega siempre a algún otro valor para indicar una cadena de un tipo concreto. El valor para Variant sólo se devuelve cuando se ha agregado al valor para Matriz para indicar que el argumento a la función VarType es una matriz. Por ejemplo, el valor devuelto por una matriz de enteros se calcula como 2 + 8192, o 8194. Si un objeto tiene una propiedad predeterminada, VarType (objeto) devuelve el tipo de la propiedad predeterminada. El siguiente ejemplo utiliza la función VarType para determinar el subtipo de una variable. Dim MiComprobacion MiComprobacion = VarType(300) MiComprobacion = VarType(#10/19/62#) MiComprobacion = VarType("VBScript")
' Devuelve 2. ' Devuelve 7. ' Devuelve 8.
Requisitos Versión 1 Consulte también Función IsArray | Función IsDate | Función IsEmpty | Función IsNull | Función IsNumeric | Función IsObject | Función TypeName
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función Weekday Devuelve un número entero que representa el día de la semana. Weekday(fecha, [primerdíadelasemana])
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 165 de 264
Argumentos fecha Cualquier expresión que pueda representar una fecha. Si fecha contiene Null, se devuelve Null. primerdíadelasemana Una constante que especifica el primer día de la semana. Si se omite, se toma vbSunday. Valores El argumento primerdíadelasemana tiene estos valores: Constante Valor vbUseSystemDayOfWeek 0 vbSunday 1 vbMonday 2 vbTuesday 3 vbWednesday 4 vbThursday 5 vbFriday 6 vbSaturday 7
Descripción Usa valores de API de idioma nacional (NLS). domingo lunes martes miércoles jueves viernes sábado
Valores de retorno La función Weekday puede devolver cualquiera de estos valores: Constante vbSunday vbMonday vbTuesday vbWednesday vbThursday vbFriday vbSaturday
Valor 1 domingo 2 lunes 3 martes 4 miércoles jueves 5 6 viernes 7 sábado
Descripción
Observaciones El siguiente ejemplo utiliza la función Weekday para obtener el día de la semana de una fecha especificada: Dim MiFecha, MiDiaSemana MiFecha = #19 de octubre de 1962# MiDiaSemana = Weekday(MiFecha)
' Asigna una fecha. ' MiDiaSemana contiene 6 porque MiFecha repres
Requisitos Versión 1 Consulte también
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 166 de 264
Función Date | Función Day | Función Month | Función Now | Función Year
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función WeekdayName Devuelve una cadena que indica el día de la semana especificado. WeekdayName(díadelasemana, abreviatura, primerdíadelasemana)
Argumentos díadelasemana Necesario. La designación numérica para el día de la semana. El valor numérico de cada día depende de la configuración del primerdíadelasemana. abreviatura Opcional. Valor de tipo booleano que indica si el nombre del día de la semana se va a abreviar. Si se omite, el valor predeterminado es False, lo que significa que el nombre del día de la semana no se abrevia. primerdíadelasemana Opcional. Valor numérico que indica el primer día de la semana. Consulte la sección Valores para ver los valores. Valores El argumento primerdíadelasemana puede tener los siguientes valores: Constante Valores Descripción vbUseSystemDayOfWeek 0 Usa valores de API de idioma nacional (NLS). vbSunday 1 domingo (valor predeterminado) vbMonday 2 lunes vbTuesday 3 martes vbWednesday 4 miércoles vbThursday 5 jueves vbFriday 6 viernes vbSaturday 7 sábado Observaciones El siguiente ejemplo utiliza la función WeekDayName para devolver el día especificado:
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Dim MiFecha MiFecha = WeekDayName(6, True)
Página 167 de 264
' MiFecha contiene viernes.
Requisitos Versión 2 Consulte también Función MonthName
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Función Year Devuelve un número entero que representa el año. Year(fecha)
El argumento fecha es cualquier expresión que pueda representar una fecha. Si fecha contiene Null, se devuelve Null. Observaciones El siguiente ejemplo utiliza la función Year para obtener el año a partir de una fecha especificada: Dim MiFecha, MiAño MiFecha = #19 de octubre de 1962# MiAño = Year(MiFecha)
' Asigna una fecha. ' MiAño contiene 1962.
Requisitos Versión 1 Consulte también Función Date | Función Day | Función Month | Función Now | Función Weekday
© 2001 Microsoft Corporation. Reservados todos los derechos.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 168 de 264
Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Palabras claves de VBScript Empty False Nothing Null True Secciones relacionadas Referencia del lenguaje VBScript
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Empty La palabra clave Empty se utiliza para indicar un valor de variable no inicializada. No es igual que Null. Consulte también Null
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 169 de 264
False La palabra clave False tiene un valor igual a 0. Consulte también True
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Nothing La palabra clave Nothing en VBScript se utiliza para disociar una variable de objeto de cualquier objeto real. Utilice la sentencia Set para asignar Nothing a una variable de objeto. Por ejemplo: Set MiObjeto = Nothing
Diversas variables de objeto pueden hacer referencia al mismo objeto real. Cuando se asigna Nothing a una variable de objeto, dicha variable ya no hace referencia a ningún objeto real. Cuando varias variables de objeto hacen referencia al mismo objeto, la memoria y los recursos del sistema asociados con el objeto al que se refiere la variable se liberan sólo después de que todos ellos se han establecido como Nothing, o bien explícitamente mediante Set, o implícitamente después de que la última variable de objeto establecida como Nothing se salga del ámbito. Consulte también Instrucción Dim | Instrucción Set
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Null La palabra clave Null se utiliza para indicar que una variable contiene datos que no son válidos. No es
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 170 de 264
igual que Empty. Consulte también Empty
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
True La palabra clave True tiene un valor igual a -1. Consulte también False
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Métodos En esta sección Método Clear Método Execute Método Raise Método Replace Método Test Secciones relacionadas
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 171 de 264
Referencia del lenguaje VBScript
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Método Clear Borra toda la configuración de propiedades del objeto Err. objeto.Clear
El objeto es siempre el objeto Err. Observaciones Utilice Clear para borrar de manera explícita el objeto Err después de que se haya controlado un error. Esto es necesario, por ejemplo, cuando utiliza el control diferido de errores con On Error Resume Next. VBScript llama al método Clear automáticamente siempre que se ejecuta cualquiera de las siguientes instrucciones:
On Error Resume Next Exit Sub Exit Function
El siguiente ejemplo ilustra el uso del método Clear. On Error Resume Next Err.Raise 6 ' Emite un error de desbordamiento. MsgBox ("Error # " & CStr(Err.Number) & " " & Err.Description) ' Borra el error. Err.Clear
Requisitos Versión 1 Consulte también Propiedad Description | Objeto Err | Propiedad Number | Instrucción OnError | Método Raise | Propiedad Source Se aplica a: Objeto Err
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 172 de 264
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Método Execute Ejecuta la búsqueda de una expresión regular en una cadena especificada. objeto.Execute(cadena)
Argumentos objeto Necesario. Siempre el nombre de un objeto RegExp. cadena Necesario. La cadena de texto sobre la que se ejecuta la expresión regular. Observaciones El modelo real para la búsqueda de la expresión regular se establece con la propiedad Pattern del objeto RegExp. El método Execute devuelve un conjunto de Coincidencias que contiene un objeto Match para cada coincidencia encontrada en la cadena. Execute devuelve un conjunto vacío de Coincidencias si no se encuentra ninguno. La siguiente porción de código ilustra el uso del método Execute: Function RegExpTest(patrn, strng) Dim regEx, Match, Matches ' Crea una variable. Set regEx = New RegExp ' Crea una expresión regular. regEx.Pattern = patrn ' Establece un modelo. regEx.IgnoreCase = True ' Establece la no distinción de mayúsculas y minú regEx.Global = True ' Establece la aplicabilidad global. Set Matches = regEx.Execute(strng) ' Ejecuta la búsqueda. For Each Match in Matches ' Repite el conjunto de coincidencias. RetStr = RetStr & "Coincidencia encontrada en la posición " RetStr = RetStr & Match.FirstIndex & ". El valor de la coincidencia es '" RetStr = RetStr & Match.Value & "'." & vbCRLF Next RegExpTest = RetStr End Function MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))
Requisitos Versión 5
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 173 de 264
Consulte también Método Replace | Método Test Se aplica a: Objeto Regular Expression (RegExp)
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Método Raise Genera un error en tiempo de ejecución. objeto.Raise(número, origen, descripción, archivoayuda, contextodeayuda)
Argumentos objeto Siempre el objeto Err. número Un subtipo de número entero Long que identifica la naturaleza del error. Los errores de VBScript (tanto los errores definidos por VBScript como los definidos por el usuario) están en el intervalo 0–65535. origen Una expresión de cadena que da nombre al objeto o la aplicación que originalmente generó el error. Cuando se configura esta propiedad para un objeto automatizado, utilice la forma proyecto.clase. Si no se especifica nada, se utiliza el Id. programático deI proyecto VBScript actual. descripción Una expresión de cadena que describe el error. Si no se especifica, se examina el valor en número. Si se puede controlar un código de error en tiempo de ejecución de VBScript, se utiliza una cadena proporcionada por VBScript como descripción. Si no existe ningún código de error de VBScript que corresponda a número, se utiliza un mensaje de error genérico. archivoayuda La ruta completa al archivo de Ayuda en el que se puede encontrar ayuda para este error. Si no se especifica, VBScript utiliza la unidad, ruta y nombre de archivo completo del archivo de Ayuda de VBScript. contextodeayuda El Id. de contexto que identifica un tema dentro del archivoayuda que proporciona ayuda para el error. Si se omite, se utiliza el Id. de contexto del archivo de Ayuda de VBScript para el error correspondiente a la propiedad de número, si existe. Valores
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 174 de 264
Todos los argumentos son opcionales excepto número. Si utiliza Raise, sin embargo, sin especificar algunos argumentos, y la configuración de la propiedad del objeto Err contiene valores que no se han borrado, dichos valores se convierten en los valores para su error. Cuando se configura la propiedad número como su propio código de error en un Objeto de automatización, usted agrega su número de código de error a la constante vbObjectError. Por ejemplo, para generar el número de error 1050, asigne vbObjectError + 1050 a la propiedad número. El siguiente ejemplo ilustra el uso del método Raise. On Error Resume Next Err.Raise 6 ' Emite un error de desbordamiento. MsgBox ("Error # " & CStr(Err.Number) & " " & Err.Description) Err.Clear ' Borra el error.
Requisitos Versión 1 Consulte también Método Clear | Propiedad Description | Objeto Err | Propiedad Number | Propiedad Source Se aplica a: Objeto Err
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Método Replace Reemplaza el texto encontrado en la búsqueda de una expresión normal. objeto.Replace(cadena1, cadena2)
Argumentos objeto Necesario. Siempre el nombre de un objeto RegExp. cadena1 Necesario. Cadena1 es la cadena de texto en la que se producirá el reemplazo de texto. cadena2 Necesario. Cadena2 es la cadena de texto de reemplazo.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 175 de 264
Observaciones El modelo actual para el texto que se reemplaza se configura con la propiedad Pattern del objeto RegExp. El método Replace devuelve una copia de la cadena1 con el texto de RegExp.Pattern reemplazado con la cadena2. Si no se encuentra ninguna coincidencia, se devuelve una copia de la cadena1 inalterada. La siguiente porción de código ilustra el uso del método Replace. Function ReplaceTest(patrn, replStr) Dim regEx, str1 ' Crea algunas variables. str1 = "El veloz murciélago hindú comía feliz cardillo y kiwi." Set regEx = New RegExp ' Crea una expresión regular. regEx.Pattern = patrn ' Establece el modelo. regEx.IgnoreCase = True ' Hace distinción entre mayúsculas y minúscula ReplaceTest = regEx.Replace(str1, replStr) ' Realiza el reemplazo. End Function MsgBox(ReplaceTest("murciélago", "gato"))
' Reemplaza 'murciélago' por 'gato'.
Además, el método Replace puede reemplazar subexpresiones en el modelo. La siguiente llamada a la función mostrada en el ejemplo anterior intercambia cada pareja de palabras en la cadena original: MsgBox(ReplaceText("(\S+)(\s+)(\S+)", "$3$2$1"))
' Intercambia parejas de palabras
Requisitos Versión 5 Consulte también Método Execute | Método Test Se aplica a: Objeto Regular Expression (RegExp)
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Método Test Ejecuta la búsqueda de una expresión regular en una cadena específica y devuelve un valor booleano que indica si se encontró un modelo coincidente.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 176 de 264
objeto.Test(cadena)
Argumentos objeto Necesario. Siempre el nombre de un objeto RegExp. cadena Necesario. La cadena de texto sobre la que se ejecuta la expresión regular. Observaciones El modelo real para la búsqueda de la expresión regular se establece mediante la propiedad Pattern del objeto RegExp. La propiedad RegExp.Global no tiene efecto sobre el método Test. El método Test devuelve True si se encuentra un modelo coincidente y si no es así, False. La siguiente porción de código ilustra el uso del método Test. Function RegExpTest(patrn, strng) Dim regEx, retVal ' Crea una variable. Set regEx = New RegExp ' Crea una expresión regular. regEx.Pattern = patrn ' Configura el modelo. regEx.IgnoreCase = False ' Establece la distinción entre mayúsculas y minúsc retVal = regEx.Test(strng) ' Ejecuta la prueba de búsqueda. If retVal Then RegExpTest = "Se encontró una o varias coincidencias." Else RegExpTest = "No se encontró ninguna coincidencia." End If End Function MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))
Requisitos Versión 5 Consulte también Método Execute | Método Replace Se aplica a: Objeto Regular Expression (RegExp)
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 177 de 264
Varios En esta sección Juego de caracteres (0 - 127) Juego de caracteres (128 - 255) Cuadro de Id. de configuración regional (LCID) Secciones relacionadas Referencia del lenguaje VBScript
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Juego de caracteres (0 - 127) La siguiente tabla muestra del 0 al 127. Código Carácter Código 0 32 1 33 2 34 3 35 4 36 5 37 6 38 7 39 8 ** 40 9 ** 41 10 ** 42 11 43 12 44 13 ** 45 14 46 15 _ 47 16 _ 48 17 _ 49
Carácter [espacio] ! " # $ % & ' ( ) * + , . / 0 1
Código 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
Carácter Código @ 96 A 97 B 98 C 99 D 100 E 101 F 102 G 103 H 104 I 105 J 106 K 107 L 108 M 109 N 110 O 111 P 112 Q 113
Carácter ` a b c d e f g h i j k l m n o p q
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
18 19 20 21 22 23 24 25 26 27 28 29 30 31
Página 178 de 264
_ _ _ _ _ _ _ _ _ _ " " -
50 51 52 53 54 55 56 57 58 59 60 61 62 63
2 3 4 5 6 7 8 9 : ; < = > ?
82 83 84 85 86 87 88 89 90 91 92 93 94 95
R S T U V W X Y Z [ \ ] ^ _
114 115 116 117 118 119 120 121 122 123 124 125 126 127
r s t u v w x y z { | } ~
** Los valores 8, 9, 10 y 13 se convierten en caracteres de retroceso, tabulación, avance de línea y retorno de carro, respectivamente. No tienen representación gráfica, pero según la aplicación, pueden afectar a la aparencia visual del texto. No admitido en la plataforma actual. Consulte también Juego de caracteres (128 - 255)
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Juego de caracteres (128 - 255) La siguiente tabla muestra del 128 al 255. Código 128 129 130 131 132 133 134 135
Carácter Código € 160 161 ‚ 162 ƒ 163 ‚‚ 164 … 165 † 166 ‡ 167
Carácter [espacio] ¡ ¢ £ ¤ ¥ ¦ §
Código 192 193 194 195 196 197 198 199
Carácter Código À 224 Á 225 Â 226 Ã 227 Ä 228 Å 229 Æ 230 Ç 231
Carácter à á â ã ä å æ ç
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159
Página 179 de 264
ˆ ‰ Š ‹ Œ Ž
' ' " " · – — ˜ ™ š › œ ž Ÿ
168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191
¨ © ª ‹‹ ¬ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º ›› ¼ ½ ¾ ¿
200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223
È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß
231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254
ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ
No admitido en la plataforma actual. Consulte también Juego de caracteres (0 - 127)
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Cuadro de Id. de configuración regional (LCID) La siguiente tabla muestra los Id. de configuración regional (LCID). Descripción Cadena Valor Valor decimal Descripción Cadena Valor Valor de corta hexadecimal de corta hexadecimal decimal
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 180 de 264
configuración regional Afrikaans af Albanés sq Árabe ar-ae (Emiratos Árabes Unidos) Árabe ar-bh (Bahrain) Árabe ar-dz (Argelia) Árabe ar-eg (Egipto) Árabe (Irak) ar-iq Árabe ar-jo (Jordania) Árabe ar-kw (Kuwait) Árabe ar-lb (Líbano) Árabe (Libia) ar-ly
0x0436 0x041C 0x3801
1078 1052 14337
0x3C01
15361
0x1401
configuración regional Islandés is Indonesio in Italiano it (Italia)
0x040F 0x040E 0x0410
1039 1038 1040
it-ch
0x0810
2064
5121
Italiano (Suiza) Japonés
ja
0x0411
1041
0x0C01
3073
Coreano
ko
0x0412
1042
0x0801 0x2C01
2049 11265
Letón Lituano
lv lt
0x0426 0x0427
1062 1063
0x3401
13313
Macedonio
mk
0x042F
1071
0x3001
12289
ms-ml
0x043E
1086
0x1001
4097
ms-bn
0x083E
2110
0x1801
6145
Malayo (Malasia) Malayo (Brunei) Maltés
mt
0x043A
1082
0x2001 0x4001
8193 16385
mr no-no
0x044E 0x0414
1102 1044
Árabe (Arabia ar-sa Saudí) Árabe (Siria) ar-sy Árabe (Túnez) ar-tn
0x0401
1025
no-no
0x0814
2068
0x2801 0x1C01
10241 7169
pl pt
0x0415 0x0816
1045 2070
Árabe (Yemen) Armenio Azerí (Latín) Azerí (Cirílico) Vasco Bielorruso
ar-ye
0x2401
9217
pt-br
0x0416
1046
hy az-az az-az
0x042B 0x042C 0x082C
1067 1068 2092
rm ro ro-mo
0x0417 0x0418 0x0818
1047 1048 2072
eu be
0x042D 0x0423
1069 1059
ru ru-mo
0x0419 0x0819
1049 2073
Búlgaro Catalán
bg ca
0x0402 0x0403
1026 1027
sa sr-sp
0x044F 0x0C1A
1103 3098
0x0804 0x0C04
2052 3076
Marathi Noruego (Bokmal) Noruego (Nynorsk) Polaco Portugués (Portugal) Portugués (Brasil) Retorromance Rumano Rumano (Moldavia) Ruso Ruso (Moldavia) Sánscrito Serbio (Cirílico) Serbio (Latín) Setsuana
sr-sp tn
0x081A 0x0432
2074 1074
Árabe ar-ma (Marruecos) Árabe (Omán) ar-om Árabe (Qatar) ar-qa
Chino (China) zh-cn Chino (Hong zh-hk Kong S.A.R.)
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 181 de 264
Chino (Macao zh-mo Z.A.E.) Chino zh-sg (Singapur) Chino zh-tw (Taiwan) Croata hr
0x1404
5124
Esloveno
sl
0x0424
1060
0x1004
4100
Eslovaco
sk
0x041B
1051
0x0404
1028
Serbio
sb
0x042E
1070
0x041A
1050
es
0x040A
1034
cs
0x0405
1029
es-ar
0x2C0A
11274
Danés
da
0x0406
1030
es-bo
0x400A
16394
Holandés
nl
0x0413
1043
es-cl
0x340A
13322
Holandés (Bélgica) Inglés (Australia) Inglés (Belice)
nl-be
0x0813
2067
es-co
0x240A
9226
en-au
0x0C09
3081
es-cr
0x140A
5130
en-bz
0x2809
10249
es-do
0x1C0A
7178
Inglés (Canadá) Ingles (Caribe) Inglés (Irlanda) Inglés (Jamaica) Inglés (Nueva Zelanda) Inglés (Filipinas) Inglés (Sudáfrica) Inglés (Trinidad) Inglés (Reino Unido) Inglés (Estados Unidos) Estonio
en-ca
0x1009
4105
es-ec
0x300A
12298
en-cb
0x2409
9222
es-gt
0x100A
4106
en-ie
0x1809
6153
es-hn
0x480A
18442
en-jm
0x2009
8201
es-mx
0x080A
2058
en-nz
0x1409
5129
es-ni
0x4C0A
19466
en-ph
0x3409
13321
es-pa
0x180A
6154
en-za
0x1C09
7177
es-pe
0x280A
10250
en-tt
0x2C09
11273
es-pr
0x500A
20490
en-gb
0x0809
2057
es-py
0x3C0A
15370
en-us
0x0409
1033
Español (estándar) Español (Argentina) Español (Bolivia) Español (Chile) Español (Colombia) Español (Costa Rica) Español (República Dominicana) Español (Ecuador) Español (Guatemala) Español (Honduras) Español (México) Español (Nicaragua) Español (Panamá) Español (Perú) Español (Puerto Rico) Español (Paraguay) Español (El Salvador)
Checo
es-sv
0x440A
17418
et
0x0425
1061
es-uy
0x380A
14346
Farsi
fa
0x0429
1065
es-ve
0x200A
8202
Finlandés Faeroés
fi fo
0x040B 0x0438
1035 1080
Español (Uruguay) Español (Venezuela) Sutu Swahili
sx sw
0x0430 0x0441
1072 1089
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Francés fr (estándar) Francés fr-be (Bélgica) Francés fr-ca (Canadá) Francés fr-lu (Luxemburgo) Francés fr-ch (Suiza) Gaélico gd-ie (Irlanda) Gaélico gd (Escocia) Alemán de (Alemania) Alemán de-at (Austria) Alemán de-li (Lichtenstein) Alemán de-lu (Luxemburgo) Alemán de-ch (Suiza) Griego el Hebreo he Hindú hi Húngaro hu
Página 182 de 264
0x040C
1036
Sueco
sv
0x041D
1053
0x080C
2060
sv-fi
0x081D
2077
0x0C0C
3084
Sueco (Finlandia) Tamil
ta
0x0449
1097
0x140C
5132
Tatar
tt
0x0444
1092
0x100C
4108
Tailandés
th
0x041E
1054
0x083C
2108
Turco
tr
0x041F
1055
0x043C
1084
Tsonga
ts
0x0431
1073
0x0407
1031
Ucraniano
uk
0x0422
1058
0x0C07
3079
Urdú
ur
0x0420
1056
0x1407
5127
0x0843
2115
0x1007
4103
Uzbek uz-uz (cirílico) Uzbek (latino) uz-uz
0x0443
1091
0x0807
2055
Vietnamita
vi
0x042A
1066
0x0408 0x040D 0x0439 0x040E
1032 1037 1081 1038
Chosa Yiddish Zulú
xh ji zu
0x0434 0x043D 0x0435
1076 1085 1077
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Objetos y colecciones En esta sección Objeto Class Objeto Err Colección Matches
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 183 de 264
Objeto Match Objeto Regular Expression (RegExp) Colección SubMatches Secciones relacionadas Referencia del lenguaje VBScript
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Objeto Class El objeto creado mediante la instrucción Class. Proporciona acceso al evento de la clase. Observaciones No puede declarar explícitamente una variable como del tipo Class. En el contexto de VBScript, el término "class object" se refiere a cualquier objeto definido mediante la instrucción Class de VBScript. Una vez que ha creado una definición de clase mediante la instrucción Class, puede crear una instancia de la clase de la siguiente forma: Dim X Set X = New clase
Dado que VBScript es un lenguaje de enlace tardío, no puede realizar nada de lo siguiente: Dim X as New clase
ni Dim X X = New clase
ni Set X = New Scripting.FileSystemObject
Eventos
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 184 de 264
Eventos del objeto Class Requisitos Versión 5 Consulte también Instrucción Class | Instrucción Dim | Instrucción Set
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Eventos del objeto Class El objeto Class proporciona acceso a los eventos de la clase. Eventos Evento Initialize Evento Terminate
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Colección Matches Colección de objetos Match de expresión regular. Observaciones Una colección Matches contiene objetos Match individuales y sólo se puede crear utilizando el método Execute del objeto RegExp. La única propiedad de la colección Matches es de sólo lectura, igual que las propiedades de objeto Match individuales.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 185 de 264
Cuando se ejecuta una expresión regular, pueden resultar ninguno o más objetos Match. Cada objeto Match proporciona acceso a la cadena encontrada por la expresión regular, la longitud de la cadena y un índice de donde se encontró la coincidencia. La siguiente porción de código ilustra cómo obtener una colección Matches de una búsqueda de expresión regular y cómo repetir la colección: Function RegExpTest(modelo, cadena) Dim regEx, Match, Matches ' Crear variable. Set regEx = New RegExp ' Crear expresión regular. regEx.Pattern = modelo ' Establecer modelo. regEx.IgnoreCase = True ' No establecer distinción entre mayúsculas y minúscula regEx.Global = True ' Establecer aplicabilidad global. Set Matches = regEx.Execute(cadena) ' Ejecutar búsqueda. For Each Match in Matches ' Repetir colección Matches. RetStr = RetStr & "Coincidencia encontrada en posición " RetStr = RetStr & Match.FirstIndex & ". El valor de la coincidencia es '" RetStr = RetStr & Match.Value & "'." & vbCRLF Next RegExpTest = RetStr End Function MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))
Requisitos Versión 1 Consulte también Instrucción For Each...Next | Objeto Match | Objeto Regular Expression (RegExp) | Colección SubMatches
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Objeto Err Contiene información acerca de los errores en tiempo de ejecución. Acepta los métodos Raise y Clear para generar y borrar errores en tiempo de ejecución. Observaciones El objeto Err es un objeto intrínseco con ámbito global; no es necesario crear una instancia de él en su código. Las propiedades del objeto Err las establece el generador de un error (Visual Basic, un objeto de Automatización o el programador de VBScript).
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 186 de 264
La propiedad predeterminada del objeto Err es Number. Err.Number contiene un número entero y puede ser utilizado por un Objeto de automatización para devolver un SCODE. Cuando se produce un error en tiempo de ejecución, las propiedades del objeto Err se llenan con información que identifica únicamente el error y la información que se puede utilizar para controlarlo. Para generar un error en tiempo de ejecución en su código, utilice el método Raise . Las propiedades del objeto Err se restablecen como cero o como cadenas de longitud cero ("") después de una instrucción On Error Resume Next. El método Clear se puede utilizar para restablecer explícitamente Err. El siguiente ejemplo ilustra el uso del objeto Err: On Error Resume Next ' Emite un error de desbordamiento. Err.Raise 6 MsgBox ("Error nº " & CStr(Err.Number) & " " & Err.Description) ' Borra el error. Err.Clear
Propiedades y métodos Métodos y propiedades del objeto Err Requisitos Versión 1 Consulte también Instrucción On Error
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Métodos y propiedades del objeto Err El objeto Err contiene información sobre los errores en tiempo de ejecución. Propiedades Propiedad Description Propiedad HelpContext
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 187 de 264
Propiedad HelpFile Propiedad Number Propiedad Source Método Método Clear Método Raise
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Objeto Match Proporciona acceso a las propiedades de sólo lectura de una expresión regular coincidente. Observaciones Un objeto Match puede ser creado sólo mediante el método Execute del objeto RegExp, que devuelve una colección de objetos Match. Todas las propiedades del objeto Match son de sólo lectura. Cuando se ejecuta una expresión regular, el resultado puede ser ninguno o varios objetos Match. Cada objeto Match proporciona acceso a la cadena encontrada por la expresión regular, a la longitud de la cadena y a un índice del lugar en que se encontró la coincidencia. La siguiente porción de código ilustra el uso del objeto Match: Function RegExpTest(modelo, cadena) Dim regEx, Match, Matches ' Crea una variable. Set regEx = New RegExp ' Crea una expresión regular. regEx.Pattern = modelo ' Establece el modelo. regEx.IgnoreCase = True ' Establece la no distinción entre mayúsculas y minúscu regEx.Global = True ' Establece la aplicabilidad global. Set Matches = regEx.Execute(cadena) ' Ejecuta la búsqueda. For Each Match in Matches ' Repite la colección de coincidencias. RetStr = RetStr & "Coincidencia " & I & " encontrada en la posición " RetStr = RetStr & Match.FirstIndex & ". El valor coincidente es "' RetStr = RetStr & Match.Value & "'." & vbCRLF Next RegExpTest = RetStr End Function MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 188 de 264
Propiedades Propiedades del objeto Match Requisitos Versión 5 Consulte también Colección Matches | Objeto Regular Expression (RegExp) | Colección SubMatches
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Propiedades del objeto Match El objeto Match proporciona acceso a las propiedades de sólo lectura de lectura de una expresión regular coincidente. Propiedades Propiedad FirstIndex Propiedad Length Propiedad Value
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Objeto Regular Expression (RegExp) Proporciona la compatibilidad con expresiones regulares simples.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 189 de 264
Observaciones La siguiente porción de código ilustra el uso del objeto RegExp: Function RegExpTest(modelo, cadena) Dim regEx, Match, Matches ' Crea una variable. Set regEx = New RegExp ' Crea una expresión regular. regEx.Pattern = modelo ' Establece el modelo. regEx.IgnoreCase = True ' Establece la no distinción entre mayúsculas y minúscu regEx.Global = True ' Establece la aplicabilidad global. Set Matches = regEx.Execute(cadena) ' Ejecuta la búsqueda. For Each Match in Matches ' Repite la colección de coincidencias. RetStr = RetStr & "Coincidencia encontrada en la posición " RetStr = RetStr & Match.FirstIndex & ". El valor coincidente es '" RetStr = RetStr & Match.Value & "'." & vbCRLF Next RegExpTest = RetStr End Function MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))
Propiedades y métodos Métodos y propiedades del objeto Regular Expression Requisitos Versión 5 Consulte también Objeto Match | Colección Matches
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Métodos y propiedades del objeto Regular Expression El objeto Regular Expression proporciona la compatibilidad con expresiones regulares simples Propiedades Propiedad Global
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 190 de 264
Propiedad IgnoreCase Propiedad Pattern Métodos Método Execute Método Replace Método Test
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Colección SubMatches Colección de cadenas que son subcoincidencias de una expresión regular. Observaciones Una colección SubMatches contiene cadenas de subcoincidencias individuales, y sólo se puede crear utilizando el método Execute del objeto RegExp. Las propiedades de la colección SubMatches son de sólo lectura. Cuando se ejecuta una expresión regular, pueden resultar ninguno o más subcoincidencias cuando las subexpresiones están entre paréntesis. Cada elemento en la colección SubMatches es la cadena encontrada y capturada por la expresión regular. El siguiente código muestra cómo obtener una colección SubMatches con una búsqueda de expresión regular y cómo tener acceso a cada miembro individual: Function PruebaDeSubMatch(cadenaEntrada) Dim oExpReg, oCoincidencia, oMatches Set oExpReg = New RegExp ' Busca una dirección de correo electrónico (no es una Expresión regular perfecta oExpReg.Pattern = "(\w+)@(\w+)\.(\w+)" ' Obtiene la colección Matches Set oCoincidencias = oExpReg.Execute(cadenaEntrada) ' Obtiene el primer elemento de la colección Matches Set oCoincidencia = oCoincidencias(0) ' Crea la cadena de resultado. ' El objeto Match es la coincidencia entera - [email protected] retStr = "La dirección de correo electrónico es: " & oCoincidencia & vbNewline ' Obtiene las partes subcoincidente de la dirección.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 191 de 264
retStr = retStr & "El alias de correo electrónico es: " & oCoincidencia.SubMatche retStr = retStr & vbNewline retStr = retStr & "La organización es: " & oCoincidencia. SubMatches(1)' xyzzy PruebaDeSubMatch = retStr End Function MsgBox(PruebaDeSubMatch("Por favor envíe un correo electrónico a [email protected] . G
Requisitos Versión 5.5 Consulte también Instrucción For Each...Next | Objeto Match | Colección Matches | Objeto Regular Expression (RegExp)
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Operadores En esta sección Precedencia de operadores Resumen de operadores Operadores aritméticos Operadores de comparación Operadores de concatenación Operadores lógicos Secciones relacionadas Referencia del lenguaje VBScript
© 2001 Microsoft Corporation. Reservados todos los derechos.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 192 de 264
Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Precedencia de operadores Cuando aparecen varias operaciones en una expresión, cada parte se evalúa y se resuelve en un orden determinado llamado prioridad de los operadores. Puede utilizar paréntesis para pasar por alto el orden de prioridad y obligar a evaluar algunas partes de una expresión antes que otras. Las operaciones entre paréntesis se realizan siempre antes que las de fuera. Sin embargo, entre paréntesis se mantiene el prioridad normal de los operadores. Cuando las expresiones contienen operadores de más de una categoría, los operadores aritméticos se evalúan primero, los de comparación después y los lógicos los últimos. Todos los operadores de comparación tienen la misma prioridad, es decir, se evalúan en el orden de izquierda a derecha en el que aparecen. Los operadores aritméticos y lógicos se evalúan en el siguiente orden de prioridad: Aritmético Comparación Lógico Negación (-) Igualdad (=) Not Exponenciación (^) Desigualdad (<>) And Multiplicación y división (*, /) Menor que (<) Or División de número entero (\) Mayor que (>) Xor Modelo aritmético (Mod) Menor o igual que (<=) Eqv Suma y resta (+, -) Mayor o igual que (>=) Imp Concatenación de cadenas (&) Is & Cuando aparecen la multiplicación y la división juntas en una expresión, se evalúa cada operación según aparece de izquierda a derecha. Asimismo, cuando aparecen la suma y la resta juntas en una expresión, cada operación se evalúa en orden de aparición de izquierda a derecha. El operador de concatenación de cadena (&) no es un operador aritmético, pero por prioridad va después de todos los operadores aritméticos y antes de todos los operadores de comparación. El operador Is es un operador de comparación de referencias de objetos. No compara objetos ni sus valores; sólo comprueba para determinar si dos referencias de objetos hacen referencia al mismo objeto. Requisitos Versión 1 Consulte también Operador Is | Resumen de operadores
© 2001 Microsoft Corporation. Reservados todos los derechos.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 193 de 264
Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Resumen de operadores Operadores aritméticos Utilizados para realizar cálculos matemáticos. Operador de asignación Utilizado para asignar un valor a una propiedad o variable. Operadores de comparación Utilizados para realizar comparaciones. Operadores de concatenación Utilizados para combinar cadenas. Operadores lógicos Utilizados para realizar operaciones lógicas. Consulte también Precedencia de operadores
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Operador de suma (+) Suma dos números. resultado = expresión1 + expresión2
Argumentos resultado Cualquier variable numérica. expresión1 Cualquier expresión. expresión2 Cualquier expresión.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 194 de 264
Observaciones Aunque también puede utilizar el operador + para concatenar dos cadenas de caracteres, debería utilizar el operador & para la concatenación para así eliminar la ambigüedad y proporcionar código de autoexplicativo. Cuando utilice el operador +, quizá no pueda determinar si se producirá la suma o la concatenación de la cadena. El subtipo subyacente de las expresiones determina el comportamiento del operador + del siguiente modo: Si Entonces Ambas expresiones son numéricas Add. Ambas expresiones son cadenas Concatenate. Una expresión es numérica y la otra es una cadena Add. Si una de las dos expresiones es una expresión Null, el resultado es Null. Si ambas expresiones son Empty, el resultado es un subtipo de Integer. Sin embargo, si sólo una expresión es Empty, la otra expresión se devuelve inalterada como resultado. Requisitos Versión 1 Consulte también Operador de concatenación (&) | Operador de resta (-) | Operadores aritméticos | Operador de concatenación | Precedencia de operadores | Resumen de operadores
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Operador And Realiza una conjunción lógica de dos expresiones. resultado = expresión1 And expresión2
Argumentos resultado
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 195 de 264
Cualquier variable numérica. expresión1 Cualquier expresión. expresión2 Cualquier expresión. Observaciones Si, y sólo si, ambas expresiones se evalúan como True, el resultado es True. Si alguna expresión se evalúa como False, el resultado es False. La siguiente tabla ilustra cómo se determina el resultado: Si expresión1 es Y expresión2 es El resultado es True True True True False False True Null Null False True False False False False False Null False Null True Null Null False False Null Null Null El operador And también realiza una comparación bit a bit de los bits ubicados de forma idéntica en dos expresiones numéricas y establece el bit correspondiente en el resultado de acuerdo con la siguiente tabla: Si el bit en expresión1 es Y el bit en expresión2 es El resultado es 0 0 0 0 1 0 1 0 0 1 1 1 Requisitos Versión 1 Consulte también Operadores lógicos | Operador Not | Precedencia de operadores | Resumen de operadores | Operador Or | Operador Xor
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 196 de 264
Visual Basic Scripting Edition
Operador de asignación (=) Asigna un valor a una variable o propiedad. variable = valor
Argumentos variable Cualquier variable o cualquier propiedad modificable. valor Cualquier literal de cadena o numérico, constante, o expresión. Observaciones El nombre en la parte izquierda del signo igual puede ser una variable escalar simple o un elemento de una matriz. Las propiedades de la parte izquierda del signo igual sólo pueden ser aquellas que son modificables en tiempo de ejecución. Requisitos Versión 1 Consulte también Operadores de comparación | Precedencia de operadores | Resumen de operadores | Instrucción Set
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Operador de concatenación (&) Fuerza la concatenación de cadena de dos expresiones. resultado = expresión1 & expresión2
Argumentos resultado Cualquier variable.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 197 de 264
expresión1 Cualquier expresión. expresión2 Cualquier expresión. Observaciones Siempre que una expresión no sea una cadena, se convierte en un subtipo de String. Si ambas expresiones son Null, el resultado es también Null. Sin embargo, si sólo una expresión es Null, dicha expresión se trata como una cadena de longitud cero ("") cuando esté concatenada con la otra expresión. Cualquier expresión que sea Empty se trata también como una cadena de longitud cero. Requisitos Versión 1 Consulte también Operadores de concatenación | Precedencia de operadores | Resumen de operadores
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Operador de división (/) Divide dos números y devuelve un resultado de coma flotante. resultado = número1/número2
Argumentos resultado Cualquier variable numérica. número1 Cualquier expresión numérica. número2 Cualquier expresión numérica. Observaciones Si una o ambas expresiones son expresiones Null, el resultado es Null. Cualquier expresión que sea Empty se trata como 0.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 198 de 264
Requisitos Versión 1 Consulte también Operador de multiplicación (*) | Operador de división de número entero (\) | Operadores aritméticos | Precedencia de operadores | Resumen de operadores
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Operador Eqv Realiza una equivalencia lógica de dos expresiones. resultado = expresión1 Eqv expresión2
Argumentos resultado Cualquier variable numérica. expresión1 Cualquier expresión. expresión2 Cualquier expresión. Observaciones Si alguna expresión es Null, el resultado es también Null. Cuando ninguna expresión sea Null, el resultado se determina de acuerdo con la siguiente tabla: Si expresión1 es Y expresión2 es El resultado es True True True True False False False True False False False True El operador Eqv realiza una comparación bit a bit de los bits ubicados de forma idéntica en dos expresiones numéricas y establece el bit correspondiente en el resultado de acuerdo con la siguiente tabla:
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 199 de 264
Si el bit en expresión1 es Y el bit en expresión2 es El resultado es 0 0 1 0 1 0 1 0 0 1 1 1 Requisitos Versión 1 Consulte también Operador Imp | Operadores lógicos | Precedencia de operadores | Resumen de operadores
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Operador de exponenciación (^) Eleva un número a una potencia. resultado = número^exponente
Argumentos resultado Cualquier variable numérica. número Cualquier expresión numérica. exponente Cualquier expresión numérica. Observaciones El número puede ser negativo sólo si el exponente es un valor de número entero. Cuando se realiza más de una exponenciación en una única expresión, el operador ^ se evalúa tal y como se encuentra de izquierda a derecha. Si cualquier número o exponente es una expresión Null, el resultado es también Null. Requisitos
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 200 de 264
Versión 1 Consulte también Operadores aritméticos | Precedencia de operadores | Resumen de operadores
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Operador Imp Realiza una implicación lógica de dos expresiones. resultado = expresión1 Imp expresión2
Argumentos resultado Cualquier variable numérica. expresión1 Cualquier expresión. expresión2 Cualquier expresión. Observaciones La siguiente tabla ilustra cómo se determina el resultado: Si expresión1 es Y expresión2 es Entonces resultado es True True True True False False True Null Null False True True False False True False Null True Null True True Null False Null Null Null Null El operador Imp realiza una comparación bit a bit de los bits ubicados de manera idéntica en dos expresiones numéricas y establece el bit correspondiente en el resultado de acuerdo con la siguiente tabla:
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 201 de 264
Si el bit en expresión1 es Y el bit en expresión2 es Entonces resultado es 0 0 1 0 1 1 1 0 0 1 1 1 Requisitos Versión 1 Consulte también Operador Eqv | Operadores lógicos | Precedencia de operadores | Resumen de operadores
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Operador de división de número entero (\) Divide dos números y devuelve un resultado de número entero. resultado = número1\número2
Argumentos resultado Cualquier variable numérica. número1 Cualquier expresión numérica. número2 Cualquier expresión numérica. Observaciones Antes de que se realice la división, las expresiones numéricas se redondean como expresiones del subtipo Byte, Integer, o Long. Si cualquier expresión es Null, el resultado es también Null. Cualquier expresión que sea Empty se trata como 0. Requisitos
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 202 de 264
Versión 1 Consulte también Operador de multiplicación (*) | Operador de división (/) | Operadores aritméticos | Precedencia de operadores | Resumen de operadores
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Operador Is Compara dos variables de referencia de objeto. resultado = objeto1 Is objeto2
Argumentos resultado Cualquier variable numérica. objeto1 Cualquier nombre de objeto. objeto2 Cualquier nombre de objeto. Observaciones Si objeto1 y objeto2 hacen referencia al mismo objeto, el resultado es True; si no, el resultado es False. Dos variables pueden hacer referencia al mismo objeto de diversas maneras. En el siguiente ejemplo, se ha establecido que A haga referencia al mismo objeto que B: Set A = B
El siguiente ejemplo hace que A y B hagan referencia al mismo objeto que C: Set A = C Set B = C
Requisitos Versión 1
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 203 de 264
Consulte también Operadores de comparación | Precedencia de operadores | Resumen de operadores
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Operador Mod Divide dos números y devuelve sólo el resto. resultado = número1 Mod número2
Argumentos resultado Cualquier variable numérica. número1 Cualquier expresión numérica. número2 Cualquier expresión numérica. Observaciones El operador del módulo, o resto, divide número1 por número2 (y redondea los números de punto flotante como números enteros) y devuelve sólo el resto como resultado. Por ejemplo, en la siguiente expresión, A (que es resultado) es igual a 5. A = 19 Mod 6.7
Si cualquier expresión es Null, el resultado es también Null. Cualquier expresión que sea Empty se trata como 0. Requisitos Versión 1 Consulte también Operadores aritméticos | Precedencia de operadores | Resumen de operadores
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 204 de 264
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Operador de multiplicación (*) Multiplica dos números. resultado = número1*número2
Argumentos resultado Cualquier variable numérica. número1 Cualquier expresión numérica. número2 Cualquier expresión numérica. Observaciones Si una o ambas expresiones son expresiones Null, el resultado es Null. Si una expresión es Empty, se trata como si fuera 0. Requisitos Versión 1 Consulte también Operador de división de número entero (\) | Operadores aritméticos | Precedencia de operadores | Resumen de operadores
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Operador Not Realiza la negación lógica de una expresión.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 205 de 264
resultado = Not expresión
Argumentos resultado Cualquier variable numérica. expresión Cualquier expresión. Observaciones La siguiente tabla ilustra cómo se determina el resultado: Si expresión es Entonces resultado es True False False True Null Null Además, el operador Not invierte los valores de bits de cualquier variable y establece el bit correspondiente en el resultado de acuerdo con la siguiente tabla: Bit en expresión Bit en resultado 0 1 1 0 Requisitos Versión 1 Consulte también Operador And | Operadores lógicos | Precedencia de operadores | Resumen de operadores | Operador Or | Operador Xor
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Operador Or Realiza una disyunción lógica de dos expresiones. resultado = expresión1 Or expresión2
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 206 de 264
Argumentos resultado Cualquier variable numérica. expresión1 Cualquier expresión. expresión2 Cualquier expresión. Observaciones Si alguna o ambas expresiones se evalúa como True, el resultado es True. La siguiente tabla ilustra cómo se determina el resultado: Si expresión1 es Y expresión2 es Entonces resultado es True True True True False True True Null True False True True False False False False Null Null Null True True Null False Null Null Null Null El operador Or también realiza una comparación bit a bit de los bits ubicados de manera idéntica en dos expresiones numéricas y establece el bit correspondiente en el resultado de acuerdo con la siguiente tabla: Si el bit en expresión1 es Y el bit en expresión2 es Entonces resultado es 0 0 0 0 1 1 1 0 1 1 1 1 Requisitos Versión 1 Consulte también Operador And | Operadores lógicos | Operador Not | Precedencia de operadores | Resumen de operadores | Operador Xor
© 2001 Microsoft Corporation. Reservados todos los derechos.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 207 de 264
Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Operador de resta (-) Busca la diferencia entre dos números o indica el valor negativo de una expresión numérica. Sintaxis 1 resultado = número1-número2
Sintaxis 2 -número
Argumentos resultado Cualquier variable numérica. número Cualquier expresión numérica. número1 Cualquier expresión numérica. número2 Cualquier expresión numérica. Observaciones En la Sintaxis 1, el operador - es la resta aritmética utilizada para buscar la diferencia entre dos números. En la Sintaxis 2, el operador - se utiliza como la negación unaria para indicar el valor negativo de una expresión. Si una o ambas expresiones son del tipo Null, el resultado es Null. Si una expresión es Empty, se trata como si fuera 0. Requisitos Versión 1 Consulte también Operador de suma (+) | Operadores aritméticos | Precedencia de operadores | Resumen de operadores
© 2001 Microsoft Corporation. Reservados todos los derechos.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 208 de 264
Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Operador Xor Realiza una exclusión lógica de dos expresiones. resultado = expresión1 Xor expresión2
Argumentos resultado Cualquier variable numérica. expresión1 Cualquier expresión. expresión2 Cualquier expresión. Observaciones Si una, y sólo una, de las expresiones se evalúa como True, el resultado es True. Sin embargo, si cualquier expresión es Null, el resultado es también Null. Cuando ninguna expresión es Null, el resultado se determina de acuerdo con la siguiente tabla: Si expresión1 es Y expresión2 es Entonces resultado es True True False True False True False True True False False False El operador Xor también realiza una comparación bit a bit de los bits ubicados en la misma posición en dos expresiones numéricas y establece el bit correspondiente en el resultado de acuerdo con la siguiente tabla: Si el bit en expresión1 es Y el bit en expresión2 es Entonces resultado es 0 0 0 0 1 1 1 0 1 1 1 0 Requisitos Versión 1 Consulte también Operador And | Operadores lógicos | Operador Not | Precedencia de operadores | Resumen de
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 209 de 264
operadores | Operador Or
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Operadores aritméticos Operador ^ Operador * Operador / Operador \ Operador Mod Operador + Operador Operadores de concatenación
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Operadores de comparación Se utilizan para comparar expresiones. resultado = expresión1 operadorDeComparación expresión2 resultado = objeto1 Is objeto2
Argumentos resultado
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 210 de 264
Cualquier variable numérica. expresión Cualquier expresión. operadorDeComparación Cualquier operador de comparación. objeto Cualquier nombre de objeto. Observaciones El operador Is tiene una funcionalidad de comparación específica diferente de los operadores que se muestran en la siguiente tabla. La siguiente tabla contiene una lista de operadores de comparación y las condiciones que determinan si el resultado es True, False o Null: Operador <
Descripción Menor que
True si expresión1 < expresión2
<=
Menor o igual que expresión1 <= expresión2
>
Mayor que
>=
Mayor o igual que expresión1 >= expresión2
=
Igual a
expresión1 = expresión2
<>
Distinto de
expresión1 <> expresión2
expresión1 > expresión2
False si expresión1 >= expresión2 expresión1 > expresión2 expresión1 <= expresión2 expresión1 < expresión2 expresión1 <> expresión2 expresión1 = expresión2
Null si expresión1 o expresión2 = Null expresión1 o expresión2 = Null expresión1 o expresión2 = Null expresión1 o expresión2 = Null expresión1 o expresión2 = Null expresión1 o expresión2 = Null
Al comparar dos expresiones, es posible que no sea capaz de saber si las expresiones se están comparando como números o como cadenas. La siguiente tabla muestra cómo se comparan las expresiones o que devuelve la comparación, según el subtipo de las expresiones: Si Ambas expresiones son numéricas Ambas expresiones son cadenas Una expresión es numérica y la otra es una cadena Una expresión es Empty y la otra es numérica Una expresión es Empty y la otra es una cadena Ambas expresiones son Empty
Entonces Realiza una comparación numérica. Realiza una comparación de cadenas. La expresión numérica es menor que la expresión de cadena. Realiza una comparación numérica, tratando la expresión Empty como 0 (cero). Realiza una comparación de cadenas, tratando la expresión Empty como una cadena de longitud cero (""). Las expresiones son iguales.
Requisitos Versión 1
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 211 de 264
Consulte también Operador de asignación (=) | Operador Is | Precedencia de operadores | Resumen de operadores
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Operadores de concatenación Operador & Operador +
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Operadores lógicos Operador And Operador Not Operador Or Operador Xor
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 212 de 264
Propiedades En esta sección Propiedad Description Propiedad FirstIndex Propiedad Global Propiedad HelpContext Propiedad HelpFile Propiedad IgnoreCase Propiedad Length Propiedad Number Propiedad Pattern Propiedad Source Propiedad Value Secciones relacionadas Referencia del lenguaje VBScript
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Propiedad Description Devuelve o establece una cadena descriptiva asociada con un error. objeto.Description [= expresióncadena]
Argumentos
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 213 de 264
objeto Siempre el objeto Err. expresióncadena Una expresión de cadena que contiene una descripción del error. Observaciones La propiedad Description está formada por una breve descripción del error. Utilice esta propiedad para alertar al usuario de un error que no puede o no desea controlar. Cuando genera un error definido por el usuario, asigne una breve descripción de su error a esta propiedad. Si Description no está completa y el valor de Number corresponde a un error en tiempo de ejecución de VBScript, se devuelve la cadena descriptiva asociada con el error. On Error Resume Next Err.Raise 6 ' Emite un error de desbordamiento. MsgBox ("Error # " & CStr(Err.Number) & " " & Err.Description) Err.Clear ' Borra el error.
Requisitos Versión 1 Consulte también Objeto Err | Propiedad HelpContext | Propiedad HelpFile | Propiedad Number | Propiedad Source Se aplica a: Objeto Err
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Propiedad FirstIndex Devuelve la posición en una cadena de búsqueda donde aparece una coincidencia. objeto.FirstIndex
El argumento objeto es siempre un objeto Match. Observaciones La propiedad FirstIndex utiliza un desplazamiento basado en cero desde el comienzo de la cadena de búsqueda. En otras palabras, el primer carácter de la cadena se identifica como carácter cero (0). La
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 214 de 264
siguiente porción de código ilustra el uso de la propiedad FirstIndex. Function PruebaDeExpReg(modelo, cadena) Dim regEx, Match, Matches ' Crea una variable. Set regEx = New RegExp ' Crea una expresión regular. regEx.Pattern = modelo ' Establece el modelo. regEx.IgnoreCase = True ' Establece la no distinción entre mayúsculas y minúscu regEx.Global = True ' Establece la aplicabilidad global. Set Matches = regEx.Execute(cadena) ' Ejecuta la búsqueda. For Each Match in Matches ' Repite la colección Matches. RetStr = RetStr & "Coincidencia " & I & " encontrada en la posición " RetStr = RetStr & Match.FirstIndex & ". El valor coincidente es "' RetStr = RetStr & Match.Value & "'." & vbCRLF Next PruebaDeExpReg = RetStr End Function MsgBox(PruebaDeExpReg("is.", "IS1 is2 IS3 is4"))
Requisitos Versión 5 Consulte también Propiedad Length | Propiedad Value Se aplica a: Objeto Match
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Propiedad Global Establece o devuelve un valor booleano que indica si un modelo debería coincidir con todas las apariciones en toda una cadena de búsqueda o sólo con la primera. objeto.Global [= True | False ]
El argumento objeto es siempre un objeto RegExp. El valor de la propiedad Global es True si la búsqueda se aplica a toda la cadena y si no es así, False. El valor predeterminado es False. Observaciones La siguiente porción de código ilustra el uso de la propiedad Global (cambie el valor asignado a la propiedad Global para ver su efecto):
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 215 de 264
Function PruebaDeExpReg(modelo, cadena) Dim regEx, Match, Matches ' Crea una variable. Set regEx = New RegExp ' Crea una expresión regular. regEx.Pattern = modelo ' Establece el modelo. regEx.IgnoreCase = True ' Establece la no distinción entre mayúsculas y minúscu ' Establece la aplicabilidad global. regEx.Global = True Set Matches = regEx.Execute(cadena) ' Ejecuta la búsqueda. For Each Match in Matches ' Repite la colección Matches. RetStr = RetStr & "Coincidencia encontrada en la posición " RetStr = RetStr & Match.FirstIndex & ". El valor coincidente es '" RetStr = RetStr & Match.Value & "'." & vbCRLF Next PruebaDeExpReg = RetStr End Function MsgBox(PruebaDeExpReg("is.", "IS1 is2 IS3 is4"))
Requisitos Versión 5 Consulte también Propiedad IgnoreCase | Propiedad Pattern Se aplica a: Objeto Regular Expression (RegExp)
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Propiedad HelpContext Establece o devuelve un Id. de contexto para un tema de un archivo de Ayuda. objeto.HelpContext [= Idcontexto]
Argumentos objeto Necesario. Siempre el objeto Err. Idcontexto Opcional. Un identificador válido para un tema de Ayuda dentro del archivo de Ayuda. Observaciones Si se especifica un archivo de Ayuda en HelpFile, la propiedad HelpContext se utiliza para mostrar
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 216 de 264
automáticamente el tema de Ayuda identificado. Si HelpFile y HelpContext están vacíos, se comprueba el valor de la propiedad Number.Si corresponde a un valor de error en tiempo de ejecución de VBScript, se utiliza el Id. de contexto de Ayuda de VBScript para el error. Si la propiedad Number no corresponde a un error de VBScript, se muestra la pantalla de contenido para el archivo de Ayuda de VBScript. El siguiente ejemplo ilustra el uso de la propiedad HelpContext: On Error Resume Next Dim Msg Err.Clear Err.Raise 6 ' Genera un error de "desbordamiento". Err.Helpfile = "suAyuda.hlp" Err.HelpContext = suContextID If Err.Number <> 0 Then Msj = "Presione F1 o Ayuda para ver el tema de " & Err.Helpfile & _ " para el siguiente valor de HelpContext: " & Err.HelpContext MsgBox Msg, , "error: " & Err.Description, Err.Helpfile, Err.HelpContext End If
Requisitos Versión 2 Consulte también Propiedad Description | Propiedad HelpFile | Propiedad Number | Propiedad Source Se aplica a: Objeto Err
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Propiedad HelpFile Establece o devuelve una ruta de acceso completa a un archivo de Ayuda. objeto.HelpFile [= Idcontexto]
Argumentos objeto Necesario. Siempre el objeto Err. Idcontexto
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 217 de 264
Opcional. Ruta de acceso completa del archivo de Ayuda. Observaciones Si se especifica un archivo de Ayuda en HelpFile, se le llama automáticamente cuando un usuario hace clic en el botón de Ayuda (o presiona la tecla F1) en el cuadro de diálogo del mensaje de error. Si la propiedad HelpContext contiene un Id. de contexto válido para el archivo especificado, dicho tema se muestra automáticamente. Si no se especifica HelpFile, se muestra el archivo de Ayuda de VBScript. On Error Resume Next Dim Msg Err.Clear Err.Raise 6 ' Genera error de "desbordamiento". Err.Helpfile = "suAyuda.hlp" Err.HelpContext = suContextID If Err.Number <> 0 Then Msj = "Presione F1 o Ayuda para ver el tema de " & Err.Helpfile & _ " para el siguiente valor de HelpContext: " & Err.HelpContext MsgBox Msg, , "Error: " & Err.Description, Err.Helpfile, Err.HelpContext End If
Requisitos Versión 2 Consulte también Propiedad Description | Propiedad HelpContext | Propiedad Number | Propiedad Source Se aplica a: Objeto Err
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Propiedad IgnoreCase Establece o devuelve un valor booleano que indica si una búsqueda de modelo distingue mayúsculas y minúsculas o no. objeto.IgnoreCase [= True | False ]
El argumento objeto es siempre un objeto RegExp. El valor de la propiedad IgnoreCase es False si la búsqueda distingue mayúsculas y minúsculas y si no es así, True. El valor predeterminado es False.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 218 de 264
Observaciones La siguiente porción de código ilustra el uso de la propiedad IgnoreCase (cambie el valor asignado a la propiedad IgnoreCase para ver su efecto): Function PruebaDeExpReg(modelo, cadena) Dim regEx, Match, Matches ' Crea una variable. Set regEx = New RegExp ' Crea una expresión regular. regEx.Pattern = modelo ' Establece el modelo. ' Establece la no distinción entre mayúsculas y minúscu regEx.IgnoreCase = True regEx.Global = True ' Establece la aplicabilidad global. Set Matches = regEx.Execute(cadena) ' Ejecuta la búsqueda. For Each Match in Matches ' Repite la colección Matches. RetStr = RetStr & "Coincidencia encontrada en la posición " RetStr = RetStr & Match.FirstIndex & ". El valor coincidente es '" RetStr = RetStr & Match.Value & "'." & vbCRLF Next PruebaDeExpReg = RetStr End Function MsgBox(PruebaDeExpReg("is.", "IS1 is2 IS3 is4"))
Requisitos Versión 5 Consulte también Propiedad Global | Propiedad Pattern Se aplica a: Objeto Regular Expression (RegExp)
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Propiedad Length Devuelve la longitud de una coincidencia encontrada en una cadena de búsqueda. objeto.Length
El argumento objeto es siempre un objeto Match. Observaciones La siguiente porción de código ilustra el uso de la propiedad Length:
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 219 de 264
Function PruebaDeExpReg(modelo, cadena) Dim regEx, Match, Matches ' Crea una variable. Set regEx = New RegExp ' Crea una expresión regular. regEx.Pattern = modelo ' Establece el modelo. regEx.IgnoreCase = True ' Establece la no distinción entre mayúsculas y minúscu regEx.Global = True ' Establece la aplicabilidad global. Set Matches = regEx.Execute(cadena) ' Ejecuta la búsqueda. For Each Match in Matches ' Repite la colección Matches. RetStr = RetStr & "Coincidencia " & I & " encontrada en la posición " RetStr = RetStr & Match.FirstIndex & ". La longitud de la coincidencia es " RetStr = RetStr & Match.Length RetStr = RetStr & " caracteres." & vbCRLF Next PruebaDeExpReg = RetStr End Function MsgBox(PruebaDeExpReg("is.", "IS1 is2 IS3 is4"))
Requisitos Versión 5 Consulte también Propiedad FirstIndex | Propiedad Value Se aplica a: Objeto Match
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Propiedad Number Devuelve o establece un valor numérico que especifica un error. Number es la propiedad predeterminada del objeto Err. objeto.Number [= númeroerror]
Argumentos objeto Siempre el objeto Err. númeroerror Un número entero que representa un número de error de VBScript o un valor de error SCODE. Observaciones
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 220 de 264
Cuando devuelva un error definido por el usuario de un objeto de automatización, establezca Err.Number agregando el número que haya seleccionado como un código de error a la constante vbObjectError. La siguiente porción de código ilustra el uso de la propiedad Number: On Error Resume Next Err.Raise vbObjectError + 1, "SomeObject" ' Emite error de objeto nº 1. MsgBox ("Error nº " & CStr(Err.Number) & " " & Err.Description) Err.Clear ' Borra el error.
Requisitos Versión 1 Consulte también Propiedad Description | Propiedad HelpContext | Propiedad HelpFile | Objeto Err | Propiedad Source Se aplica a: Objeto Err
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Propiedad Pattern Establece o devuelve el modelo de expresión regular que se busca. objeto.Pattern [= "cadenabúsqueda"]
Argumentos objeto Necesario. Siempre una variable de objeto RegExp. cadenabúsqueda Opcional. Expresión de cadena regular que se busca. Puede incluir cualquiera de los caracteres de expresión regular definidos en la tabla de la sección Valores. Valores Se utilizan caracteres y secuencias especiales para escribir modelos de expresiones regulares. La siguiente tabla describe y ofrece un ejemplo de los caracteres y secuencias que se pueden utilizar.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Carácter \
^ $ * + ? . (modelo) x|y {n} {n,}
{n,m}
[xyz] [^xyz] [a-z]
[^m-z] \b \B \d \D \f \n \r \s \S
Página 221 de 264
Descripción Marca el siguiente carácter como un carácter especial o un literal. Por ejemplo, "n" coincide con el carácter "n". "\n" coincide con un carácter de nueva línea. La secuencia "\\" coincide con "\" y "\(" coincide con "(". Coincide con el comienzo de entrada. Coincide con el final de entrada. No coincide con el carácter precedente ninguna o varias veces. Por ejemplo, "zo*" coincide con "z" o "zoo". Coincide con el carácter precedente una o varias veces. Por ejemplo, "za+" coincide con "zar" pero no con "z". Coincide con el carácter precedente ninguna o varias veces. Por ejemplo, "a?ve?" coincide con "ve" en "volver". Coincide con cualquier carácter único excepto con un carácter de nueva línea. Coincide con modelo y recuerda la coincidencia. La subcadena coincidente se puede restablecer desde la colección Matches resultante, mediante Item [0]...[n]. Para hacer coincidir con caracteres de paréntesis ( ), utilice "\(" or "\)". Coincide con x o y. Por ejemplo, "z|par" coincide con "z" o "par". "(z|p)ar" coincide con "zar" o "par". n es un número entero no negativo. Coincide exactamente n veces. Por ejemplo, "o{2}" no coincide con la "o" en "sol", pero coincide con las dos primeras oes en "noooo". n es un número entero no negativo. Coincide al menos n veces. Por ejemplo, "o{2,}" no coincide con la "o" en "sol" y coincide con todas las oes en "noooo". "o{1,}" equivale a "o+". "o{0,}" equivale a "o*". m y n son números enteros no negativos. Coinciden como mínimo n y como máximo m veces. Por ejemplo, "o{1,3}" coincide con las tres primeras oes en "noooo". "o{0,1}" equivale a "o?". Un juego de caracteres. Coincide con cualquiera de los caracteres contenidos. Por ejemplo, "[abc]" coincide con "a" en "valle". Un juego de caracteres negativo. Coincide con cualquiera de los caracteres no contenidos. Por ejemplo, "[^abc]" coincide con la "v" en "valle". Un intervalo de caracteres. Coincide con cualquiera de los caracteres incluidos en el intervalo especificado. Por ejemplo, "[a-z]" coincide con cualquier carácter alfabético en minúscula dentro del intervalo de la "a" a la "z". Un intervalo de caracteres negativo. Coincide con cualquiera de los caracteres no incluidos en el intervalo especificado. Por ejemplo, "[m-z]" coincide con cualquier carácter no incluido en el intervalo de la "m" a la "z". Coincide con un límite de palabra, es decir, con la posición entre una palabra y un espacio. Por ejemplo, "er\b" coincide con "er" en "volver" pero no con "er" en "verbo". Coincide con el límite de un elemento que no sea de palabra. "at*r\B" coincide con "atr" en "volver atrás". Coincide con un carácter de dígito. Equivale a [0-9]. Coincide con un carácter que no sea dígito. Equivale a [^0-9]. Coincide con un carácter de avance de página. Coincide con un carácter de nueva línea. Coincide con un carácter de retorno de carro. Coincide con cualquier espacio en blanco incluidos espacio, tabulación, avance de página, etc. Equivale a "[ \f\n\r\t\v]". Coincide con cualquier carácter que no sea un espacio en blanco. Equivale a
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
\t \v \w \W \num
\n
\xn
Página 222 de 264
"[^ \f\n\r\t\v]". Coincide con un carácter de tabulación. Coincide con un carácter de tabulación vertical. Coincide con cualquier carácter de palabra incluido subrayado. Equivale a "[A-Za-z09_]". Coincide con cualquier carácter que no sea de palabra. Equivale a "[^A-Za-z0-9_]". Coincide con número, donde número es un número entero positivo. Una referencia de vuelta atrás a coincidencias recordadas. Por ejemplo, "(.)\1" coincide con dos caracteres idénticos consecutivos. Coincide con n, donde n es un valor de escape octal. Los valores de escape octal deben tener 1, 2 ó 3 dígitos de longitud. Por ejemplo, "\11" y "\011" coinciden con un carácter de tabulación. "\0011" es el equivalente de "\001" & "1". Los valores de escape octal no deben sobrepasar 256. Si lo hacen, sólo los dos primeros dígitos forman la expresión. Se permite utilizar códigos ASCII en expresiones regulares. Coincide con n, donde n es un valor de escape hexadecimal. Los valores de escape hexadecimales deben tener exactamente dos dígitos de longitud. Por ejemplo, "\x41" coincide con "A". "\x041" es equivalente a "\x04" & "1". Se permite utilizar códigos ASCII en expresiones regulares.
Observaciones La siguiente porción de código ilustra el uso de la propiedad Pattern. Function PruebaDeExpReg(modelo, cadena) Dim regEx, Match, Matches ' Crea una variable. Set regEx = New RegExp ' Crea una expresión regular. ' Establece el modelo. regEx.Pattern = modelo regEx.IgnoreCase = True ' Establece la no distinción entre mayúsculas y minúscu regEx.Global = True ' Establece la aplicabilidad global. Set Matches = regEx.Execute(cadena) ' Ejecuta la búsqueda. For Each Match in Matches ' Repite la colección Matches. RetStr = RetStr & "Coincidencia encontrada en la posición " RetStr = RetStr & Match.FirstIndex & ". El valor coincidente es '" RetStr = RetStr & Match.Value & "'." & vbCRLF Next PruebaDeExpReg = RetStr End Function MsgBox(PruebaDeExpReg("is.", "IS1 is2 IS3 is4"))
Requisitos Versión 2 Consulte también Propiedad Global | Propiedad IgnoreCase Se aplica a: Objeto Regular Expression (RegExp)
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 223 de 264
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Propiedad Source Devuelve o establece el nombre del objeto o aplicación que originalmente generó el error. objeto.Source [= expresióncadena]
Argumentos objeto Siempre el objeto Err. expresióncadena Una expresión de cadena que representa la aplicación que generó el error. Observaciones La propiedad Source especifica una expresión de cadena que es normalmente el nombre de clase o el Id. programático del objeto que produjo el error. Utilice Source para proporcionar a sus usuarios información cuando su código no pueda controlar un error generado en un objeto en uso. Por ejemplo, si obtiene acceso a Microsoft Excel y se genera un error de División por cero, Microsoft Excel establece Err.Number como el código de error y establece Source como Excel.Application. Tenga en cuenta que si el error se genera en otro objeto llamado por Microsoft Excel, Excel intercepta el error y establece Err.Number como su propio código de División por cero. Si embargo, deja el otro objeto Err (incluido Source) como establecido por el objeto que generó el error. Source contiene siempre el nombre del objeto que originalmente generó el error — su código puede intentar controlar el error de acuerdo con la documentación del error del objeto que utilizó. Si se produce un error en su controlador de errores, puede utilizar la información del objeto Err para describir el error a su usuario y utilizar Source y el otro objeto Err para informar al usuario de qué objeto produjo originalmente el error, su descripción del error, etc. Cuando genere un error desde el código, Source es el Id. programático de su aplicación. La siguiente porción de código ilustra el uso de la propiedad Source. On Error Resume Next Err.Raise 6 ' Emite un error de desbordamiento. MsgBox ("Error # " & CStr(Err.Number) & " " & Err.Description & Err.Source) Err.Clear ' Borra el error.
Requisitos Versión 1
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 224 de 264
Consulte también Propiedad Description | Objeto Err | Propiedad HelpContext | Propiedad HelpFile | Propiedad Number | Instrucción On Error Se aplica a: Objeto Err
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Propiedad Value Devuelve el valor o texto de una coincidencia encontrada en una cadena de búsqueda. objeto.Value
El argumento objeto es siempre un objeto Match. Observaciones El código siguiente ilustra el uso de la propiedad Value. Function PruebaDeExpReg(modelo, cadena) Dim regEx, Match, Matches ' Crea una variable. Set regEx = New RegExp ' Crea una expresión regular. regEx.Pattern = modelo ' Establece el modelo. regEx.IgnoreCase = True ' Establece la no distinción entre mayúsculas y minúscu regEx.Global = True ' Establece la aplicabilidad global. Set Matches = regEx.Execute(cadena) ' Ejecuta la búsqueda. For Each Match in Matches ' Repite la colección Matches. RetStr = RetStr & "Coincidencia " & I & " encontrada en la posición " RetStr = RetStr & Match.FirstIndex & ". El valor coincidente es "' RetStr = RetStr & Match.Value & "'." & vbCRLF Next PruebaDeExpReg = RetStr End Function MsgBox(PruebaDeExpReg("is.", "IS1 is2 IS3 is4"))
Requisitos Versión 1 Consulte también Propiedad FirstIndex | Propiedad Length
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 225 de 264
Se aplica a: Objeto Match
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Instrucciones En esta sección Instrucción Call Instrucción Class Instrucción Const Instrucción Dim Instrucción Do...Loop Instrucción Erase Instrucción Execute Instrucción ExecuteGlobal Instrucción Exit Instrucción For Each...Next Instrucción For...Next Instrucción Function Instrucción If...Then...Else Instrucción On Error Instrucción Option Explicit Instrucción Private Instrucción Property Get
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 226 de 264
Instrucción Property Let Instrucción Property Set Instrucción Public Instrucción Randomize Instrucción ReDim Instrucción Rem Instrucción Select Case Instrucción Set Instrucción Sub Instrucción While...Wend Instrucción With Secciones relacionadas Referencia del lenguaje VBScript
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Instrucción Call Transfiere el control a un procedimiento Sub o Function. [Call] nombre [listaargumentos]
Argumentos Call Palabra clave opcional. Si se especifica, debe escribir listaargumentos entre paréntesis. Por ejemplo: Call MiProc(0)
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 227 de 264
nombre Requerido. Nombre del procedimiento al que se va a llamar. listaargumentos Opcional. Lista de variables delimitada por comas, matrices o expresiones para pasar al procedimiento. Comentarios No necesita utilizar la palabra clave Call cuando llame a un procedimiento. Sin embargo, si utiliza la palabra clave Call para llamar a un procedimiento que necesita argumentos, debe escribir listaargumentos entre paréntesis. Si omite la palabra clave Call, también debe omitir el paréntesis alrededor de listaargumentos. Si utiliza cualquier sintaxis de Call para llamar a cualquier función intrínseca o definida por el usuario, se descarta el valor de retorno de la función. Call MiFuncion("Hola a todos.") Function MiFuncion(texto) MsgBox texto End Function
Requisitos Versión 1
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Instrucción Class Declara el nombre de una clase, así como una definición de las variables, propiedades y métodos que componen la clase. Class nombre instrucciones End Class
Argumentos nombre Requerido. Nombre de Class. Sigue las convenciones de nomenclatura estándar de las variables. instrucciones Requerido. Una o varias instrucciones que definen las variables, propiedades y métodos de Class. Comentarios
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 228 de 264
Dentro de un bloque de Class, se declaran los miembros como Private o Public mediante las instrucciones apropiadas para declaraciones. Cualquier cosa declarada Private es sólo visible dentro del bloque Class. Cualquier cosa declarada Public es visible dentro del bloque Class, así como por el código fuera del bloque Class. Cualquier cosa no declarada explícitamente como Private o Public es Public de manera predeterminada. Los procedimientos (Sub o Function) declarados Public dentro del bloque de clase se convierten en métodos de la clase. Las variables Public sirven como propiedades de la clase, igual que las propiedades declaradas explícitamente mediante Property Get, Property Let y Property Set. Las propiedades y métodos predeterminados para la clase se especifican en sus declaraciones mediante la palabra clave Default. Consulte los temas de instrucciones para declaraciones si desea obtener más información acerca de cómo se utiliza esta palabra clave. Requisitos Versión 5 Consulte también Instrucción Dim | Instrucción Function | Instrucción Private | Instrucción Property Get | Instrucción Property Let | Instrucción Property Set | Instrucción Public | Instrucción Set | Instrucción Sub
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Instrucción Const Declara constantes para utilizar en lugar de valores literales. [Public | Private] Const nombreconst = expresión
Argumentos Public Opcional. Palabra clave utilizada en el nivel de secuencia de comandos para declarar constantes que están disponibles para todos los procedimientos en todas las secuencias de comandos. No se admite en procedimientos. Private Opcional. Palabra clave utilizada en el nivel de secuencia de comandos para declarar constantes que están disponibles sólo dentro de la secuencia de comandos donde se realizó la declaración. No se admite en procedimientos. nombreconst Requerido. Nombre de la constante. Sigue las convenciones de nomenclatura estándar de las variables. expresión
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 229 de 264
Requerido. Literal u otra constante o cualquier combinación que incluye todos los operadores aritméticos o lógicos excepto Is. Comentarios Las constantes se definen como public de manera predeterminada. Dentro de los procedimientos, las constantes son siempre private; su visibilidad no se puede modificar. Dentro de una secuencia de comandos, la visibilidad predeterminada de una constante de nivel de secuencia de comandos se puede modificar con la palabra clave Private. Para combinar diversas declaraciones de constantes en la misma línea, separe cada asignación de constante con una coma. Cuando se combinan las declaraciones de constantes de esta forma, la palabra clave Public o Private, si se utiliza, se aplica a todas ellas. No puede utilizar variables, funciones definidas por el usuario, o funciones de VBScript intrínsecas (tales como Chr) en declaraciones de constante. Por definición, no pueden ser constantes. Tampoco puede crear una constante a partir de cualquier expresión que implique un operador, es decir, sólo se permiten constantes simples. Las constantes declaradas en un procedimiento Sub o Function son locales a dicho procedimiento. Una constante declarada fuera de un procedimiento se define a través de la secuencia de comandos en la que se ha declarado. Puede utilizar constantes en cualquier lugar en que pueda utilizar una expresión. La siguiente porción de código ilustra el uso de la instrucción Const: ' Las constantes son Public de manera predeterminada. Const MiVar = 459 Private Const MiCadena = "HELP" ' Declara constante como Private. ' Declara varias constantes en la misma Const MiCadena = "Hola", MiNumero = 3.4567
Nota Las constantes pueden contribuir a que se entiendan sus secuencias de comandos y se puedan modificar más fácilmente. A diferencia de las variables, las constantes no se pueden cambiar de forma inadvertida mientras se ejecuta la secuencia de comandos. Requisitos Versión 5 Consulte también Instrucción Dim | Instrucción Function | Instrucción Private | Instrucción Public | Instrucción Sub
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Instrucción Dim
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 230 de 264
Declara variables y asigna espacio de almacenamiento. Dim nombrevar[([subíndices])][, nombrevar[([subíndices])]] . . .
Argumentos nombrevar Nombre de la variable. Sigue las convenciones de nomenclatura estándar de las variables. subíndices Dimensiones de una variable de matriz. Se puede declarar hasta 60 dimensiones múltiples. El argumento subíndices utiliza la siguiente sintaxis: límitesup [,límitesup] . . . El límite inferior de una matriz es siempre cero. Comentarios Las variables declaradas con Dim en el nivel de secuencia de comandos están disponibles para todos los procedimientos dentro de la secuencia de comandos. En el nivel de procedimiento, las variables están disponibles sólo dentro del procedimiento. También puede utilizar la instrucción Dim con paréntesis vacíos para declarar una matriz dinámica. Después de declarar una matriz dinámica, utilice la instrucción ReDim dentro de un procedimiento para definir el número de dimensiones y elementos de la matriz. Si intenta volver a declarar una dimensión para una variable de matriz cuyo tamaño se especificó explícitamente en una instrucción Dim, se produce un error. Nota Cuando utiliza la instrucción Dim en un procedimiento, generalmente sitúa la instrucción Dim al comienzo del procedimiento. El siguiente ejemplo ilustra el uso de la instrucción Dim: ' Declara una matriz con 10 elementos. Dim Nombres(9) ' Declara una matriz dinámica. Dim Nombres() Dim MiVar, MiNum ' Declara dos variables.
Requisitos Versión 1 Consulte también Instrucción Private | Instrucción Public | Instrucción ReDim | Instrucción Set
© 2001 Microsoft Corporation. Reservados todos los derechos.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 231 de 264
Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Instrucción Do...Loop Repite un bloque de instrucciones mientras una condición es True o hasta que una condición sea True. Do [{While | Until} condición] [instrucciones] [Exit Do] [instrucciones] Loop
O bien, puede utilizar esta sintaxis: Do [instrucciones] [Exit Do] [instrucciones] Loop [{While | Until} condición]
Argumentos condición Expresión numérica o de cadena que es True o False. Si la condición es Null, la condición se trata como False. instrucciones Una o varias instrucciones que se repiten mientras la condición es o hasta que sea True. Comentarios Exit Do sólo se puede utilizar dentro de una estructura de control Do...Loop para proporcionar una forma alternativa de salida de un bucle Do...Loop. Se puede ubicar cualquier número de instrucciones Exit Do en cualquier lugar del bucle Do...Loop. A menudo se utiliza con la evaluación de alguna condición (por ejemplo, If...Then). Exit Do transfiere el control a la instrucción que aparece inmediatamente después de Loop. Cuando se utiliza dentro de instrucciones Do...Loop anidadas, Exit Do transfiere el control al bucle que está anidado un nivel por encima del bucle donde tiene lugar. El siguiente ejemplo ilustra el uso de la instrucción Do...Loop: Do Until DefResp = vbNo MiNum = Int (6 * Rnd + 1) ' Genera un número entero aleatorio entre 1 y 6. DefResp = MsgBox (MiNum & " ¿Desea otro número?", vbYesNo) Loop Dim Comprobar, Contador Comprobar = True: Contador = 0 ' Inicializa las variables. ' Bucle exterior. Do ' Bucle interior. Do While Contador < 20
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 232 de 264
Contador = Contador + 1 ' Incrementa el contador. If Contador = 10 Then ' Si la condición es True... Comprobar = False ' establece el valor del indicador como False. ' Sale del bucle interior. Exit Do End If Loop ' Sale del bucle exterior inmediatamente. Loop Until Comprobar = False
Requisitos Versión 1 Consulte también Instrucción Exit | Instrucción For...Next | Instrucción While...Wend
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Instrucción Erase Reinicializa los elementos de matrices de tamaño fijo y libera espacio de almacenamiento de la matriz dinámica. Erase matriz
El argumento matriz es el nombre de la variable de la matriz que se va a borrar. Comentarios Es importante conocer si una matriz es de tamaño fijo (ordinaria) o dinámica porque Erase se comporta de manera diferente según el tipo de matriz. Erase no recupera memoria para matrices de tamaño fijo. Erase establece los elementos de una matriz fija de la forma siguiente: Tipo de matriz Matriz numérica fija Matriz de cadena fija Matriz de objetos
Efecto de Erase en elementos de matriz fija Establece cada elemento como cero. Establece la longitud de cada elemento como cero (""). Establece el valor de cada elemento como valor especial Nothing.
Erase libera la memoria utilizada por las matrices dinámicas. Antes de que su programa pueda hacer referencia a la matriz dinámica de nuevo, debe volver a declarar las dimensiones de la variable de la matriz mediante una instrucción ReDim.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 233 de 264
El siguiente ejemplo ilustra el uso de la instrucción Erase. Dim MatrizNum(9) Dim MatrizDinamica() ReDim MatrizDinamica(9) ' Asigna espacio de almacenamiento. ' Se vuelve a inicializar cada elemento. Erase MatrizNum ' Libera la memoria utilizada por la matriz. Erase MatrizDinamica
Requisitos Versión 1 Consulte también Instrucción Dim | Nothing | Instrucción ReDim
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Instrucción Execute Ejecuta una o varias instrucciones especificadas. Execute instrucción
El argumento requerido instrucción es una expresión de cadena que contiene una o más instrucciones para ejecutar. Incluye múltiples instrucciones en el argumento instrucción, mediante el uso de dos puntos (:) o saltos de línea incrustados para separarlas. Comentarios En VBScript, x = y se puede interpretar de dos formas. La primera es una instrucción de asignación, donde el valor de y se asigna a x. La segunda interpretación es como una expresión que comprueba si x y y tienen el mismo valor. Si es así, el resultado es True; si no, el resultado es False. La instrucción Execute utiliza siempre la primera interpretación, mientras que el método Eval utiliza siempre la segunda. Nota En Microsoft® JScript™, no existe confusión entre asignación y comparación, porque el operador de asignación (=) es diferente del operador de comparación (==). El contexto en el que se invoca la instrucción Execute determina qué objetos y variables están disponibles para el código que se ejecuta. Los objetos y variables dentro del ámbito están disponibles para codificarse en una instrucción Execute. Sin embargo, es importante entender que si ejecuta un código que crea un procedimiento, dicho procedimiento no hereda el ámbito del procedimiento en que
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 234 de 264
apareció. Al igual que cualquier procedimiento, el ámbito del procedimiento nuevo es global y hereda todo en el ámbito global. A diferencia de cualquier otro procedimiento, su contexto no es de ámbito global, de modo que sólo se puede ejecutar en el contexto del procedimiento donde apareció la instrucción Execute. Sin embargo, si la misma instrucción Execute se invoca fuera de un procedimiento (es decir, ámbito global), no sólo hereda todo en el ámbito global, sino que también puede llamarse desde cualquier lugar, ya que su contexto es global. El siguiente ejemplo ilustra este comportamiento: Dim X ' Declara X en el ámbito global. X = "Global" ' Asigna un valor a X global. Sub Proc1 ' Declara el procedimiento. Dim X ' Declara X en el ámbito local. X = "Local" ' Asigna un valor a X local. ' La instrucción Execute aquí crea un ' procedimiento que, cuando se invoca, imprime X. ' Imprime X global porque Proc2 ' hereda todo en el ámbito local. Execute "Sub Proc2: Print X: End Sub" Print Eval("X") ' Imprime X local. Proc2 ' Invoca a Proc2 en el ámbito de Proc1. End Sub Proc2 ' Esta línea produce un error ya que ' Proc2 no está disponible fuera de Proc1. Proc1 ' Invoca a Proc1. Execute "Sub Proc2: Print X: End Sub" Proc2 ' Esta invocación se realizó correctamente porque Proc2 ' está ahora disponible globalmente.
El siguiente ejemplo muestra cómo se puede volver a escribir la instrucción Execute de manera que no tenga que delimitar todo el procedimiento entre comillas: S = "Sub Proc2" & vbCrLf S = S & " Print X" & vbCrLf S = S & "End Sub" Execute S
Requisitos Versión 1 Consulte también Instrucción Eval | Instrucción ExecuteGlobal
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 235 de 264
Instrucción ExecuteGlobal Ejecuta una o varias instrucciones especificadas en el espacio de nombres global de una secuencia de comandos. ExecuteGlobal instrucción
El argumento instrucción necesario es una expresión de cadena que contiene una o varias instrucciones para ejecutar. Incluya varias instrucciones en el argumento instrucción y utilice dos puntos o saltos de línea incrustados para separarlas. Comentarios En VBScript, x = y se puede interpretar de dos formas. La primera es una instrucción de asignación, donde el valor de y se asigna a x. La segunda interpretación es como una expresión que comprueba si x y y tienen el mismo valor. Si es así, el resultado es True; si no, el resultado es False. La instrucción ExecuteGlobal utiliza siempre la primera interpretación, mientras que el método Eval utiliza siempre la segunda. Nota En Microsoft® JScript™, no existe confusión entre asignación y comparación, porque el operador de asignación (=) es diferente del operador de comparación (==). Todas las instrucciones utilizadas con ExecuteGlobal se ejecutan en el espacio de nombres global de la secuencia de comandos. Este permite agregar código al programa de manera que cualquier procedimiento pueda tener acceso a él. Por ejemplo, se puede ejecutar una instrucción Class de VBScript en tiempo de ejecución y las funciones podrán, a continuación, crear nuevas instancias de la clase. Agregar procedimientos y clases en tiempo de ejecución puede ser útil, pero también introduce la posibilidad de sobrescribir variables globales y funciones ya existentes. Puesto que esto puede causar problemas de programación importantes, se debe tener especial cuidado cuando utilice la instrucción ExecuteGlobal. Si no necesita tener acceso a una variable o función fuera de un procedimiento, utilice la instrucción Execute, que sólo afecta al espacio de nombres de la función que llama. El siguiente ejemplo ilustra el uso de la instrucción ExecuteGlobal: Dim X ' Declara X en el ámbito global. X = "Global" ' Asigna un valor a X global. Sub Proc1 ' Declara el procedimiento. Dim X ' Declara X en el ámbito local. X = "Local" ' Asigna un valor a X local. ' La instrucción Execute aquí crea un ' procedimiento que, cuando se invoca, imprime X. ' Imprime la variable X global porque Proc2 ' hereda todo en el ámbito global. ExecuteGlobal "Sub Proc2: Print X: End Sub" Print Eval("X") ' Imprime X local. Proc2 ' Invoca a Proc2 en el ámbito global, lo que ' provoca que se imprima "Global". End Sub Proc2 ' Esta línea produce un error ya que ' Proc2 no está disponible fuera de Proc1.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 236 de 264
Proc1 ' Invoca a Proc1. Execute "Sub Proc2: Print X: End Sub" Proc2 ' Esta invocación se realizó correctamente ' porque Proc2 está ahora disponible globalmente.
El siguiente ejemplo muestra cómo se puede volver a escribir la instrucción ExecuteGlobal de manera que no tenga que delimitar todo el procedimiento entre comillas: S = "Sub Proc2" & vbCrLf S = S & " Print X" & vbCrLf S = S & "End Sub" ExecuteGlobal S
Requisitos Versión 1
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Instrucción Exit Sale de un bloque de código Do...Loop, For...Next, Function o Sub. Exit Exit Exit Exit Exit
Do For Function Property Sub
La sintaxis de la instrucción Exit se compone de: Instrucción Exit Do
Exit For
Exit Function
Descripción Proporciona una forma de salir de una instrucción Do...Loop. Sólo se puede utilizar dentro de una instrucción Do...Loop. Exit Do transfiere el control a la instrucción que sigue a la instrucción Loop. Cuando se utiliza dentro de instrucciones Do...Loop anidadas, Exit Do transfiere el control al bucle que está anidado un nivel por encima del bucle donde se inicia. Proporciona una forma de salir de un bucle For. Sólo se puede utilizar en un bucle For...Next o For Each...Next. Exit For transfiere el control a la instrucción que sigue a la de Next. Cuando se utiliza dentro de bucles For anidados, Exit For transfiere el control al bucle que está anidado un nivel por encima del bucle donde se inicia. Inmediatamente sale del procedimiento Function en el que aparece. La ejecución
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Exit Property Exit Sub
Página 237 de 264
continúa con la instrucción que sigue a la que llamó a Function. Inmediatamente sale del procedimiento Property en el que aparece. La ejecución continúa con la instrucción que sigue a la que llamó al procedimiento Property. Inmediatamente sale del procedimiento Sub en el que aparece. La ejecución continúa con la instrucción que sigue a la que llamó a Sub.
El siguiente ejemplo ilustra el uso de la instrucción Exit: Sub RandomLoop Dim I, MiNum Do ' Establece un bucle infinito. For I = 1 To 1000 ' Ejecuta el bucle 1000 veces. MiNum = Int(Rnd * 100) ' Genera números aleatorios. Select Case MiNum ' Evalúa un número aleatorio. Case 17: MsgBox "Case 17" ' Si es 17, sale de For...Next. Exit For Case 29: MsgBox "Case 29" ' Si es 29, sale de Do...Loop. Exit Do Case 54: MsgBox "Case 54" ' Si es 54, sale del procedumiento. Exit Sub End Select Next Loop End Sub
Requisitos Versión 1 Consulte también Instrucción Do...Loop | Instrucción For Each...Next | Instrucción For...Next | Instrucción Function | Instrucción Sub
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Instrucción For Each...Next Repite un grupo de instrucciones para cada elemento en una matriz o colección. For Each elemento In grupo [instrucciones] [Exit For] [instrucciones] Next [elemento]
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 238 de 264
Argumentos elemento Variable utilizada para repetir los elementos de la colección o matriz. Para colecciones, elemento sólo puede ser una variable Variant, una variable genérica Object o cualquier variable de objeto de automatización específica. Para matrices, elemento sólo puede ser una variable Variant. grupo Nombre de una colección de objetos o matrices. instrucciones Una o varias instrucciones que se ejecutan en cada elemento del grupo. Comentarios El bloque For Each se inicia si existe al menos un elemento en el grupo. Una vez que se ha iniciado el bucle, se ejecutan todas las instrucciones en el bucle para el primer elemento del grupo. Siempre que existan más elementos en el grupo, las instrucciones del bucle continúan ejecutándose para cada elemento. Cuando no existen más elementos en el grupo, se sale del bucle y la ejecución continúa con la instrucción que sigue a Next. Exit For sólo se puede utilizar dentro de una estructura de control For Each...Next o For...Next para proporcionar una forma alternativa de salida. Se puede ubicar cualquier número de declaraciones Exit For en cualquier lugar del bucle. A menudo, Exit For se utiliza con la evaluación de alguna condición (por ejemplo, If...Then) y transfiere el control a la instrucción que aparece inmediatamente después de Next. Puede anidar bucles For Each...Next si ubica un bucle For Each...Next dentro de otro. Sin embargo, cada elemento del bucle debe ser único. Nota Si omite elemento en una instrucción Next, la ejecución continúa como si lo hubiera incluido. Si se ejecuta una instrucción Next antes de su instrucción For correspondiente, se produce un error. El siguiente ejemplo ilustra el uso de la instrucción For Each...Next: Function MostrarListaDeCarpetas(carpetas) Dim fso, f, f1, fc, s Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.GetFolder(carpetas) Set fc = f.Files For Each f1 in fc s = s & f1.name s = s & " " Next MostrarListaDeCarpetas = s End Function
Requisitos Versión 2 Consulte también
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 239 de 264
Instrucción Do...Loop | Instrucción Exit | Instrucción For...Next | Instrucción While...Wend
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Instrucción For...Next Repite un grupo de instrucciones un número de veces especificado. For contador = inicio To fin [Step paso] [instrucciones] [Exit For] [instrucciones] Next
Argumentos contador Variable numérica utilizada como contador de bucle. La variable no puede ser un elemento de matriz ni un elemento de tipo definido por el usuario. inicio Valor inicial de contador. fin Valor final de contador. paso El número de contador se cambia cada vez a lo largo del bucle. Si no se especifica, el valor predeterminado de paso es uno. instrucciones Una o varias instrucciones entre For y Next que se ejecutan el número de veces especificado. Comentarios El argumento paso puede ser positivo o negativo. El valor del argumento paso determina el procedimiento de bucle de la forma siguiente: Valor Positivo o 0 Negativo
El bucle se ejecuta si contador <= fin contador >= fin
Una vez que se inicia el bucle y que se han ejecutado todas las instrucciones en el bucle, se agrega paso a contador. En este punto, o bien las instrucciones del bucle se ejecutan de nuevo (según la misma prueba que hizo que el bucle se ejecutara inicialmente), o se sale del bucle y la ejecución continúa con la instrucción que sigue a Next.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 240 de 264
Nota Cambiar el valor de contador mientras está dentro de un bucle puede dificultar la lectura y la depuración de su código. Exit For sólo se puede utilizar dentro de una estructura de control For Each...Next o For...Next para proporcionar una forma alternativa de salida. Se puede ubicar cualquier número de declaraciones Exit For en cualquier lugar del bucle. A menudo, Exit For se utiliza con la evaluación de alguna condición (por ejemplo, If...Then) y transfiere el control a la instrucción que aparece inmediatamente después de Next. Puede anidar bucles For...Next si ubica un bucle For...Next dentro de otro. Déle a cada bucle un nombre de variable único como contador. La siguiente estructura es correcta: For I = 1 To 10 For J = 1 To 10 For K = 1 To 10 . . . Next Next Next
Requisitos Versión 1 Consulte también Instrucción Do...Loop | Instrucción Exit | Instrucción For Each...Next | Instrucción While...Wend
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Instrucción Function Declara el nombre, argumentos y código que forman el cuerpo de un procedimiento Function. [Public [Default] | Private] Function nombre [(listaArgumentos)] [instrucciones] [nombre = expresión] [Exit Function] [instrucciones] [nombre = expresión] End Function
Argumentos
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 241 de 264
Public Indica que el procedimiento Function es accesible para todos los otros procedimientos de todas las secuencias de comandos. Default Utilizado sólo con la palabra clave Public en un bloque Class para indicar que el procedimiento Function es el método predeterminado para la clase. Se produce un error si se especifica más de un error Default en una clase. Private Indica que el procedimiento Function es accesible sólo para otros procedimientos en la secuencia de comandos donde se declara o si la función es un miembro de una clase y que el procedimiento Function es accesible sólo a otros procedimientos en dicha clase. nombre Nombre de Function. Sigue las convenciones de nomenclatura estándar de las variables. listaArgumentos Lista de variables que representan los argumentos que se pasan al procedimiento Function cuando se le llama. Las comas separan las variables múltiples. instrucciones Cualquier grupo de instrucciones que se van a ejecutar dentro del cuerpo del procedimiento Function. expresión Valor de retorno de Function. El argumento listaArgumentos tiene la siguiente sintaxis: [ByVal | ByRef] nombreVariable[( )] Argumentos ByVal Indica que el argumento se ha pasado por valor. ByRef Indica que el argumento se ha pasado por referencia. nombreVariable Nombre de la variable que representa el argumento. Sigue las convenciones de nomenclatura estándar de las variables. Comentarios Si no se especifica explícitamente con Public o Private, los procedimientos Function son públicos de manera predeterminada, es decir, son visibles para todos los otros procedimientos de su secuencia de comandos. El valor de las variables locales en el procedimiento Function no se conserva entre llamadas al procedimiento. No puede definir un procedimiento Function dentro de cualquier otro procedimiento (p. ej. Sub o Property Get). La instrucción Exit Function provoca una salida inmediata de un procedimiento Function. La ejecución del programa continúa con la instrucción que sigue a la que llamó al procedimiento Function. Puede aparecer cualquier número de instrucciones Exit Function en cualquier lugar de un procedimiento Function.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 242 de 264
Al igual que un procedimiento Sub, un procedimiento Function es un procedimiento separado que puede aceptar argumentos, ejecutar una serie de instrucciones y cambiar los valores de sus argumentos. Sin embargo, a diferencia de un procedimiento Sub, puede utilizar un procedimiento Function en la parte derecha de una expresión del mismo modo que utiliza cualquier función intrínseca, como Sqr, Cos o Chr, cuando desea utilizar el valor devuelto por la función. Puede llamar a un procedimiento Function con el nombre de la función, seguido por el argumento entre paréntesis, en una expresión. Consulte la instrucción Call para obtener información específica acerca de cómo llamar a procedimientos Function. Precaución Los procedimientos Function pueden ser recursivos, es decir, pueden llamarse a sí mismos para realizar una tarea concreta. Sin embargo, la recursividad puede dar lugar a un desbordamiento de pila. Para devolver un valor desde una función, asigne el valor al nombre de la función. Cualquier número de dichas asignaciones puede aparecer en cualquier lugar dentro del procedimiento. Si no se asigna ningún valor a nombre, el procedimiento devuelve un valor predeterminado: una función numérica devuelve 0 y una función de cadena devuelve una cadena de longitud cero (""). Una función que devuelve una referencia de objeto, devuelve Nothing si no se asigna ninguna referencia de objeto a nombre (mediante Set) dentro de Function. El siguiente ejemplo muestra cómo asignar un valor de retorno a una función denominada BinarySearch. En este caso, se asigna False al nombre para indicar que no se ha encontrado algún valor. Function BusquedaBinaria(. . .) . . . ' ' Valor no encontrado. Devuelve un valor False. If lower > upper Then BusquedaBinaria = False Exit Function End If . . . End Function
Las variables utilizadas en los procedimientos Function pertenecen a dos categorías: aquellas que se declaran explícitamente dentro del procedimiento y aquellas que no. Las variables que se declaran explícitamente dentro de un procedimiento (con Dim o su equivalente) son siempre locales al procedimiento. Las variables que se utilizan pero no se declaran explícitamente dentro de un procedimiento son también locales a no ser que se declaren explícitamente en algún nivel superior fuera del procedimiento. Precaución Un procedimiento puede utilizar una variable que no se declare explícitamente en el procedimiento, pero puede producirse un conflicto de nomenclatura si cualquiera de los elementos que ha definido tiene el mismo nombre en el nivel de secuencia de comandos. Si el procedimiento hace referencia a una variable que no está declarada y que tiene el mismo nombre que otro procedimiento, constante o variable, se asume que su procedimiento hace referencia a dicho nombre del nivel de secuencia de comandos. Para evitar este tipo de conflicto, utilice una instrucción Option Explicit con la que se fuerce la declaración explícita de variables. Precaución Puede que VBScript reorganice las expresiones aritméticas para aumentar la eficacia interna. Evite utilizar un procedimiento Function en una expresión aritmética
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 243 de 264
cuando la función cambie el valor de las variables en la misma expresión. Requisitos Versión 1 Consulte también Instrucción Call | Instrucción Dim | Instrucción Exit | Nothing | Instrucción Set | Instrucción Sub
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Instrucción If...Then...Else Ejecuta de forma condicional un grupo de instrucciones, según el valor de una expresión. If condición Then instrucciones [Else instruccioneselse ]
O bien, puede utilizar la sintaxis de forma de bloque: If condición Then [instrucciones] [Else condición-n Then [instruccioneselseif]] . . . [Else [instruccioneselse]] End If
Argumentos condición Uno o varios de los siguientes tipos de expresiones: Una expresión numérica o de cadena que se evalúa como True o False. Si la condición es Null, la condición se trata como False. Una expresión de la forma TypeOf nombreobjeto Is tipoobjeto. El nombreobjeto es cualquier referencia de objeto y tipoobjeto es cualquier tipo de objeto válido. La expresión es True si nombreobjeto es del tipo de objeto especificado por tipoobjeto y si no es así, es False. instrucciones Una o varias instrucciones separadas por dos puntos. Se ejecuta si la condición es True. condición-n
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 244 de 264
Igual que condición. instruccioneselseif Una o varias instrucciones ejecutadas si la condición-n asociada es True. instruccioneselse Una o varias instrucciones ejecutadas si ninguna expresión de condición o condición-n previa es True. Comentarios Puede utilizar la forma de línea única (primera sintaxis) para pruebas cortas y simples. Sin embargo, la forma de bloque (segunda sintaxis) proporciona una mejor estructura y flexibilidad que la forma de línea única y es normalmente más fácil de leer, mantener y depurar. Nota Con la sintaxis de línea única, es posible hacer que se ejecuten varias instrucciones como resultado de una decisión If...Then, pero deben estar todas en la misma línea y separadas por dos puntos, como en la siguiente instrucción: If A > 10 Then A = A + 1 : B = B + A : C = C + B
Cuando se ejecuta un bloque If (segunda sintaxis), se prueba la condición. Si la condición es True, se ejecutan las instrucciones que siguen a Then. Si la condición es False, se evalúa cada ElseIf (si hubiera) por turno. Cuando se encuentra una condición True, se ejecutan las instrucciones que siguen a la instrucción Then asociada. Si ninguna de las instrucciones ElseIf son True (o no existen claúsulas ElseIf), se ejecutan las instrucciones que siguen a Else. Después de ejecutar las instrucciones que siguen a Then o Else, la ejecución continúa con la instrucción que sigue a End If. Las claúsulas Else y ElseIf son opcionales. Puede tener tantas instrucciones ElseIf como desee en un bloque If, pero ninguna puede aparecer después de la claúsula Else. Las instrucciones de bloque If se pueden anidar; es decir, estar contenidas una dentro de otra. Lo que sigue a la palabra clave Then se examina para determinar si una instrucción es un bloque If o no. Si aparece cualquier otra cosa que no sea un comentario después de Then en la misma línea, la instrucción de trata como una instrucción de línea única If. Una instrucción de bloque If debe ser la primera instrucción en una línea. El bloque If debe terminar con una instrucción End If. Requisitos Versión 1
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 245 de 264
Instrucción On Error Habilita o deshabilita el control de errores. On Error Resume Next On Error GoTo 0
Comentarios Si no utiliza una instrucción On Error Resume Next en algún lugar de su código, cualquier error en tiempo de ejecución que ocurra puede causar que se muestre un mensaje de error y se detenga la ejecución del código. Sin embargo, el host que ejecuta el código determina el comportamiento exacto. El host puede optar algunas veces por controlar errores de forma diferente. En algunos casos, puede invocarse al depurador de secuencia de comandos en el momento del error. En otros casos, puede no haber indicación aparente de que ocurra algún error porque el host no lo notifica al usuario. De nuevo, esto es puramente una función de cómo el host controla los errores que ocurren. Dentro de un procedimiento particular, un error no es fatal necesariamente si el control de errores está habilitado en algún lugar de la pila de llamadas. Si no se habilita un control de errores local en un procedimiento y ocurre un error, se vuelve atrás el control a través del procedimiento hasta que se encuentre un control de errores habilitado y se controla el error en ese punto. Si no se encuentra un procedimiento en la pila de llamadas para tener habilitado el control de errores, se muestra un mensaje de error en ese punto y se detiene la ejecución o el host controla el error como sea apropiado. On Error Resume Next hace que la ejecución continúe en la instrucción que sigue a la instrucción que produjo el error en tiempo de ejecución, o con la instrucción que sigue a la llamada más reciente del procedimiento que contiene la instrucción On Error Resume Next. Esto permite que la ejecución continúe aunque se produzca un error en tiempo de ejecución. Puede generar la rutina de control de errores en una línea dentro del procedimiento. Una instrucción On Error Resume Next se vuelve inactiva cuando se llama a otro procedimiento, por lo que debe ejecutar una instrucción On Error Resume Next en cada rutina de llamada si quiere controlar el error en línea dentro de la rutina. Cuando se sale de un procedimiento, la capacidad de control de errores vuelve al control de errores que estaba en ejecución cuando se entró en el procedimiento del que se sale. Utilice On Error GoTo 0 para deshabilitar el control de errores si previamente la ha habilitado mediante On Error Resume Next. El ejemplo siguiente ilustra el uso de la instrucción On Error Resume Next. On Error Resume Next Err.Raise 6 ' Aumenta el error por desbordamiento. MsgBox "Error nº " & CStr(Err.Number) & " " & Err.Description Err.Clear ' Borra el error.
Requisitos Versión 1
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 246 de 264
Consulte también Objeto Err | Instrucción Exit
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Instrucción Option Explicit Fuerza la declaración explícita de todas las variables de una secuencia de comandos. Option Explicit
Comentarios Si se utiliza, la instrucción Option Explicit debe aparecer en una secuencia de comandos antes de cualquier otra instrucción. Cuando utiliza la instrucción Option Explicit, debe declarar explícitamente todas las variables mediante las instrucciones Dim, Private, Public o ReDim. Si intenta utilizar un nombre de variable no declarada, se producirá un error. Sugerencia Utilice Option Explicit para no escribir por error el nombre de una variable existente o para evitar confusiones en el código allí donde el ámbito de la variable no esté claro. El siguiente ejemplo ilustra el uso de la instrucción Option Explicit. ' Fuerza la declaración explícita de la variable. Option Explicit Dim MiVar ' Declara la variable. MiEnt = 10 ' La variable no declarada genera un error. MiVar = 10 ' La variable declarada no genera ningún error.
Requisitos Versión 1
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 247 de 264
Visual Basic Scripting Edition
Instrucción Private Declara variables como privadas y les asigna espacio de almacenamiento. Declara, en un bloque Class, una variable privada. Private nombreVariable[([subíndices])][, nombreVariable[([subíndices])]] . . .
Argumentos nombreVariable Nombre de la variable. Sigue las convenciones de nomenclatura estándar de las variables. subíndices Dimensiones de una variable de matriz. Se puede declarar hasta 60 dimensiones múltiples. El argumento subíndices utiliza la siguiente sintaxis: superior [, superior] . . . El límite inferior de una matriz es siempre cero. Comentarios Las variables de instrucciones Private están sólo disponibles para la secuencia de comandos en la que se declaran. Una variable que se refiere a un objeto se debe asignar a un objeto existente mediante la instrucción Set antes de que se pueda utilizar. Hasta que se asigna a un objeto, la variable del objeto declarado se inicializa como Empty. También puede utilizar la instrucción Private con paréntesis vacío para declarar una matriz dinámica. Después de declarar una matriz dinámica, utilice la instrucción ReDim dentro de un procedimiento para definir el número de dimensiones y elementos de la matriz. Si intenta volver a declarar una dimensión para una variable de matriz cuyo tamaño se especificó explícitamente en una instrucción Private, Public o Dim se produce un error. Nota Cuando utiliza la instrucción Private en un procedimiento, generalmente sitúa la instrucción Private al comienzo del procedimiento. El siguiente ejemplo ilustra el uso de la instrucción Private. ' Variable de tipo Variant declarada como Private. Private MiNumero ' Variable de matriz declarada como Private. Private MiMatriz(9) ' Declaraciones Private múltiples de variables de tipo Variant. Private MiNumero, MiVar, SuNumero
Requisitos Versión 1
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 248 de 264
Consulte también Instrucción Dim | Instrucción Public | Instrucción ReDim | Instrucción Set
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Instrucción Property Get Declara, en un bloque Class, el nombre, argumentos y código que forman el cuerpo de un procedimiento Property que toma (devuelve) el valor de una propiedad. [Public [Default] | Private] Property Get nombre [(listaArgumentos)] [instrucciones] [[Set] nombre = expresión] [Exit Property] [instrucciones] [[Set] nombre = expresión] End Property
Argumentos Public Indica que el procedimiento Property Get es accesible para todos los otros procedimientos de todas las secuencias de comandos. Default Utilizado sólo con la palabra clave Public para indicar que la propiedad definida en el procedimiento Property Get es la propiedad predeterminada para la clase. Private Indica que el procedimiento Property Get es accesible sólo para otros procedimientos del bloque Class donde se declaró. nombre Nombre del procedimiento Property Get. Sigue las convenciones de nomenclatura estándar de las variables, con la excepción de que el nombre puede ser el mismo que un procedimiento Property Let o Property Set del mismo bloque Class. listaArgumentos Lista de variables que representan los argumentos que se pasan al procedimiento Property Get cuando se llama al mismo. Las comas separan los argumentos múltiples. El nombre de cada argumento de un procedimiento Property Get debe ser el mismo que el argumento correspondiente de un procedimiento Property Let (si existe). instrucciones Cualquier grupo de declaraciones que se van a ejecutar dentro del cuerpo del procedimiento Property Get. Set
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 249 de 264
Palabra clave utilizada cuando se asigna un objeto como valor de retorno de un procedimiento Property Get. expresión Devuelve el valor del procedimiento Property Get. Comentarios Si no se especifica explícitamente mediante Public o Private, los procedimientos Property Get son públicos de manera predeterminada, es decir, son visibles para todos los otros procedimientos de la secuencia de comandos. El valor de las variables locales en un procedimiento Property Get no se conserva entre llamadas al procedimiento. Puede definir un procedimiento Property Get dentro de otro procedimiento (p. ej., Function o Property Let). La instrucción Exit Property provoca una salida inmediata de un procedimiento Property Get. La ejecución del programa continúa con la instrucción que sigue a la instrucción que llamó al procedimiento Property Get. Cualquier número de instrucciones Exit Property puede aparecer en cualquier lugar de un procedimiento Property Get. Al igual que un procedimiento Sub y Property Let, un procedimiento Property Get es un procedimiento separado que puede aceptar argumentos, ejecutar una serie de instrucciones y cambiar el valor de sus argumentos. Sin embargo, a diferencia de Sub y Property Let, puede utilizar un procedimiento Property Get en la parte derecha de una expresión del mismo modo que utiliza un procedimiento Function o un nombre de propiedad cuando desea devolver el valor de una propiedad. Requisitos Versión 5 Consulte también Instrucción Class | Instrucción Dim | Instrucción Exit | Instrucción Function | Instrucción Private | Instrucción Property Let | Instrucción Property Set | Instrucción Public | Instrucción Set | Instrucción Sub
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Instrucción Property Let Declara, en un bloque Class, el nombre, argumentos y código que forman el cuerpo de un procedimiento Property que asigna (establece) el valor de una propiedad.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 250 de 264
[Public | Private] Property Let nombre ([listaArgumentos,] valor) [instrucciones] [Exit Property] [instrucciones] End Property
Argumentos Public Indica que el procedimiento Property Let es accesible para todos los otros procedimientos de todas las secuencias de comandos. Private Indica que el procedimiento Property Let es accesible sólo para otros procedimientos del bloque Class donde se ha declarado. nombre Nombre del procedimiento Property Let. Sigue las convenciones de nomenclatura estándar de las variables, con la excepción de que el nombre puede ser el mismo que un procedimiento Property Get o Property Set del mismo bloque Class. listaArgumentos Lista de variables que representan los argumentos que se pasan al procedimiento Property Let cuando se llama al mismo. Las comas separan los argumentos múltiples. El nombre de cada argumento de un procedimiento Property Let debe ser el mismo que el argumento correspondiente de un procedimiento Property Get. Además, el procedimiento Property Let tendrá siempre un argumento más que su procedimiento Property Get correspondiente. Dicho argumento es el valor que se asigna a la propiedad. valor Variable que contiene el valor que se va a asignar a la propiedad. Cuando se llama al procedimiento, aparece este argumento en la parte derecha de la expresión que llama. instrucciones Cualquier grupo de declaraciones que se van a ejecutar dentro del cuerpo del procedimiento Property Let. Comentarios Si no se especifica explícitamente mediante Public o Private, los procedimientos Property Let son públicos de manera predeterminada, es decir, son visibles para todos los otros procedimientos de la secuencia de comandos. El valor de las variables locales en un procedimiento Property Let no se conserva entre llamadas al procedimiento. No puede definir un procedimiento Property Let dentro de cualquier otro procedimiento (por ejemplo, Function o Property Get). La instrucción Exit Property provoca una salida inmediata de un procedimiento Property Let. La ejecución del programa continúa con la instrucción que sigue a la instrucción que llamó al procedimiento Property Let. Cualquier número de instrucciones Exit Property puede aparecer en cualquier lugar de un procedimiento Property Let. Nota La instrucción Property Let debe definir al menos un argumento para el procedimiento que defina. Dicho argumento (o el último argumento si hubiera más de uno) contiene el valor actual que se va a asignar a la propiedad cuando se invoca al procedimiento definido por la instrucción Property Let. A dicho argumento se hace
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 251 de 264
referencia como valor en la sintaxis anterior. Al igual que un procedimiento Function y Property Get, Property Let es un procedimiento separado que puede aceptar argumentos, ejecutar una serie de instrucciones y cambiar el valor de sus argumentos. Sin embargo, a diferencia de un procedimiento Function y Property Get, que devuelven un valor, sólo puede utilizar un procedimiento Property Let en la parte izquierda de una expresión de asignación de propiedad. Requisitos Versión 5 Consulte también Instrucción Class | Instrucción Dim | Instrucción Exit | Instrucción Function | Instrucción Private | Instrucción Property Get | Instrucción Property Set | Instrucción Public | Instrucción Set | Instrucción Sub
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Instrucción Property Set Declara, en un bloque Class, el nombre, argumentos y código que forman el cuerpo de un procedimiento Property que establece una referencia a un objeto. [Public | Private] Property Set nombre([listaArgumentos,] referencia) [instrucciones] [Exit Property] [instrucciones] End Property
Argumentos Public Indica que el procedimiento Property Set es accesible para todos los otros procedimientos de todas las secuencias de comandos. Private Indica que el procedimiento Property Set es accesible sólo para otros procedimientos del bloque Class donde se ha declarado. nombre Nombre del procedimiento Property Set. Sigue las convenciones de nomenclatura estándar de las variables, con la excepción de que el nombre puede ser el mismo que un procedimiento Property Get o Property Let del mismo bloque Class.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 252 de 264
listaArgumentos Lista de variables que representan los argumentos que se pasan al procedimiento Property Set cuando se llama al mismo. Las comas separan los argumentos múltiples. Además, el procedimiento Property Set tendrá siempre un argumento más que su correspondiente procedimiento Property Get. Dicho argumento es el objeto que se ha asignado a la propiedad. referencia Variable que contiene la referencia del objeto utilizado en la parte derecha de la asignación de referencias de objeto. instrucciones Cualquier grupo de instrucciones que se van a ejecutar dentro del cuerpo del procedimiento Property Set. Comentarios Si no se especifica explícitamente mediante Public o Private, los procedimientos Property Set son públicos de manera predeterminada, es decir, son visibles para todos los otros procedimientos de la secuencia de comandos. El valor de las variables locales en un procedimiento Property Set no se conserva entre llamadas al procedimiento. Puede definir un procedimiento Property Set dentro de otro procedimiento (p. ej., Function o Property Let). La instrucción Exit Property provoca una salida inmediata de un procedimiento Property Set. La ejecución del programa continúa con la instrucción que sigue a la instrucción que llamó al procedimiento Property Set. Cualquier número de instrucciones Exit Property puede aparecer en cualquier lugar de un procedimiento Property Set. Nota La instrucción Property Set debe definir al menos un argumento para el procedimiento que defina. Dicho argumento (o el último argumento si existe más de uno) contiene la referencia del objeto actual para la propiedad cuando se invoca el procedimiento definido por la instrucción Property Set. A dicho argumento se le denomina referencia en la sintaxis anterior. Al igual que un procedimiento Function y Property Get, Property Set es un procedimiento separado que puede aceptar argumentos, ejecutar una serie de instrucciones y cambiar el valor de sus argumentos. Sin embargo, a diferencia de un procedimiento Function y Property Get, que devuelven un valor, sólo puede utilizar un procedimiento Property Set en la parte izquierda de una asignación de referencias de objeto (instrucción Set). Requisitos Versión 5 Consulte también Instrucción Class | Instrucción Dim | Instrucción Exit | Instrucción Function | Instrucción Private | Instrucción Property Get | Instrucción Property Let | Instrucción Public | Instrucción Set | Instrucción Sub
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 253 de 264
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Instrucción Public Declara variables como públicas y libera espacio de almacenamiento. Declara, en un bloque Class, una variable privada. Public nombreVariable[(subíndices])][, nombreVariable[([subíndices])]] . . .
Argumentos nombreVariable Nombre de la variable. Sigue las convenciones de nomenclatura estándar de las variables. subíndices Dimensiones de una variable de matriz. Se puede declarar hasta 60 dimensiones múltiples. El argumento subíndices utiliza la siguiente sintaxis: superior [, superior] . . . El límite inferior de una matriz es siempre cero. Comentarios Las variables de instrucciones Public están disponibles para todos los procedimientos de todas las secuencias de comandos. Una variable que se refiere a un objeto se debe asignar a un objeto existente mediante la instrucción Set antes de que se pueda utilizar. Hasta que se asigna a un objeto, la variable del objeto declarado se inicializa como Empty. También puede utilizar la instrucción Public con paréntesis vacíos para declarar una matriz dinámica. Después de declarar una matriz dinámica, utilice la instrucción ReDim dentro de un procedimiento para definir el número de dimensiones y elementos de la matriz. Si intenta volver a declarar una dimensión para una variable de matriz cuyo tamaño se especificó explícitamente en una instrucción Private, Public o Dim se produce un error. El siguiente ejemplo ilustra el uso de la instrucción Public: ' Variable de tipo Variant declarada como Public. Public MiNumero ' Variable de matriz declarada como Public. Public MiMatriz(9) ' Declaraciones Public múltiples de variables de tipo Variant. Public MiNumero, MiVar, SuNumero
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 254 de 264
Requisitos Versión 1 Consulte también Instrucción Dim | Instrucción Private | Instrucción ReDim | Instrucción Set
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Instrucción Randomize Inicializa el generador de números aleatorios. Randomize [número]
El argumento número puede ser cualquier expresión numérica válida. Comentarios Randomize utiliza número para inicializar el generador de números aleatorios de la función Rnd, para ello, le asigna un nuevo valor seed. Si omite número, el valor devuelto por el temporizador del sistema se utiliza como el nuevo valor seed. Si no se utiliza Randomize, la función Rnd (sin argumentos) utiliza el mismo número que un seed la primera vez que se le llama y después utiliza el último número generado como valor seed. Nota Para repetir secuencias de números aleatorios, llame a Rnd con un argumento negativo inmediatamente antes de utilizar Randomize con un argumento numérico. Utilizar Randomize con el mismo valor para número no repite la secuencia anterior. El siguiente ejemplo ilustra el uso de la instrucción Randomize. Dim MiValor, Respuesta ' Inicializa el generador de números aleatorios. Randomize Do Until Respuesta = vbNo MiValor = Int((6 * Rnd) + 1) ' Genera un valor aleatorio entre 1 y 6. MsgBox MiValor Response = MsgBox ("¿Desea repetir? ", vbYesNo) Loop
Requisitos
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 255 de 264
Versión 1 Consulte también Función Rnd | Función Timer
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Instrucción ReDim Declara variables de matriz dinámica y asigna o vuelve a asignar espacio de almacenamiento para procedimientos. ReDim [Preserve] nombreVariable(subíndices) [, nombreVariable(subíndices)] . . .
Argumentos Preserve Conserva los datos en una matriz existente cuando modifica el tamaño de la última dimensión. nombreVariable Nombre de la variable. Sigue las convenciones de nomenclatura estándar de las variables. subíndices Dimensiones de una variable de matriz. Se puede declarar hasta 60 dimensiones múltiples. El argumento subíndices utiliza la siguiente sintaxis: superior [, superior] . . . El límite inferior de una matriz es siempre cero. Comentarios La instrucción ReDim se utiliza para cambiar el tamaño de una matriz dinámica que ya se ha declarado formalmente mediante una instrucción Private, Public o Dim con paréntesis vacío (sin subíndices de tamaño). Puede utilizar la instrucción ReDim repetidamente para cambiar el número de elementos y dimensiones de una matriz. Si utiliza la palabra clave Preserve, puede modificar el tamaño sólo de la última dimensión de la matriz y no puede modificar el número de dimensiones. Por ejemplo, si su matriz tiene sólo una dimensión, puede cambiar el tamaño de dicha dimensión porque es la única y última. Sin embargo, si su matriz tiene dos o más dimensiones, sólo puede cambiar el tamaño de la última dimensión y aún conservar el contenido de la matriz.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 256 de 264
El siguiente ejemplo muestra cómo puede incrementar el tamaño de la última dimensión de una matriz dinámica sin borrar ningún dato contenido en la matriz. ReDim X(10, 10, 10) . . . ReDim Preserve X(10, 10, 15)
Precaución Si reduce el tamaño original de una matriz, se pierden los datos de los elementos eliminados. Cuando se inicializan variables, se inicializa una variable numérica como 0 y una variable de cadena se inicializa como una cadena de longitud cero (""). Una variable que se refiere a un objeto se debe asignar a un objeto existente mediante la instrucción Set antes de que se pueda utilizar. Hasta que se le asigna un objeto, la variable de objeto declarada tiene el valor especial Nothing. Requisitos Versión 1 Consulte también Instrucción Dim | Instrucción Set
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Instrucción Rem Incluye comentarios explicativos en un programa. Rem comentario
o bien ' comentario
El argumento comentario es el texto de cualquier comentario que desee incluir. Después de la palabra clave Rem, se necesita un espacio antes del comentario. Comentarios Tal y como se muestra en la sección de sintaxis, puede utilizar un apóstrofe (') en lugar de la palabra clave Rem. Si la palabra clave Rem sigue a otras instrucciones en una línea, debe estar separada de las
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 257 de 264
mismas por dos puntos. Sin embargo, cuando utiliza un apóstrofe, no son necesarios los dos puntos después de otras instrucciones. El siguiente ejemplo ilustra el uso de la instrucción Rem. Dim MiCadena1, MiCadena2 MiCadena1 = "Hola" : Rem Comentario después de una instrucción separado por dos punt MiCadena2 = "Adiós" ' Esto es también un comentario; no se necesitan dos puntos. Rem Comentario en una línea sin código; no se necesitan dos puntos.
Requisitos Versión 1
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Instrucción Select Case Ejecuta uno o varios grupos de instrucciones, según el valor de una expresión. Select Case expresiónprueba [Case listaexpresiones-n [instrucciones-n]] . . . [Case Else listaexpresiones-n [instruccioneselse-n]] End Select
Argumentos expresiónprueba Cualquier expresión de cadena o numérica. listaexpresiones-n Necesario si aparece Case. Lista delimitada de una o más expresiones. instrucciones-n Una o más instrucciones ejecutadas si expresiónprueba coincide con cualquier parte de listaexpresiones-n. instruccioneselse-n Una o varias instrucciones ejecutadas si expresiónprueba no coincide con ninguna de las claúsulas Case. Comentarios Si expresiónprueba coincide con cualquier expresión Case de listaexpresiones, las instrucciones que
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 258 de 264
siguen a dicha claúsula Case se ejecutan hasta la siguiente claúsula Case, o para la última claúsula, hasta End Select. Entonces se pasa el control a la instrucción End Select siguiente. Si expresiónprueba coincide con una expresión de listaexpresiones en más de una claúsula Case, sólo se ejecutan las instrucciones que siguen a la primera coincidencia. La claúsula Case Else se utiliza para indicar las instruccioneselse que se van a ejecutar si no se encuentra ninguna coincidencia entre la expresiónprueba y una listaexpresiones en cualquier de las otras selecciones Case. Aunque no es necesario, es una buena idea tener una instrucción Case Else en su bloque Select Case para controlar los valores de expresiónprueba imprevistos. Si ninguna instrucción Case con listaexpresiones coincide con expresiónprueba y no existe ninguna instrucción Case Else, la ejecución continúa en la instrucción que sigue a End Select. Las instrucciones Select Case se pueden anidar. Cada instrucción Select Case anidada debe tener una instrucción End Select coincidente. El siguiente ejemplo ilustra el uso de la instrucción Select Case. Dim Color, MiVar Sub CambiarFondo (Color) MiVar = lcase (Color) Select Case MiVar document.bgColor = Case "rojo document.bgColor = Case "verde" document.bgColor = Case "azul" MsgBox "Elija otro Case Else End Select End Sub
"red" "green" "blue" color"
Requisitos Versión 1 Consulte también Instrucción If...Then...Else
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Instrucción Set Asigna una referencia de objeto a una variable o propiedad, o asocia una referencia de procedimiento con un evento.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 259 de 264
Set variableObjeto = {expresiónObjeto | New nombreClase | Nothing}
o bien Set objeto.nombreEvento = GetRef(nombreProc)
Parámetros variableObjeto Requerido. Nombre de la variable o propiedad. Sigue las convenciones de nomenclatura estándar de las variables. expresiónObjeto Opcional. Expresión que se compone del nombre de un objeto, otra variable declarada del mismo tipo de objeto, o una función o método que devuelve un objeto del mismo tipo. New Palabra clave utilizada para crear una nueva instancia de una clase. Si variableObjeto contiene una referencia a un objeto, se libera esa referencia al asignar el objeto nuevo. La palabra clave New sólo se puede utilizar para crear una instancia de una clase. nombreClase Opcional. Nombre de la clase que se está creando. La instrucción Class su usa para definir una clase y sus miembros. Nothing Opcional. Interrumpe la asociación de variableObjeto con cualquier objeto o clase específica. Al asignar variableObjeto a Nothing, se liberan todos los recursos del sistema y memoria asociados con el objeto previamente referenciado, cuando ninguna otra variable se refiere a él. objeto Requerido. Nombre del objeto con que está asociado evento. evento Requerido. Nombre del evento con que se enlazará la función. nombreProc Requerido. Cadena que contiene el nombre del Sub o Function que se asociará con el evento. Comentarios Para ser válido, variableObjeto debe ser un tipo de objeto consistente con el objeto al que se está asignando. Las instrucciones Dim, Private, Public o ReDim sólo declaran una variable que se refiere a un objeto. En realidad no se referencia ningún objeto hasta que utilice la instrucción Set para asignar un objeto especifico. Generalmente, cuando utiliza Set para asignar una referencia de objeto a una variable, no se crea una copia del objeto para esa variable. En vez de eso, se crea una referencia al objeto. Se puede referir más de una variable de objeto al mismo objeto. Puesto que estas variables son referencias del objeto (en vez de copias), los cambios en el objeto se reflejan en todas las variables que se refieran a él. Function MostrarEspacioLibre(rutaUnidad) Dim fso, d, s Set fso = CreateObject("Scripting.FileSystemObject") Set d = fso.GetDrive(fso.GetDriveName(rutaUnidad)) s = "Unidad " & UCase(rutaUnidad) & " - "
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 260 de 264
s = s & d.VolumeName & " " s = s & "Espacio libre: " & FormatNumber(d.FreeSpace/1024, 0) s = s & " Kb" MostrarEspacioLibre = s End Function
La palabra clave New le permite crear una instancia de una clase y asignarla a una variable de referencia de objeto al mismo tiempo. La variable con la cual se va a asignar la instancia de la clase se debe declarar antes con la instrucción Dim (o equivalente). Consulte la documentación de la función GetRef para obtener más información acerca del uso de Set para asociar un procedimiento con un evento. Requisitos Versión 1 Consulte también Operador de asignación (=) | Instrucción Dim | Función GetRef | Instrucción ReDim
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Instrucción Sub Declara el nombre, argumentos y código que forman el cuerpo de un procedimiento Sub. [Public [Default] | Private] Sub nombre [(listaArgumentos)] [instrucciones] [Exit Sub] [instrucciones] End Sub
Argumentos Public Indica que el procedimiento Sub es accesible para todos los otros procedimientos de todas las secuencias de comandos. Default Utilizado sólo con la palabra clave Public en un bloque Class para indicar que el procedimiento Sub es el método predeterminado para la clase. Se produce un error si se especifica más de un error Default en una clase. Private
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 261 de 264
Indica que el procedimiento Sub es accesible sólo para otros procedimientos de la secuencia de comandos donde se ha declarado. nombre Nombre de Sub. Sigue las convenciones de nomenclatura estándar de las variables. listaArgumentos Lista de variables que representan los argumentos que se pasan al procedimiento Sub cuando se le llama. Las comas separan las variables múltiples. instrucciones Cualquier grupo de instrucciones que se van a ejecutar dentro del cuerpo del procedimiento Sub. El argumento listaArgumentos tiene la siguiente sintaxis: [ByVal | ByRef] nombreVariable[( )]
Argumentos ByVal Indica que el argumento se ha pasado por valor. ByRef Indica que el argumento se ha pasado por referencia. nombreVariable Nombre de la variable que representa el argumento. Sigue las convenciones de nomenclatura estándar de las variables. Comentarios Si no se especifica explícitamente con Public o Private, los procedimientos Sub son públicos de manera predeterminada, es decir, son visibles para todos los otros procedimientos de su secuencia de comandos. El valor de las variables locales en el procedimiento Sub no se conserva entre llamadas al procedimiento. No puede definir un procedimiento Sub dentro de cualquier otro procedimiento (p. ej. Function o Property Get). La instrucción Exit Sub provoca una salida inmediata de un procedimiento Sub. La ejecución del programa continúa con la instrucción que sigue a la que llamó al procedimiento Sub. Puede aparecer cualquier número de instrucciones Exit Sub en cualquier lugar de un procedimiento Sub. Al igual que un procedimiento Function, Sub es un procedimiento separado que puede aceptar argumentos, ejecutar una serie de instrucciones y cambiar el valor de sus argumentos. Sin embargo, a diferencia de un procedimiento Function, que devuelve un valor, un procedimiento Sub no se puede utilizar en una expresión. Se llama a un procedimiento Sub mediante su nombre seguido de la lista de argumentos. Remítase a la instrucción Call para obtener información específica acerca de cómo llamar a un procedimiento Sub. Precaución Los procedimientos Sub pueden ser recursivos, es decir, pueden llamarse a sí mismos para realizar una tarea concreta. Sin embargo, la recursividad puede dar lugar a un desbordamiento de pila.
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 262 de 264
Las variables utilizadas en los procedimientos Sub pertenecen a dos categorías: aquellas que se declaran explícitamente dentro del procedimiento y aquellas que no. Las variables que se declaran explícitamente dentro de un procedimiento (con Dim o su equivalente) son siempre locales al procedimiento. Las variables que se utilizan pero no se declaran explícitamente dentro de un procedimiento son también locales a no ser que se declaren explícitamente en algún nivel superior fuera del procedimiento. Precaución Un procedimiento puede utilizar una variable que no se declare explícitamente en el procedimiento, pero puede producirse un conflicto de nomenclatura si cualquiera de los elementos que ha definido tiene el mismo nombre en el nivel de secuencia de comandos. Si el procedimiento hace referencia a una variable que no está declarada y que tiene el mismo nombre que otro procedimiento, constante o variable, se asume que su procedimiento hace referencia a dicho nombre del nivel de secuencia de comandos. Para evitar este tipo de conflicto, utilice una instrucción Option Explicit con la que se fuerce la declaración explícita de variables. Requisitos Versión 1 Consulte también Instrucción Call | Instrucción Dim | Instrucción Exit | Instrucción Function
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Instrucción While...Wend Ejecuta una serie de instrucciones siempre que una condición dada sea True. While condición Versión [instrucciones] Wend
Argumentos condición Expresión de cadena o numérica que se evalúa como True o False. Si la condición es Null, la condición se trata como False. instrucciones Una o varias instrucciones ejecutadas mientras la condición es True. Comentarios
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 263 de 264
Si la condición es True, todas las instrucciones en instrucciones se ejecutan hasta que se encuentra la instrucción Wend. Entonces se devuelve el control a la instrucción While y la condición se comprueba de nuevo. Si la condición es aún True, se repite el proceso. Si no es True, se reanuda la ejecución con la instrucción que sigue a Wend. Los bucles While...Wend se pueden anidar en cualquier nivel. Cada Wend coincide con el elemento While más reciente. Nota La instrucción Do...Loop proporciona una manera más estructurada y flexible de realizar bucles. El siguiente ejemplo ilustra el uso de la instrucción While...Wend: Dim Contador Contador = 0 ' Inicializa la variable. ' Comprueba el valor de Contador. While Contador < 20 Contador = Contador + 1 ' Incrementa el contador. Alert Contador ' Termina el bucle While cuando Contador > 19. Wend
Requisitos Versión 1 Consulte también Instrucción Do...Loop
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition
Instrucción With Ejecuta una serie de instrucciones en un único objeto. With objeto instrucciones End With
Argumentos objeto Requerido. Nombre de un objeto o de una función que devuelve un objeto. instrucciones
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012
VBScript
Página 264 de 264
Requerido. Una o varias instrucciones que se van a ejecutar en el objeto. Comentarios La instrucción With le permite ejecutar una serie de instrucciones en un objeto específico sin volver a cualificar el objeto. Por ejemplo, para cambiar un número de diferentes propiedades en un único objeto, sitúe las instrucciones de asignación de propiedad dentro de la estructura de control With y haga referencia al objeto una vez en lugar de hacerlo con cada asignación de propiedad. El siguiente ejemplo ilustra el uso de la instrucción With para asignar valores a diversas propiedades del mismo objeto. With MiEtiqueta .Height = 2000 .Width = 2000 .Caption = "Esta es MiEtiqueta" End With
Mientras que la manipulación de la propiedad es un aspecto importante de la funcionalidad de With, no es su único uso. Se puede utilizar cualquier porción de código válido dentro de un bloque With. Nota Una vez que se ha escrito un bloque With, el objeto no se puede cambiar. Como resultado, no puede utilizar una única instrucción With para afectar a un número de objetos diferentes. Puede anidar declaraciones With si ubica un bloque With dentro de otro. Sin embargo, dado que los miembros de bloques With externos se enmascaran dentro de bloques With internos, debe proporcionar una referencia de objeto cualificado completo en un bloque With interno para cualquier miembro de un objeto de un bloque With externo. Importante No salte dentro o fuera de bloques With. Si se ejecutan las instrucciones de un bloque With, pero no se ejecuta cualquiera de la instrucción With o End With, pueden producirse errores o un comportamiento inesperado. Requisitos Versión 1 Consulte también Instrucción Set
© 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546
file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm
04/12/2012