Vous êtes sur la page 1sur 264

VBScript

Pgina 1 de 264

Visual Basic Scripting Edition

VBScript
Gua de usuario de VBScript Referencia del lenguaje VBScript

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Gua de usuario de VBScript


Qu es VBScript? Agregar cdigo de VBScript a una pgina HTML Aspectos bsicos de VBScript Tipos de datos de VBScript Variables de VBScript Constantes de VBScript Operadores de VBScript Usar instrucciones condicionales Repetir cdigo mediante bucles Procedimientos de VBScript Convenciones de codificacin de VBScript

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 2 de 264

Visual Basic Scripting Edition

Qu es VBScript?
Microsoft Visual Basic Scripting Edition lleva la ejecucin de secuencias de comandos a una variedad de entornos, incluida la ejecucin de secuencias de clientes Web en Microsoft Internet Explorer y la ejecucin de secuencias de servidores Web en Servicios de Microsoft Internet Information Server.

Fcil de utilizar y aprender


Si ya conoce Visual Basic o Visual Basic para Aplicaciones (VBA), VBScript le resultar muy familiar. Incluso si no conoce Visual Basic, una vez que haya aprendido VBScript, estar en el camino para la programacin de toda la familia de lenguajes Visual Basic. Aunque puede aprender algo de VBScript en estas pocas pginas Web, no le ensearn a programar. Para iniciarse en la programacin, eche una mirada a los libros Paso a Paso de la editorial Microsoft Press.

Windows Script
VBScript se comunica con las aplicaciones host mediante Windows Script. Con Windows Script, los exploradores y otras aplicaciones host no necesitan ningn cdigo de integracin especial para cada componente de ejecucin de secuencias de comandos. Windows Script permite a un host compilar secuencias de comandos, obtener y llamar a puntos de entrada y administrar el espacio de nombres disponible para el programador. Con Windows Script, los proveedores del lenguaje pueden crear bibliotecas de tiempo de ejecucin estndar del lenguaje para la ejecucin de secuencias de comandos. Microsoft proporcionar soporte para bibliotecas de tiempo de ejecucin para VBScript. Microsoft colabora con varios grupos de Internet para definir el estndar de Windows Script de manera que los motores de ejecucin de secuencias de comandos se puedan intercambiar. Windows Script se utiliza en Microsoft Internet Explorer y en los Servicios de Microsoft Internet Information Server.

VBScript en otras aplicaciones y exploradores


Como programador, puede autorizar el uso de la implementacin de cdigo fuente de VBScript sin cargo para utilizarlo en sus productos. Microsoft proporciona implementaciones binarias de VBScript para API de Windows de 32 bits, API de Windows de 16 bits de Windows y Macintosh. VBScript est integrado en los exploradores de World Wide Web. VBScript y Windows Script tambin se pueden utilizar como un lenguaje de ejecucin de secuencias de comandos general en otras aplicaciones.

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 3 de 264

Agregar cdigo de VBScript a una pgina HTML


Puede utilizar el elemento SCRIPT para agregar cdigo de VBScript a una pgina HTML.

La etiqueta <SCRIPT>
El cdigo de VBScript se incluye dentro de una pareja de etiquetas <SCRIPT>. Por ejemplo, un procedimiento para comprobar una fecha de envo podra aparecer como sigue:
<SCRIPT LANGUAGE="VBScript"> <!-Function CanDeliver(Dt) CanDeliver = (CDate(Dt) - Now()) > 2 End Function --> </SCRIPT>

Las etiquetas <SCRIPT> de inicio y fin rodean al cdigo. El atributo LANGUAGE indica el lenguaje de ejecucin de secuencias de comandos. Debe especificar el lenguaje ya que los exploradores pueden utilizar otros lenguajes de ejecucin de secuencias. Tenga en cuenta que la funcin CanDeliver se incluye entre etiquetas de comentario (<! y >). Esto impide a los exploradores que no reconocen la etiqueta <SCRIPT> que muestren el cdigo. Dado que el ejemplo es una funcin general (no est ligada a ningn control de forma particular) puede incluirlo en la seccin HEAD de la pgina:
<HTML> <HEAD> <TITLE>Realice su pedido</TITLE> <SCRIPT LANGUAGE="VBScript"> <!-Function CanDeliver(Dt) CanDeliver = (CDate(Dt) - Now()) > 2 End Function --> </SCRIPT> </HEAD> <BODY> ...

Puede utilizar bloques SCRIPT en cualquier lugar dentro de una pgina HTML. Puede situarlos en la secciones BODY y HEAD. Sin embargo, seguramente desear situar todo el cdigo de ejecucin de secuencias de propsito general en la seccin HEAD para mantener todo el cdigos junto. Mantener su cdigo en la seccin HEAD asegura que se lean y descodifiquen todo el cdigo antes de que se llame desde la seccin BODY. Una excepcin importante a esta regla es que quiz desee proporcionar cdigo de ejecucin de secuencias de comandos dentro de formularios para responder a los eventos de objetos de su formulario. Por ejemplo, puede incrustar cdigo de ejecucin de secuencias de comandos para responder a un clic de botn de un formulario:

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 4 de 264

<HTML> <HEAD> <TITLE>Comprobar eventos de botn</TITLE> </HEAD> <BODY> <FORM NAME="Form1"> <INPUT TYPE="Button" NAME="Button1" VALUE="Haga clic"> <SCRIPT FOR="Button1" EVENT="onClick" LANGUAGE="VBScript"> MsgBox "Botn presionado." </SCRIPT> </FORM> </BODY> </HTML>

La mayor parte de su cdigo aparecer en procedimientos Sub o Function y se llamar slo cuando lo especifique el cdigo. Sin embargo, puede escribir cdigo VBScript fuera de un procedimiento, pero an dentro de un bloque SCRIPT. Este cdigo se ejecuta slo una vez, cuando se carga la pgina HTML. Esto le permite inicializar datos o cambiar de forma dinmica la apariencia de su pgina Web cuando se carga.

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Caractersticas de VBScript no incluidas en Visual Basic para Aplicaciones


En la tabla siguiente se enumeran las caractersticas de VBScript no incluidas en Visual Basic para Aplicaciones. Categora Declaraciones Varios Objetos Identificacin del motor de secuencias de comandos Caracterstica o palabra clave Class Eval Execute RegExp ScriptEngine ScriptEngineBuildVersion ScriptEngineMajorVersion ScriptEngineMinorVersion

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 5 de 264

Visual Basic Scripting Edition

Caractersticas de Visual Basic para Aplicaciones no incluidas en VBScript


En la tabla siguiente se enumeran las caractersticas de Visual Basic para Aplicaciones no incluidas en VBScript. Option Base Declarar matrices con lmite inferior <> 0 Coleccin Add, Count, Item, Remove Tener acceso a colecciones mediante el carcter ! Compilacin condicional #Const #If...Then...#Else Control del flujo DoEvents GoSub...Return, GoTo On Error GoTo On...GoSub, On...GoTo Nmeros de lnea, etiquetas de lnea Conversin CVar, CVDate Str, Val Tipos de datos Todos los tipos de datos intrnsecos excepto Variant Type...End Type Fecha y hora Instruccin Date, instruccin Time DDE LinkExecute, LinkPoke, LinkRequest, LinkSend Depuracin Debug.Print End, Stop Declaracin Declare (para declarar archivos DLL) Optional ParamArray Static Control de errores Erl Error Resume, Resume Next Entrada y salida de Toda las E/S de archivos Basic tradicionales archivos Finanzas Todas las funciones financieras Tratamiento de objetos TypeOf Objetos Coleccin Clipboard Operadores Like Opciones Deftipo Option Base Option Compare Option Private Module Categora Control de matrices Caracterstica o palabra clave omitida

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 6 de 264

Select Case

Cadenas

Uso de objetos

Expresiones que contengan la palabra clave Is o cualquier operador de comparacin Expresiones que contengan un intervalo de valores en el que se utilice la palabra clave To. Cadenas de longitud fija LSet, RSet Instruccin Mid StrConv Acceso a colecciones mediante !

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Aspectos bsicos de VBScript


Tipos de datos de VBScript Variables de VBScript Constantes de VBScript Operadores de VBScript Utilizar instrucciones condicionales Repetir cdigo mediante bucles Procedimientos de VBScript Convenciones de codificacin de VBScript

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Una pgina sencilla de VBScript

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 7 de 264

Una pgina sencilla Con Microsoft Internet Explorer, puede ver la pgina resultante de la siguiente porcin de cdigo HTML. Si hace clic en el botn de la pgina, ver VBScript en accin.
<HTML> <HEAD><TITLE>Una primera pgina sencilla</TITLE> <SCRIPT LANGUAGE="VBScript"> <!-Sub Boton1_OnClick MsgBox "Digno de ver." End Sub --> </SCRIPT> </HEAD> <BODY> <H3>Una primera pgina sencilla</H3><HR> <FORM><INPUT NAME="Boton1" TYPE="BUTTON" VALUE="Haga clic aqu"></FORM> </BODY> </HTML>

El resultado es un poco asombroso: un cuadro de dilogo muestra la frase "Digno de ver". Sin embargo, hay algo ms. Cuando Internet Explorer lee la pgina, busca las etiquetas <SCRIPT>, reconoce si existe alguna parte en cdigo VBScript y guarda este cdigo. Cuando hace clic en el botn, Internet Explorer realiza la conexin entre el botn y el cdigo y ejecuta el procedimiento. El procedimiento Sub de las etiquetas <SCRIPT> es un procedimiento de evento. Existen dos partes en el nombre del procedimiento: el nombre del botn, Boton1 (del atributo de NAME en la etiqueta <INPUT>) y un nombre de evento, OnClick. Los dos nombres se unen con un carcter de subrayado(_). Cuando se hace clic el botn, Internet Explorer busca y ejecuta el correspondiente procedimiento de evento, Boton1_OnClick. Internet Explorer define los eventos disponibles para controles de formulario en la documentacin de Modelo de objetos de secuencias de comandos de Internet Explorer, que se puede encontrar en la pgina Web de Microsoft (http://www.microsoft.com/spanish/). Las pginas tambin pueden utilizar combinaciones de controles y procedimientos. VBScript y formularios muestra interacciones simples entre controles. Otras formas de agregar cdigo a eventos Aunque el modo anterior es seguramente el ms simple y ms general, puede agregar cdigo VBScript a eventos de otros dos modos. Internet Explorer le permite agregar secciones breves de cdigo insertado en la etiqueta que define el control. Por ejemplo, la siguiente etiqueta <INPUT> realiza la misma accin cuando hace clic en el botn que el ejemplo de cdigo anterior:
<INPUT NAME="Boton1" TYPE="BUTTON" VALUE="Haga clic aqu" OnClick='MsgBox "Digno de ver."'>

Tenga en cuenta que la propia llamada de la funcin est escrita entre comillas sencillas y que la cadena de la funcin MsgBox se escribe entre comillas dobles. Puede utilizar instrucciones mltiples siempre

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 8 de 264

que las separe con dos puntos (:). Tambin puede escribir una etiqueta <SCRIPT> de manera que se aplique slo a un evento particular para un control especfico:
<SCRIPT LANGUAGE="VBScript" EVENT="OnClick" FOR="Boton1"> <!-MsgBox "Digno de ver." --> </SCRIPT>

Dado que la etiqueta <SCRIPT> ya especifica el evento y el control, no se utilizan las instrucciones Sub y End Sub.

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Caractersticas de VBScript
La siguiente tabla es una lista de las caractersticas de VBScript. Categora Control de matrices Palabras clave Array Dim, Private, Public, ReDim IsArray Erase LBound, UBound Set Comentarios con ' o Rem Empty Nothing Null True, False Do...Loop For...Next For Each...Next If...Then...Else Select Case While...Wend With Abs Asc, AscB, AscW Chr, ChrB, ChrW

Asignaciones Comentarios Constantes y literales

Control del flujo

Conversiones

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 9 de 264

Fechas y horas

Declaraciones

Control de errores Expresiones

Formato de cadenas

Entrada y salida Literales

Matemtica Varios Objetos

CBool, CByte CCur, CDate CDbl, CInt CLng, CSng, CStr DateSerial, DateValue Hex, Oct Fix, Int Sgn TimeSerial, TimeValue Date, Time DateAdd, DateDiff, DatePart DateSerial, DateValue Day, Month, MonthName Weekday, WeekdayName, Year Hour, Minute, Second Now TimeSerial, TimeValue Class Const Dim, Private, Public, ReDim Function, Sub Property Get, Property Let, Property Set On Error Err Eval Execute RegExp Replace Test FormatCurrency FormatDateTime FormatNumber FormatPercent InputBox LoadPicture MsgBox Empty False Nothing Null True Atn, Cos, Sin, Tan Exp, Log, Sqr Randomize, Rnd Eval Function Execute Statement RGB Function CreateObject Err Object GetObject

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 10 de 264

RegExp Operadores Suma (+), Resta (-) Exponenciacin (^) Mdulo aritmtico (Mod) Multiplicacin (*), Divisin (/) Divisin de nmero entero (\) Negacin (-) Concatenacin de cadenas (&) Igualdad (=), Desigualdad (<>) Menor que (<), Menor que o igual a (<=) Mayor que (>) Mayor que o igual a (>=) Is And, Or, Xor Eqv, Imp Opciones Option Explicit Procedimientos Call Function, Sub Property Get, Property Let, Property Set Redondeo Abs Int, Fix, Round Sgn Id. del motor de secuencias de ScriptEngine comandos ScriptEngineBuildVersion ScriptEngineMajorVersion ScriptEngineMinorVersion Cadenas Asc, AscB, AscW Chr, ChrB, ChrW Filter, InStr, InStrB InStrRev Join Len, LenB LCase, UCase Left, LeftB Mid, MidB Right, RightB Replace Space Split StrComp String StrReverse LTrim, RTrim, Trim Variant IsArray IsDate IsEmpty IsNull IsNumeric IsObject TypeName

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 11 de 264

VarType

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Tipos de datos de VBScript


VBScript tiene slo un tipo de dato llamado Variant. Un dato Variant es un tipo de dato especial que puede contener diferentes tipos de informacin, segn cmo se utilice. Debido a que Variant es el nico tipo de dato en VBScript, es tambin el tipo de dato devuelto por todas las funciones en VBScript. En su forma ms simple, un dato Variant puede contener informacin numrica o de cadena. Este tipo de dato se comporta como un nmero cuando lo utiliza en un contexto numrico y como una cadena cuando lo utiliza en un contexto de cadena. Es decir, si trabaja con datos que parecen nmeros, VBScript supone que son nmeros y hace lo que sea ms apropiado para nmeros. Igualmente, si trabaja con datos que slo pueden ser datos de cadena, VBScript los trata como datos de cadena. Siempre puede hacer que los nmeros se comporten como cadenas si los escribe entre comillas (" ").

Subtipos de Variant
Ms all de las simples clasificaciones de datos numricos o de cadena, un dato Variant puede hacer otras distinciones acerca de la naturaleza especfica de la informacin numrica. Por ejemplo, puede tener informacin numrica que represente una fecha o una hora. Cuando se utiliza con otros datos de fecha u hora, el resultado se expresa siempre como una fecha o una hora. Tambin puede tener una gran variedad de informacin numrica que oscila en tamao desde valores booleanos hasta nmeros mayores de punto flotante. Estas categoras diferentes de informacin que puede contener un dato Variant se llaman subtipos. La mayora de las veces, puede poner el tipo de datos que desea en un dato Variant y ste se comporta de la forma que sea ms apropiada para los datos que contiene. La siguiente tabla muestra subtipos de datos que puede contener el tipo Variant. Subtipo Empty Null Boolean Byte Integer Currency Long Single Descripcin La Variant no est inicializado. El valor es 0 para variables numricas o una cadena de longitud cero ("") para variables de cadena. La Variant, de manera intencionada, no contiene ningn dato vlido. Contiene True o False. Contiene un nmero entero entre 0 y 255. Contiene un nmero entero entre -32.768 y 32.767. De -922.337.203.685.477,5808 a 922.337.203.685.477,5807. Contiene un nmero entero entre -2.147.483.648 y 2.147.483.647. Contiene un nmero de punto flotante de precisin simple comprendido entre 3,402823E38 y -1,401298E-45 para valores negativos y entre 1,401298E-45 y 3,402823E38 para valores positivos.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 12 de 264

Double Date (Time) String Object Error

Contiene un nmero de punto flotante de precisin doble comprendido entre 1,79769313486232E308 y -4,94065645841247E-324 para valores negativos y entre 4,94065645841247E-324 y 1,79769313486232E308 para valores positivos. Contiene un nmero que representa una fecha entre el 1 de enero del ao 100 y el 31 de diciembre del ao 9999. Contiene una cadena de longitud variable que puede ser de hasta aproximadamente 2 mil millones de caracteres. Contiene un objeto. Contiene un nmero de error.

Puede utilizar las funciones de conversin para convertir datos de un subtipo en otro. Adems, la funcin VarType devuelve informacin acerca de cmo se almacenan sus datos dentro de un dato Variant.

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Variables de VBScript
Una variable es un marcador de posicin cmodo que hace referencia a una ubicacin de la memoria del equipo en la que puede almacenar informacin del programa que puede cambiar durante el tiempo en que se ejecuta su secuencia de comandos. Por ejemplo, podra crear una variable llamada ClickCount para almacenar el nmero de veces que un usuario hace clic en un objeto en una pgina Web particular. Donde se almacene la variable dentro de la memoria del equipo no tiene importancia. Lo que importa es que slo tiene que hacer referencia a una variable por su nombre para ver su valor o para cambiarlo. En VBScript, las variables son siempre de un tipo de datos fundamental, Variant.

Declarar variables
Se declaran variables de manera explcita en su secuencia de comandos mediante la instruccin Dim, la instruccin Public y la instruccin Private. Por ejemplo:
Dim DegreesFahrenheit

Para declarar variables mltiples se separa cada nombre de variable con una coma. Por ejemplo:
Dim Top, Bottom, Left, Right

Tambin puede declarar una variable de manera implcita con su nombre en su secuencia de comandos. Eso no es generalmente una buena prctica ya que podra escribir mal el nombre de la variable en uno o ms lugares, lo que provocara resultados inesperados al ejecutar su secuencia de comandos. Por esa razn, la instruccin Option Explicit est disponible para requerir la declaracin explcita de todas las

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 13 de 264

variables. La instruccin Option Explicit debe ser la primera instruccin en su secuencia de comandos.

Restricciones de nomenclatura
Los nombres de variables siguen las reglas estndar para cualquier denominacin en VBScript. Un nombre de variable:

Debe comenzar por un carcter alfabtico. No puede contener un punto. No debe sobrepasar los 255 caracteres de longitud. Debe ser nica en el mbito en el que se haya declarado.

mbito y perodo de vida de las variables


El mbito de una variable est determinado por la ubicacin en la que se declar. Cuando se declara una variable dentro de un procedimiento, slo el cdigo dentro de dicho procedimiento puede tener acceso o cambiar el valor de dicha variable. Tiene mbitolocal y es una variable de nivel de procedimiento. Si declara una variable fuera de un procedimiento, la hace reconocible para todos los procedimientos de su secuencia de comandos. A esto se le denomina variable de nivel de secuencia de comandos y tiene mbito de nivel de secuencia de comandos. El tiempo que existe una variable es su perodo de vida. El perodo de vida de una variable de nivel de secuencia de comandos se extiende desde el momento en el que se haya declarado hasta el tiempo en que la secuencia de comandos termina de ejecutarse. A nivel de procedimiento, una variable existe slo siempre que est en el procedimiento. Cuando el procedimiento acaba, la variable se destruye. Las variables locales son ideales como espacio de almacenamiento temporal cuando se ejecuta un procedimiento. Puede tener variables locales del mismo nombre en diferentes procedimientos ya que cada una es reconocida slo por el procedimiento en el que se declara.

Asignar valores a variables


Para asignar valores a las variables se crea una expresin de esta manera: la variable est en el lado izquierdo de la expresin y el valor que desea asignarle est en el derecho. Por ejemplo:
B = 200

Variables escalares y variables de matriz


En muchas ocasiones, slo se desea asignar un valor simple a una variable que se ha declarado. Una variable que contiene un solo valor es una variable escalar. Otras veces, es conveniente asignar ms de un valor relacionado a una sola variable. En este caso, puede crear una variable que contenga una serie de valores. Esto se llama una variable de matriz. Las variables de matriz y las escalares se declaran del mismo modo, excepto que la instruccin de una variable de matriz utiliza parntesis ( ) despus del nombre de la variable. En el siguiente ejemplo, se declara una matriz unidimensional que contiene 11 elementos:
Dim A(10)

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 14 de 264

Aunque el nmero mostrado entre parntesis es 10, todas las matrices en VBScript son de base cero, de modo que esta matriz contiene realmente 11 elementos. En una matriz de base cero, el nmero de elementos de la matriz es siempre el nmero mostrado entre parntesis ms uno. Este tipo de matriz se llama matriz de tamao fijo. Puede asignar datos a cada uno de los elementos de la matriz mediante un ndice dentro de la matriz. Comenzando por cero y terminando por 10, se pueden asignar datos a los elementos de una matriz de la manera siguiente:
A(0) = 256 A(1) = 324 A(2) = 100 . . . A(10) = 55

De forma similar, se pueden recuperar los datos de cualquier elemento mediante un ndice en el elemento de la matriz particular que desee. Por ejemplo:
. . . SomeVariable = A(8) . . .

Las matrices no est limitadas a una sola dimensin. Puede tener hasta 60 dimensiones, aunque la mayora de la gente no puede comprender ms de tres o cuatro dimensiones. Para declarar las dimensiones mltiples se separan los nmeros de tamao de una matriz entre parntesis mediante comas. En el siguiente ejemplo, la variable MyTable es una matriz de dos dimensiones formada por 6 filas y 11 columnas:
Dim MyTable(5, 10)

En una matriz de dos dimensiones, el primer nmero es siempre el nmero de filas; el segundo nmero es el nmero de columnas. Tambin puede declarar una matriz cuyo tamao cambie durante el tiempo que se ejecuta su secuencia de comandos. A esto se denomina matriz dinmica. La matriz se declara inicialmente dentro de un procedimiento mediante la instruccin Dim o la instruccin ReDim. Sin embargo, para una matriz dinmica, no se escribe ningn nmero de dimensiones dentro de los parntesis. Por ejemplo:
Dim MyArray() ReDim AnotherArray()

Para utilizar una matriz dinmica, debe utilizar ReDim posteriormente para determinar el nmero de dimensiones y el tamao de cada dimensin. En el siguiente ejemplo. ReDim establece el tamao inicial de la matriz dinmica como 25. La siguiente instruccin ReDim cambia el tamao de la matriz a 30, pero utiliza la palabra clave Preserve para conservar el contenido de la matriz mientras tiene lugar el cambio de tamao.
ReDim MyArray(25) . . . ReDim Preserve MyArray(30)

No existe lmite en el nmero de veces que puede cambiar el tamao de una matriz dinmica, aunque si

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 15 de 264

reduce el tamao de una matriz, perder los datos de los elementos eliminados.

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Constantes de VBScript
Una constante es un nombre significativo que toma el lugar de un nmero o cadena y nunca cambia. VBScript define un nmero de constantes intrnsecas. Puede obtener informacin acerca de estas constantes intrnsecas en la Referencia del lenguaje de VBScript.

Crear constantes
Una contante definida por el usuario se crea en VBScript mediante la instruccin Const. Con la instruccin Const, puede crear constantes de cadena o numricas con nombres significativos y asignarles valores literales. Por ejemplo:
Const MyString = "sta es mi cadena." Const MyAge = 49

Tenga en cuenta que el literal de cadena se escribe entre comillas (" "). Las comillas son el modo ms claro de diferenciar los valores de cadena de los valores numricos. Los literales de fecha y los literales de hora se representan escribindolos entre signos de nmero (#). Por ejemplo:
Const CutoffDate = #6-1-97#

Quiz desee adoptar un esquema de nomenclatura para diferenciar las constantes de las variables. Esto le impedir que intente volver a asignar valores de constante mientras se ejecuta su secuencia de comandos. Por ejemplo, quiz desee utilizar un prefijo "vb" o "con" en los nombres de sus constantes, o escribir los nombres de sus constantes en mayscula. Al diferenciar constantes de variables se elimina cualquier confusin a medida que desarrolla secuencias de comandos ms complejas.

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Operadores de VBScript
file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm 04/12/2012

VBScript

Pgina 16 de 264

VBScript cuenta con una gama completa de operadores, incluidos los operadores aritmticos, operadores de comparacin, operadores de concatenacin y operadores lgicos.

Prioridad de los operadores


Cuando aparecen varias operaciones en una expresin, cada parte se evala y se resuelve en un orden determinado llamado prioridad de los operadores. Puede utilizar parntesis para pasar por alto el orden de prioridad y obligar a evaluar algunas partes de una expresin antes que otras. Las operaciones entre parntesis se realizan siempre antes que las de fuera. Sin embargo, entre parntesis se mantiene el prioridad estndar de los operadores. Cuando las expresiones contienen operadores de ms de una categora, los operadores aritmticos se evalan primero, los de comparacin despus y los lgicos los ltimos. Todos los operadores de comparacin tienen la misma prioridad, es decir, se evalan en el orden de izquierda a derecha en el que aparecen. Los operadores aritmticos y lgicos se evalan en el siguiente orden de prioridad. Aritmtico Descripcin Exponenciacin ^ Negacin unaria Multiplicacin * Divisin / Divisin de nmero entero \ Mdulo aritmtico Mod Suma + Resta Concatenacin de cadenas & Comparicin Descripcin Igualdad = <> Desigualdad < Menor que Mayor que > <= Menor o igual que Mayor o igual que >= Equivalencia de objeto Is Lgico Descripcin Negacin lgica Conjuncin lgica Disyuncin lgica Exclusin lgica Smbolo Not And Or Xor Smbolo Smbolo

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 17 de 264

Equivalencia lgica Eqv Implicacin lgica Imp Cuando aparecen la multiplicacin y la divisin juntas en una expresin, se evala cada operacin segn aparece de izquierda a derecha. Asimismo, cuando aparecen la suma y la resta juntas en una expresin, cada operacin se evala en orden de aparicin de izquierda a derecha. El operador de concatenacin de cadena (&) no es un operador aritmtico, pero por prioridad va despus de todos los operadores aritmticos y antes que todos los operadores de comparacin. El operador Is es un operador de comparacin de referencias de objetos. No compara objetos ni sus valores, slo comprueba para determinar si dos referencias de objetos hacen referencia al mismo objeto.

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Utilizar instrucciones condicionales Controlar la ejecucin del programa


Puede controlar el flujo de su secuencia de comandos con instrucciones condicionales y instrucciones de bucle. Mediante instrucciones condicionales, puede escribir cdigo VBScript para tomar decisiones y repetir acciones. Estn disponibles las siguientes instrucciones condicionales en VBScript:

Instruccin If...Then...Else Instruccin Select Case

Tomar decisiones con If...Then...Else


La instruccin If...Then...Else se utiliza para evaluar si una condicin es True o False y, segn el resultado, especificar una o ms instrucciones para ejecutar. Normalmente, la condicin es una expresin que utiliza un operador de comparacin para comparar un valor o variable con otro. Para obtener ms informacin acerca de operadores de comparacin, consulte Operadores de comparacin. Las instrucciones If...Then...Else se pueden anidar a tantos niveles como necesite. Ejecutar instrucciones si una condicin es True Para ejecutar slo una instruccin cuando una condicin es True, utilice la sintaxis de lnea simple para la instruccin If...Then...Else. El siguiente ejemplo muestra la sintaxis de lnea simple. Tenga en cuenta que este ejemplo omite la palabra clave Else.
Sub FixDate()

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 18 de 264

Dim myDate myDate = #2/13/95# If myDate < Now Then myDate = Now End Sub

Para ejecutar ms de una lnea de cdigo, debe utilizar la sintaxis de lnea mltiple (o bloque). Esta sintaxis incluye la instruccin End If, tal y como se muestra en el siguiente ejemplo:
Sub AlertUser(valor) If value = 0 Then AlertLabel.ForeColor = vbRed AlertLabel.Font.Bold = True AlertLabel.Font.Italic = True End If End Sub

Ejecutar ciertas instrucciones si una condicin es True y ejecutar otras si una condicin es False Puede utilizar una instruccin If...Then...Else para definir dos bloques de instrucciones ejecutables: un bloque para ejecutarse si la condicin es True, el otro bloque para ejecutarse si la condicin es False.
Sub AlertUser(valor) If value = 0 Then AlertLabel.ForeColor = AlertLabel.Font.Bold = AlertLabel.Font.Italic Else AlertLabel.Forecolor = AlertLabel.Font.Bold = AlertLabel.Font.Italic End If End Sub

vbRed True = True vbBlack False = False

Decidir entre varias alternativas Una variacin en la instruccin If...Then...Else le permite elegir entre diversas alternativas. Agregar clusulas ElseIf expande la funcionalidad de la instruccin If...Then...Else de modo que puede controlar el flujo del programa basado en diferentes posibilidades. Por ejemplo:
Sub ReportValue(valor) If value = 0 Then MsgBox value ElseIf value = 1 Then MsgBox value ElseIf value = 2 then Msgbox value Else Msgbox "Valor fuera de intervalo." End If

Puede agregar tantas clusulas ElseIf como necesite para proporcionar opciones alternativas. El uso extensivo de las clusulas ElseIf se convierte a menudo engorroso. Un mejor modo de elegir entre diversas alternativas es la instruccin Select Case.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 19 de 264

Tomar decisiones con Select Case


La estructura Select Case proporciona una alternativa a If...Then...ElseIf para ejecutar de forma selectiva un bloque de instrucciones de entre mltiples bloques. Una instruccin Select Case proporciona capacidad similar a la de la instruccin If...Then...Else, pero hace que el cdigo sea ms eficaz y legible. Una estructura Select Case funciona con una expresin de prueba simple que se evala una vez, en la parte superior de la estructura. El resultado de la expresin se compara entonces con los valores para cada instruccin Case en la estructura. Si existe una coincidencia, se ejecuta el bloque de instrucciones asociadas con dicho Case, como se muestra en el siguiente ejemplo:
Select Case Document.Form1.CardType.Options(SelectedIndex).Text Case "MasterCard" DisplayMCLogo ValidateMCAccount Case "Visa" DisplayVisaLogo ValidateVisaAccount Case "American Express" DisplayAMEXCOLogo ValidateAMEXCOAccount Case Else DisplayUnknownImage PromptAgain End Select

Tenga en cuenta que la estructura Select Case evala una expresin una vez en la parte superior de la estructura. En contraposicin, la estructura If...Then...ElseIf puede evaluar una expresin diferente para cada instruccin ElseIf. Puede reemplazar una estructura If...Then...ElseIf con una estructura Select Case slo si cada instruccin ElseIf evala la misma expresin.

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Repetir cdigo mediante bucles


Los bucles le permiten ejecutar un grupo de instrucciones de manera repetida. Algunos bucles repiten instrucciones hasta que una condicin es False; otros repiten instrucciones hasta que una condicin es True. Existen tambin bucles que repiten instrucciones un nmero de veces especfico. Las siguientes instrucciones de repeticin estn disponibles en VBScript:

Do...Loop: repite mientras una condicin es o hasta que sea True. While...Wend: repite mientras una condicin es True.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 20 de 264

For...Next: utiliza un contador para ejecutar instrucciones un nmero de veces especificado. For Each...Next: repite un grupo de instrucciones para cada elemento de una coleccin o de una matriz.

Utilizar Do Loop
Puede utilizar instrucciones Do...Loop para ejecutar un bloque de instrucciones un nmero indefinido de veces. Las instrucciones se repiten mientras una condicin es True o hasta que una condicin sea True. Repetir instrucciones mientras una condicin es True Utilice la palabra clave While para comprobar una condicin en una instruccin Do...Loop. Puede comprobar la condicin antes de introducir el bucle (como se muestra en el siguiente ejemplo de ChkFirstWhile), o puede comprobarlo despus de que se haya ejecutado el bucle al menos una vez (como se muestra en el ejemplo de ChkLastWhile). En el procedimiento ChkFirstWhile, si myNum se establece como 9 en lugar de 20, las instrucciones dentro del bucle no se ejecutarn nunca. En el procedimiento ChkLastWhile, las instrucciones dentro del bucle slo se ejecutan una vez porque la condicin ya es False.
Sub ChkFirstWhile() Dim counter, myNum counter = 0 myNum = 20 Do While myNum > 10 myNum = myNum - 1 counter = counter + 1 Loop MsgBox "El bucle realiz " & counter & " repeticiones." End Sub Sub ChkLastWhile() Dim counter, myNum counter = 0 myNum = 9 Do myNum = myNum - 1 counter = counter + 1 Loop While myNum > 10 MsgBox "El bucle realiz " & counter & " repeticiones." End Sub

Repetir una instruccin hasta que una condicin sea True Hay dos maneras de utilizar la palabra clave Until para comprobar una condicin en una instruccin Do...Loop. Puede comprobar la condicin antes de que entre en el bucle (como se muestra en el siguiente ejemplo de ChkFirstUntil), o puede comprobarlo despus de que se haya ejecutado el bucle al menos una vez (como se muestra en el ejemplo de ChkLastUntil). Siempre que la condicin sea False, se ejecutar el bucle.
Sub ChkFirstUntil() Dim counter, myNum counter = 0 myNum = 20 Do Until myNum = 10

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 21 de 264

myNum = myNum - 1 counter = counter + 1 Loop MsgBox "El bucle realiz " & counter & " repeticiones." End Sub Sub ChkLastUntil() Dim counter, myNum counter = 0 myNum = 1 Do myNum = myNum + 1 counter = counter + 1 Loop Until myNum = 10 MsgBox "El bucle realiz " & counter & " repeticiones." End Sub

Salir de una instruccin Do...Loop desde dentro del bucle Puede salir de un bucle Do...Loop con la instruccin Exit Do. Ya que normalmente se desea salir slo en situaciones concretas, tales como evitar un bucle interminable, debe utilizar la instruccin Exit Do en el bloque de la instruccin True de una instruccin If...Then...Else. Si la condicin es False, el bucle se ejecuta con normalidad. En el siguiente ejemplo, a myNum se le asigna un valor que crea un bucle interminable. La instruccin If...Then...Else comprueba esta condicin, con lo que se impide la repeticin interminable.
Sub ExitExample() Dim counter, myNum counter = 0 myNum = 9 Do Until myNum = 10 myNum = myNum - 1 counter = counter + 1 If myNum < 10 Then Exit Do Loop MsgBox "El bucle realiz " & counter & " repeticiones." End Sub

Utilizar While...Wend
La instruccin While...Wend se proporciona en VBScript para aquellos que estn familiarizados con su uso. Sin embargo, debido a la falta de flexibilidad de While...Wend, se recomienda que se utilice en su lugar Do...Loop.

Utilizar For...Next
Puede utilizar instrucciones For...Next para ejecutar un bloque de instrucciones un nmero de veces especfico. Para bucles, utilice una variable de contador cuyo valor se incremente o disminuya con cada repeticin del bucle. El siguiente ejemplo hace que un procedimiento llamado MyProc se ejecute 50 veces. La instruccin For especifica la variable de contador x y sus valores de inicio y fin. La instruccin Next incrementa la

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 22 de 264

variable de contador en 1.
Sub DoMyProc50Times() Dim x For x = 1 To 50 MyProc Next End Sub

Mediante la palabra clave Step, puede incrementar o disminuir la variable de contador por el valor que especifique. En el siguiente ejemplo, la variable de contador j se incrementa en 2 cada vez que se repite el bucle. Cuando finaliza el bucle, el total es la suma de 2, 4, 6, 8 y 10.
Sub TwosTotal() Dim j, total For j = 2 To 10 Step 2 total = total + j Next MsgBox "El total es " & total End Sub

Para disminuir la variable de contador, utilice un valor negativo para Step. Debe especificar un valor final que sea menor que el valor de inicio. En el siguiente ejemplo, la variable de contador myNum disminuye en 2 cada vez que se repite el bucle. Cuando finaliza el bucle, el total es la suma de 16, 14, 12, 10, 8, 6, 4 y 2.
Sub NewTotal() Dim myNum, total For myNum = 16 To 2 Step -2 total = total + myNum Next MsgBox "El total es " & total End Sub

Puede salir de cualquier instruccin For...Next antes de que el contador alcance su valor final con la instruccin Exit For. Ya que normalmente se desea salir slo en situaciones concretas, como cuando se produce un error, debe utilizar la instruccin Exit For en el bloque de la instruccin True de una instruccin If...Then...Else. Si la condicin es False, el bucle se ejecuta con normalidad.

Utilizar For Each...Next


Un bucle For Each...Next es similar a un bucle For...Next. En lugar de repetir las instrucciones un nmero de veces especificado, un bucle For Each...Next repite un grupo de instrucciones para cada elemento de una coleccin de objetos o de una matriz. Esto es especialmente til si no sabe cuntos elementos hay en una coleccin. En el siguiente ejemplo de cdigo HTML, el contenido de un objeto Dictionary se utiliza para colocar texto en varios cuadros de texto.
<HTML> <HEAD><TITLE>Formas y elementos</TITLE></HEAD> <SCRIPT LANGUAGE="VBScript"> <!--

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 23 de 264

Sub cmdChange_OnClick Dim d 'Crear una variable Set d = CreateObject("Scripting.Dictionary") d.Add "0", "Atenas" 'Agregar algunas claves y elementos d.Add "1", "Belgrado" d.Add "2", "El Cairo" For Each I in d Document.frmForm.Elements(I).Value = D.Item(I) Next End Sub --> </SCRIPT> <BODY> <CENTER> <FORM NAME="frmForm" <Input Type <Input Type <Input Type <Input Type <Input Type </FORM> </CENTER> </BODY> </HTML> = = = = = "Text"><p> "Text"><p> "Text"><p> "Text"><p> "Botn" NAME="cmdChange" VALUE="Haga clic aqu"><p>

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Procedimientos de VBScript
En VBScript existen dos tipos de procedimientos, el procedimiento Sub y el procedimiento Function.

Procedimientos Sub
Un procedimiento Sub es una serie de instrucciones de VBScript (delimitadas por instrucciones Sub y End Sub) que realizan acciones pero no devuelven ningn valor. Un procedimiento Sub puede tomar argumentos (constantes, variables o expresiones que han pasado por un procedimiento de llamada). Si un procedimiento Sub no tiene argumentos, su instruccin Sub debe incluir un conjunto de parntesis vaco (). El siguiente procedimiento Sub utiliza dos funciones de VBScript intrnsecas o incorporadas, MsgBox e InputBox, para pedir al usuario informacin. Despus, muestra los resultados del clculo efectuado a partir de esa informacin. El clculo se realiza en un procedimiento Function creado con VBScript. El procedimiento Function se muestra despus del siguiente comentario.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 24 de 264

Sub ConvertTemp() temp = InputBox("Escriba la temperatura en grados Fahrenheit", 1) MsgBox "La temperatura es " & Celsius(temp) & " grados Celsius." End Sub

Procedimientos Function
Un procedimiento Function es una serie de instrucciones de VBScript delimitadas por las instrucciones Function y End Function. Un procedimiento Function es similar a un procedimiento Sub, pero tambin puede devolver un valor. Un procedimiento Function puede tomar argumentos (constantes, variables o expresiones que ha pasado un procedimiento de llamada). Si un procedimiento Function no tiene ningn argumento, su instruccin Function debe incluir un conjunto de parntesis vaco. Function devuelve un valor asignando un valor a su nombre en una o ms instrucciones del procedimiento. El tipo de retorno de un procedimiento Function es siempre Variant. En el siguiente ejemplo, la funcin Celsius calcula grados Celsius a partir de grados Fahrenheit. Cuando se llama a la funcin desde el procedimiento ConvertTemp Sub, se pasa a la funcin una variable que contiene el valor del argumento. El resultado del clculo se devuelve al procedimiento de llamada y se muestra en un cuadro de dilogo.
Sub ConvertTemp() temp = InputBox("Por favor, introduzca la temperatura en grados F.", 1) MsgBox "La temperatura es" & Celsius(temp) & " grados Celsius." End Sub Function Celsius(fDegrees) Celsius = (fDegrees - 32) * 5 / 9 End Function

Obtener datos y pasarlos a los procedimientos


Cada dato se pasa a los procedimientos mediante un argumento. Los argumentos sirven como marcadores de posicin para los datos que desea pasar a su procedimiento. Puede darles a sus argumentos cualquier nombre de variable vlido. Cuando crea un procedimiento con la instruccin Sub o la instruccin Function, se deben incluir parntesis despus del nombre del procedimiento. Cualquier argumento se coloca dentro de estos parntesis, separados por comas. As, en el siguiente ejemplo, fDegrees es un marcador de posicin para el valor que se va a pasar a la funcin Celsius para su conversin.
Function Celsius(fDegrees) Celsius = (fDegrees - 32) * 5 / 9 End Function

Para obtener datos de un procedimiento, debe utilizar un procedimiento Function. Recuerde, este tipo de procedimiento puede devolver un valor mientras que un procedimiento Sub no.

Utilizar procedimientos Sub y Function en el cdigo


Un procedimiento Function en su cdigo siempre debe utilizarse en la parte derecha de una asignacin de variable o en un expresin. Por ejemplo:

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 25 de 264

Temp = Celsius(fDegrees)

- o bien MsgBox "La temperatura en grados Celsius es " & Celsius(fDegrees) & " grados."

Para llamar a un procedimiento Sub desde otro procedimiento, escriba el nombre del procedimiento junto con los valores para cualquier argumento necesario, cada uno separado por una coma. La instruccin Call no es necesaria, pero si la utiliza, debe delimitar cualquier argumento entre parntesis. El siguiente ejemplo muestra dos llamadas al procedimiento MyProc. Uno utiliza la instruccin Call en el cdigo y el otro no. Los dos realizan exactamente la misma tarea.
Call MyProc(firstarg, secondarg) MyProc firstarg, secondarg

Tenga en cuenta que los parntesis se omiten en la llamada cuando no se utiliza la instruccin Call .

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Convenciones de codificacin de VBScript


Las convenciones de codificacin son sugerencias que pueden ayudarle a escribir cdigo mediante Microsoft Visual Basic Scripting Edition. Las convenciones de codificacin pueden incluir:

Convenciones de nomenclatura para objetos, variables y procedimientos Convenciones de comentarios Formato de texto y directrices de sangras

La razn principal para utilizar un conjunto de convenciones de codificacin es estandarizar la estructura y estilo de codificacin de una secuencia de comandos o de un conjunto de secuencias de comandos de manera que usted y otros puedan leer y entender el cdigo fcilmente. Utilizar buenas convenciones de cdigo da como resultado cdigo de origen preciso, legible, coherente con otras convenciones de lenguaje e intuitivo.

Convenciones de nomenclatura para constantes


Las versiones anteriores de VBScript no tenan ningn mecanismo para crear constantes definidas por el usuario. Las constantes, si se utilizaban, se implementaban como variables y se distinguan de otras variables utilizando todos los caracteres en mayscula. Las palabras mltiples se separaban utilizando el carcter de subrayado. Por ejemplo:

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 26 de 264

USER_LIST_MAX NEW_LINE

Aunque esto es an una forma aceptada de identificar sus constantes, quiz desee utilizar un esquema de nomenclatura alternativo, ahora que puede crear verdaderas constantes mediante la instruccin Const. Esta convencin utiliza un formato mixto de maysculas y minsculas en el que los nombres de constante tienen un prefijo "con" (constante). Por ejemplo:
conYourOwnConstant

Convenciones de nomenclatura para variables


Para mejorar la legibilidad y coherencia, utilice los siguientes prefijos con nombres descriptivos para variables en su cdigo VBScript. Subtipo Boolean Byte Date (hora) Double Error Integer Long Object Single String Prefijo Ejemplo bln blnFound byt bytRasterData dtm dtmStart dbl dblTolerance err errOrderNum int intQuantity lng lngDistance obj objCurrent sng sngAverage str strFirstName

mbito de la variable
Las variables deben definirse siempre con el menor mbito posible. Las variables de VBScript pueden tener el siguiente mbito. mbito Nivel de procedimiento Nivel de secuencia de comandos Donde se declara la variable Visibilidad Procedimiento Event, Function o Sub Visible en el procedimiento donde se declara Seccin HEAD de una pgina HTML, Visible en cada procedimiento de la fuera de cualquier procedimiento secuencia de comandos

Prefijos de mbito variable


A medida que aumenta el tamao de la secuencia de comandos, aumenta el valor de la posibilidad de diferenciar el mbito de las variables. Esto lo proporciona un prefijo de mbito de una letra que precede al prefijo de tipo, sin aumentar el tamao de los nombres de variable. mbito Prefijo Ejemplo Nivel de procedimiento Ninguno dblVelocity Nivel de secuencia de comandos s sblnCalcInProgress

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 27 de 264

Nombres descriptivos de variable y de procedimiento


El cuerpo de una variable o procedimiento debe utilizar una combinacin de maysculas y minsculas y debe ser tan descriptivo como sea necesario. Adems, los nombres de procedimiento deben comenzar por un verbo, como InitNameArray o CloseDialog. Para trminos utilizados con frecuencia o largos, se recomiendan las abreviaturas estndar para ayudar a mantener una longitud razonable del nombre. En general, los nombres de variable mayores de 32 caracteres pueden ser difciles de leer. Cuando utilice abreviaturas, asegrese de que son coherentes a lo largo de toda la secuencia de comandos. Por ejemplo, cambiar aleatoriamente entre Cnt y Count dentro de una secuencia o un conjunto de secuencias de comandos puede inducir a confusin.

Convenciones de nomenclatura para objetos


La siguiente tabla muestra las convenciones recomendadas para los objetos con los que puede encontrarse mientras programa en VBScript. Tipo de objeto Panel 3D Botn animado Casilla de verificacin Cuadro combinado, cuadro de lista desplegable Botn de comando Dilogo comn Marco Barra de desplazamiento horizontal Imagen Etiqueta Lnea Cuadro de lista Botn de nmero Cuadro de texto Barra de desplazamiento vertical Control deslizante Prefijo Ejemplo pnl pnlGroup ani aniMailBox chk chkReadOnly cbo cboEnglish cmd cmdExit dlg dlgFileOpen fra fraLanguage hsb hsbVolume img imgIcon lbl lblHelpMessage lin linVertical lst lstPolicyCodes spn spnPages txt txtLastName vsb vsbRate sld sldScale

Convenciones de comentarios de cdigo


Todos los procedimientos deben comenzar por un breve comentario que describa lo que hacen. Esta descripcin no debe describir los detalles de implementacin (cmo lo hace) porque a menudo cambia a lo largo del tiempo y provoca un trabajo de mantenimiento de comentarios innecesario, o lo que es peor, comentarios incorrectos. El propio cdigo y cualquier comentario de lnea necesarios describen la implementacin. Los argumentos que se pasan a un procedimiento deben describirse cuando su propsito no es evidente y cuando el procedimiento espera que los argumentos estn comprendidos en un intervalo especfico. Los valores de retorno para las funciones y variables que cambia un procedimiento, especialmente a travs de argumentos de referencia, deben tambin describirse al comienzo de cada procedimiento.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 28 de 264

Los comentarios del encabezado del procedimiento deben incluir los siguientes encabezados de seccin. Para ver un ejemplo, consulte la seccin siguiente "Dar formato a su cdigo". Encabezado de seccin Propsito Suposiciones Efectos Entradas Valores de retorno Contenido del comentario Lo que el procedimiento hace (no cmo). Lista de cualquier variable o control externo, o cualquier otro elemento cuyo estado afecte a este procedimiento. Lista del efecto del procedimiento en cada variable o control externo, u otro elemento. Explicacin de cada argumento que no sea evidente. Cada argumento debe estar en una lnea distinta con comentarios de lnea. Explicacin del valor devuelto.

Recuerde los siguientes puntos:

Cada instruccin de variable importante debe incluir un comentario de lnea que describa el uso de la variable que se declara. Las variables, controles y procedimientos deben tener un nombre lo suficientemente claro para asegurar que los comentarios de lnea slo se necesiten para detalles de implementacin compleja. Al comienzo de su secuencia de comandos, debe incluir una introduccin que describa la secuencia de comandos, que enumere los objetos, procedimientos, algoritmos, cuadros de dilogo y otras dependencias del sistema. A veces, puede ser til una porcin de pseudocdigo que describa el algoritmo.

Dar formato al cdigo


Se debe conservar el espacio de pantalla lo ms posible, siempre que permita dar formato al cdigo para reflejar la estructura lgica y el anidamiento. Aqu tiene unas cuantas sugerencias:

Los bloques anidados estndar deben tener una sangra de cuatro espacios. Para comentarios generales de un procedimiento deben tener una sangra de un espacio. Las instrucciones de nivel superior que sigan a los comentarios generales deben tener una sangra de cuatro espacios y otros cuatro espacios por cada bloque anidado.

El siguiente cdigo utiliza los convenciones de codificacin de VBScript.


'********************************************************* ' Propsito: ubica la primera aparicin de un usuario ' especificado en la matriz UserList. ' Entrada: strUserList(): la lista de usuarios que se ha de buscar. ' strTargetUser: el nombre del usuario que se ha de buscar. ' Salida: el ndice de la primera aparicin de strTargetUser ' en la matriz strUserList. ' Si no se encuentra el usuario buscado, devuelve -1. '********************************************************* Function intFindUser (strUserList(), strTargetUser) Dim i ' Contador de bucle. Dim blnFound ' Indicador de destino encontrado intFindUser = -1 i = 0 ' Inicializar contador de bucle

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 29 de 264

Do While i <= Ubound(strUserList) and Not blnFound If strUserList(i) = strTargetUser Then blnFound = True ' Establecer indicador como True intFindUser = i ' Establecer valor de ret. como cont. de bucle End If i = i + 1 ' Incrementar contador de bucle Loop End Function

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

VBScript y formularios
Validacin simple Puede utilizar Visual Basic Scripting Edition para realizar buena parte del procesamiento de formularios que normalmente realizara en un servidor. Tambin puede realizar tareas que no podran llevarse a cabo en el servidor. Aqu tenemos un ejemplo de validacin del cliente simple. El cdigo HTML muestra un cuadro de texto y un botn. Si utiliza Microsoft Internet Explorer para visualizar la pgina resultante del cdigo siguiente, ver un pequeo cuadro de texto con un botn junto a l.
<HTML> <HEAD><TITLE>Validacin simple</TITLE> <SCRIPT LANGUAGE="VBScript"> <!-Sub Validar Dim elFormulario Set elFormulario = Document.forms("ValidForm") If IsNumeric(elFormulario.Texto1.Value) Then If elFormulario.Texto1.Value < 1 Or elFormulario.Texto1.Value > 10 Then MsgBox "Escriba un nmero entre 1 y 10." Else MsgBox "Gracias." End If Else MsgBox "Escriba un valor numrico." End If End Sub--> </SCRIPT> </HEAD> <BODY> <H3>Validacin simple</H3><HR> <form id="ValidForm" action="nothing.asp" onsubmit="Validar(); return false;" langua Escriba un nmero entre 1 y 10:

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 30 de 264

<input name="Texto1" TYPE="TEXT" SIZE="2"> <input name="Submit" TYPE="Submit" VALUE="Enviar"> </form> </BODY> </HTML>

La diferencia entre este cuadro de texto y los ejemplos en Una pgina sencilla de VBScript es que la propiedad Value del cuadro de texto se utiliza para comprobar el valor escrito. Para obtener la propiedad Value, el cdigo tiene que calificar la referencia al nombre del cuadro de texto. Siempre puede escribir toda la referencia Documento.ValidForm.Texto1. Sin embargo, donde tenga referencias mltiples para formar controles, desear hacer lo que se ha hecho aqu. Primero, declarar una variable. Despus, utilizar la instruccin Set para asignar el formulario a la variable elFormulario. Una instruccin de asignacin normal, como Dim, no funciona en este caso; debe utilizar Set para conservar la referencia a un objeto. Utilizar valores numricos Tenga en cuenta que el ejemplo comprueba directamente el valor con un nmero; para ello utiliza la funcin IsNumeric para confirmar que la cadena del cuadro de texto es un nmero. Aunque VBScript convierte automticamente cadenas y nmeros, es siempre una buena costumbre comprobar el subtipo de datos de un valor escrito por un usuario y utilizar funciones de conversin siempre que sea necesario. Cuando realice una suma con valores de cuadro de texto, convierta los valores de manera explcita en nmeros porque el operador de signo ms (+) representa a la suma y a la concatenacin de cadena. Por ejemplo, si Texto1 contiene "1" y Texto2 contiene "2", ver los siguientes resultados:
A = Texto1.Value + Texto2.Value ' A es "12" A = CDbl(Texto1.Value) + Texto2.Value ' A es 3

Validar y devolver datos al servidor El ejemplo de validacin simple utiliza un control de botn sencillo. Si se utiliz un control Submit, el ejemplo nunca ver los datos que ha de comprobar todo ira inmediatamente al servidor. Evitar el control Submit le permite comprobar los datos, pero no los enva al servidor. Para hacerlo necesita una lnea de cdigo adicional:
<SCRIPT LANGUAGE="VBScript"> <!-Sub Boton1_OnClick Dim elFormulario Set elFormulario = Documento.ValidForm If IsNumeric(elFormulario.Texto1.Value) Then If elFormulario.Texto1.Value < 1 Or elFormulario.Texto1.Value > 10 Then MsgBox "Escriba un nmero entre 1 y 10." Else MsgBox "Gracias." elFormulario.Submit ' Datos correctos; enviar al servidor. End If Else MsgBox "Escriba un valor numrico." End If End Sub --> </SCRIPT>

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 31 de 264

Para enviar los datos al servidor, cuando los datos son correctos el cdigo llama al mtodo Submit en el objeto de formulario. Desde aqu, el servidor controla los datos como hara con otros; la diferencia es que los datos son correctos antes de llegar all. Encontrar informacin completa acerca del mtodo Submit y otros mtodos en la documentacin del Modelo de objetos de secuencias de comandos de Internet Explorer, que se puede encontrar en la pgina Web de Microsoft (http://www.microsoft.com/spanish/). Hasta ahora, slo ha visto los objetos <FORM> de HTML estndar. Internet Explorer tambin le permite obtener la mxima ventaja de los controles ActiveX (anteriormente llamados controles OLE) y objetos Java.

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

VBScript en Internet Explorer


Una pgina sencilla de VBScript VBScript y formularios Utilizar VBScript con objetos

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Utilizar VBScript con objetos


Utilizar objetos Si utiliza un control ActiveX (anteriormente llamado control OLE) o un objeto Java, Microsoft Visual Basic Scripting Edition y Microsoft Internet Explorer los controlan del mismo modo. Si utiliza Internet Explorer y ha instalado el control Label, puede ver la pgina resultante de la siguiente porcin de cdigo. Puede incluir un objeto mediante las etiquetas <OBJECT> y establecer su valor de propiedad inicial con etiquetas <PARAM>. Si es un programador de Visual Basic, reconocer que el uso de las etiquetas

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 32 de 264

<PARAM> es igual que establecer las propiedades iniciales para un control de un formulario. Por ejemplo, el siguiente conjunto de etiquetas <OBJECT> y <PARAM> agrega el control ActiveX Label a una pgina:
<OBJECT classid="clsid:99B42120-6EC7-11CF-A6C7-00AA00A47DD2" id=lblActiveLbl width=250 height=250 align=left hspace=20 vspace=0 > <PARAM NAME="Angle" VALUE="90"> <PARAM NAME="Alignment" VALUE="4"> <PARAM NAME="BackStyle" VALUE="0"> <PARAM NAME="Caption" VALUE="Una sencilla etiqueta sin finalidad concreta"> <PARAM NAME="FontName" VALUE="Verdana, Arial, Helvetica"> <PARAM NAME="FontSize" VALUE="20"> <PARAM NAME="FontBold" VALUE="1"> <PARAM NAME="FrColor" VALUE="0"> </OBJECT>

Puede obtener propiedades, establecerlas e invocar mtodos como con cualquiera de los controles de formulario. La siguiente porcin de cdigo, por ejemplo, incluye controles <FORM> que puede utilizar para manipular dos propiedades del control Label:
<FORM NAME="LabelControls"> <INPUT TYPE="TEXT" NAME="txtNewText" SIZE=25> <INPUT TYPE="BUTTON" NAME="cmdChangeIt" VALUE="Cambiar texto"> <INPUT TYPE="BUTTON" NAME="cmdRotate" VALUE="Girar etiqueta"> </FORM>

Con el formulario definido, un procedimiento de evento para el botn cmdChangeIt cambia el texto de la etiqueta:
<SCRIPT LANGUAGE="VBScript"> <!-Sub cmdChangeIt_onClick Dim elFormulario Set elFormulario = Document.LabelControls lblActiveLbl.Caption = elFormulario.txtNewText.Value End Sub --> </SCRIPT>

El cdigo asigna referencias a los controles y valores dentro de los formularios como en el ejemplo de Validacin simple. Varios controles ActiveX estn disponibles para su uso con Internet Explorer. Puede encontrar informacin completa acerca de las propiedades, mtodos y eventos, as como los identificadores de clase (CLSID) para los controles en el sitio Web de Microsoft (http://www.microsoft.com/spanish/). Puede encontrar ms informacin acerca de la etiqueta <OBJECT> en la pgina Gua del autor y referencia HTML de Internet Explorer 4.0.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 33 de 264

Nota Las versiones anteriores de Internet Explorer necesitaban llaves ({}) alrededor del atributo classid y no estaban seguan la especificacin W3C. Utilizar llaves con la versin actual genera el mensaje "Esta pgina utiliza una versin caducada de la etiqueta <OBJECT>".

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Introduccin a las expresiones regulares


La informacin contenida en estas pginas pretende proporcionar una introduccin general a las expresiones regulares. Aunque se ha intentado tratar cada tema de forma independiente, la mayor parte de la informacin incluida se basa en una caracterstica o concepto presentado previamente. Por lo tanto, es aconsejable que los lea atentamente y por orden para conseguir una compresin global ptima del material. La introduccin a las expresiones regulares consta de los siguientes temas: Expresiones regulares Antecedentes Usos de las expresiones regulares Sintaxis de expresin regular Construir una expresin regular Orden de precedencia Caracteres ordinarios Caracteres especiales Caracteres no imprimibles Coincidencia de caracteres Cuantificadores Delimitadores

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 34 de 264

Alternancia y agrupamiento Referencias inversas

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin 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 trmino y el concepto. Sin embargo, probablemente sepa ms 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 carcter ? equivale a un carcter nico en un nombre de archivo, mientras que * equivale a cero o ms caracteres. Mediante un modelo como 'dato?.dat' encontrara los siguientes archivos: dato1.dat dato2.dat datox.dat datoN.dat Si utiliza el carcter * en lugar de ? aumentar el nmero 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 mtodo de bsqueda de archivos puede ser extremadamente til, tambin es muy limitado. La capacidad restringida de los caracteres comodn ? y * proporciona una idea de lo que se puede

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 35 de 264

conseguir mediante las expresiones regulares, aunque stas son mucho ms eficaces y flexibles.

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin 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 neurofisilogos, desarrollaron una frmula matemtica para describir las redes neuronales. En 1956, el matemtico estadounidense Stephen Kleene, basndose en el trabajo anterior de McCulloch y Pitts, public un artculo titulado Representation of Events in Nerve Nets (Representacin de los sucesos en las redes nerviosas) que introduca el concepto de las expresiones regulares. Kleene utiliz el trmino "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 bsqueda computacional realizados por Ken Thompson, el principal inventor de Unix. Las expresiones regulares se aplicaron en la prctica 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 bsqueda desde el principio.

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Usos de las expresiones regulares


En una operacin tpica de bsqueda y sustitucin, el usuario debe escribir exactamente el texto que est buscando. Esta tcnica puede ser adecuada para tareas simples de bsqueda y reemplazo en texto esttico, pero carece de flexibilidad y hace difcil, sino imposible, la bsqueda de texto dinmico. 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\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 36 de 264

modelo de nmero de telfono o de tarjeta de crdito dentro de una cadena de entrada. Esto se denomina validacin de datos. Reemplazar texto. Se puede utilizar una expresin regular para identificar texto especfico en un documento y quitarlo por completo o reemplazarlo con otro texto. Extraer una subcadena de una cadena en funcin de la coincidencia de un modelo. Puede buscar texto especfico dentro de un documento o un campo de entrada.

Por ejemplo, si necesita realizar una bsqueda en todo un sitio Web para quitar material obsoleto y reemplazar algunas etiquetas de formato HTML, puede usar una expresin 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 bsqueda a aquellos archivos que contengan el material que debe quitarse o modificarse. A continuacin, podr utilizar una expresin 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 tambin pueden utilizarse de una forma ms eficaz en VBScript, lo que permite realizar el tratamiento de varias cadenas en una expresin nica.

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Sintaxis de expresin regular


Una expresin 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 expresin regular se utiliza como plantilla para cotejar un modelo de caracteres con la cadena que se est buscando. A continuacin se incluyen algunos ejemplos de expresiones regulares comunes: JScript /^\[ \t]*$/ /\d{2}-\d{5}/ /<(.*)>.*<\/\1>/ VBScript "^\[ \t]*$" "\d{2}-\d{5}" "<(.*)>.*<\/\1>" Coincidencias Coincide con una lnea en blanco. Valida un nmero de identificador que consta de dos dgitos, un guin y otros cinco dgitos. 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\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 37 de 264

Carcter \ ^ $ * + ? {n} {n,} {n,m}

. (modelo)

(?:modelo)

(?=modelo)

Descripcin Marca el carcter siguiente como un carcter especial, un literal, una referencia inversa o un cdigo de escape octal. Por ejemplo, 'n' coincide con el carcter "n". '\n' coincide con un carcter de nueva lnea. La secuencia '\\' coincide con "\" y "\(" coincide con "(". Coincide con la posicin al comienzo de la cadena de entrada. Si se establece la propiedad Multiline del objeto RegExp, ^ tambin coincide con la posicin que sigue a '\n' o '\r'. Coincide con la posicin al final de la cadena de entrada. Si se establece la propiedad Multiline del objeto RegExp, $ tambin coincide con la posicin que antecede a '\n' o '\r'. Coincide con la subexpresin precedente cero o ms veces. Por ejemplo, zo* coincide con "z" y "zoo". * es equivalente a {0,}. Coincide con la subexpresin precedente una o ms veces. Por ejemplo, 'zo+' coincide con "zo" y "zoo", pero no con "z". + es equivalente a {1,}. Coincide con la subexpresin 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 mximo. 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 nmeros. Cuando este carcter 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 mnimo 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 carcter nico excepto "\n". Para coincidir con cualquier carcter incluido '\n', utilice un modelo como '[.\n]'. Coincide con el modelo y captura la coincidencia. La coincidencia capturada se puede recuperar desde la coleccin Matches resultante, mediante la coleccin SubMatches de VBScript o las propiedades $0$9 de JScript. Para que coincidan los caracteres parntesis, ( ), 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 combinacin de partes de un modelo con el carcter disyuntivo "or" (|). Por ejemplo, 'industr(?:ia|ias) es una expresin ms econmica que 'industria|industrias'. La bsqueda anticipada positiva coincide con la cadena de bsqueda 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 bsqueda anticipada no consume caracteres, es decir, despus de que se produzca una coincidencia, la bsqueda de la siguiente cadena empieza inmediatamente despus de la ltima coincidencia, no despus de los caracteres que componen la cadena de bsqueda anticipada.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 38 de 264

(?!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

La bsqueda anticipada negativa coincide con la cadena de bsqueda 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 bsqueda anticipada no consume caracteres, es decir, despus de que se produzca una coincidencia, la bsqueda de la siguiente cadena empieza inmediatamente despus de la ltima coincidencia, no despus de los caracteres que componen la cadena de bsqueda 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 carcter no incluido. Por ejemplo, '[^abc]' coincide con 'p' en "plan". Un intervalo de caracteres. Coincide con cualquier carcter en el intervalo especificado. Por ejemplo, '[a-z]' coincide con cualquier carcter alfabtico en minsculas en el intervalo desde 'a' hasta 'z'. Un intervalo de caracteres negativo. Coincide con cualquier carcter que no est en el intervalo especificado. Por ejemplo, '[^a-z]' coincide con cualquier carcter que no est en el intervalo desde 'a' hasta 'z'. Coincide con un lmite de palabra, es decir, la posicin 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 lmite de palabra. 'er\B' coincide con 'er' en "verbo" pero no con 'er' en "ceder". Coincide con el carcter de control indicado por x. Por ejemplo, \cM coincide con Control-M (un carcter 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 carcter literal 'c'. Coincide con un carcter de dgito. Equivalente a [0-9]. Coincide con un carcter que no es un dgito. Equivalente a [^0-9]. Coincide con un carcter avance de pgina. Equivalente a \x0c y \cL. Coincide con un carcter de nueva lnea. Equivalente a \x0a y \cJ. Coincide con un carcter de retorno de carro. Equivalente a \x0d y \cM. Coincide con cualquier carcter de espacio en blanco: carcter espacio, tabulacin, avance de pgina, etc. Equivalente a [ \f\n\r\t\v]. Coincide con cualquier carcter distinto de espacio en blanco. Equivalente a [^ \f\n\r\t\v]. Coincide con un carcter de tabulacin. Equivalente a \x09 y \cI. Coincide con un carcter de tabulacin vertical. Equivalente a \x0b y \cK. Coincide con cualquier carcter de palabra incluido el guin bajo (_). Equivalente a '[A-Za-z0-9_]'. Coincide con cualquier carcter 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 dgitos. Por ejemplo, '\x41' coincide con "A". '\x041' es equivalente a '\x04' & '1'. Permite utilizar cdigos 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 idnticos consecutivos.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 39 de 264

\n \nm

\nml \un

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 dgito 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 dgitos octales (0-7). Coincide con el valor de escape octal nml cuando n es un dgito octal (0-3) y m y l son dgitos octales (0-7). Coincide con n, donde n es un carcter Unicode expresado en la forma de cuatro dgitos hexadecimales. Por ejemplo, \u00A9 coincide con el smbolo de copyright ().

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Construir una expresin regular


Las expresiones regulares se construyen de la misma manera que las expresiones aritmticas. Es decir, se combinan expresiones pequeas mediante varios metacaracteres y operadores a fin de crear expresiones de mayor tamao. Para construir una expresin regular, debe situar los distintos componentes del modelo de expresin entre un par de delimitadores. En JScript, los delimitadores son un par de caracteres de barra inclinada (/). Por ejemplo:
/expresin/

En VBScript, se utiliza un par de comillas ("") para delimitar expresiones regulares. Por ejemplo:
"expresin"

En los dos ejemplos anteriores, el modelo de expresin regular (expresin) se almacena en la propiedad Pattern del objeto RegExp. Una expresin regular puede estar compuesta de caracteres individuales, conjuntos de caracteres, intervalos de caracteres, opciones entre caracteres o cualquier combinacin de todos estos componentes.

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 40 de 264

Visual Basic Scripting Edition

Orden de precedencia
Una vez que haya creado una expresin regular, sta se evala de una manera muy similar a una expresin aritmtica, 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 expresin regular. Operadores \ (), (?:), (?=), [] *, +, ?, {n}, {n,}, {n,m} ^, $, \cualquierMetacaracter | Descripcin Escape Parntesis y corchetes Cuantificadores Delimitadores y secuencias Alternancia

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin 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 explcitamente como metacaracteres. Esto incluye todos los caracteres alfabticos en mayscula y minscula, todos los dgitos, todos los smbolos de puntuacin y otros smbolos. La forma ms sencilla de expresin regular consiste en un carcter sencillo y ordinario que coincida consigo mismo en una cadena de bsqueda. Por ejemplo, un modelo de carcter nico 'A' coincide con cualquier aparicin de la letra 'A' en la cadena en la que se est buscando. A continuacin se incluyen algunos ejemplos de modelos de expresiones regulares de un nico carcter:
/a/ /7/ /M/

Las expresiones regulares de carcter nico equivalentes de VBScript son:


"a" "7" "M"

Puede combinar varios caracteres nicos para formar una expresin mayor. Por ejemplo, la siguiente expresin regular de JScript se ha creado mediante la combinacin de las expresiones de carcter nico

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 41 de 264

'a', '7' y 'M':


/a7M/

La expresin equivalente de VBScript es:


"a7M"

Observe que no se utiliza ningn operador de concatenacin. Lo nico que debe hacer es colocar un carcter detrs de otro.

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin 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 carcter de escape, es decir, anteponerles un carcter de barra invertida (\). Las tablas siguientes muestran dichos caracteres especiales y su significado. Carcter especial $ () * + . [ ? \ ^

Comentarios Coincide con la posicin al final de una cadena de entrada. Si se establece la propiedad Multiline del objeto RegExp, $ tambin coincide con la posicin que antecede a '\n' o '\r'. Para que coincida el carcter $, ( ), use \$. Marca el comienzo y el final de una subexpresin. Las subexpresiones pueden capturarse para su uso posterior. Para que coincidan estos caracteres, utilice \( y \). Coincide con la subexpresin precedente cero o ms veces. Para que coincida el carcter *, use \*. Coincide con la subexpresin precedente una o ms veces. Para que coincida el carcter +, use \+. Coincide con cualquier carcter nico excepto el carcter de nueva lnea \n. Para que coincida, utilice \. Marca el comienzo y el final de una expresin de corchete. Para que [ coincida, use \[. Coincide con la subexpresin precedente cero o una vez, o indica un cuantificador no expansivo. Para que coincida el carcter ?, use \?. Marca el carcter siguiente como un carcter especial, un literal, una referencia inversa o un cdigo de escape octal. Por ejemplo, 'n' coincide con el carcter 'n'. '\n' coincide con un carcter de nueva lnea. La secuencia '\\' coincide con "\" y '\(' coincide con "(". Coincide con la posicin del comienzo de una cadena de entrada, excepto cuando se usa en una expresin de corchetes, donde niega el conjunto de caracteres. Para que el carcter ^ coincida consigo mismo, use \^.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 42 de 264

{ |

Marca el comienzo de una expresin de cuantificador. Para que { coincida, use \{. Indica una opcin entre dos elementos. Para que | coincida, use \|.

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin 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. Carcter \cx \f \n \r \s \S \t \v Significado Coincide con el carcter de control indicado por x. Por ejemplo, \cM coincide con Control-M (un carcter 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 carcter literal 'c'. Coincide con un carcter avance de pgina. Equivalente a \x0c y \cL. Coincide con un carcter de nueva lnea. Equivalente a \x0a y \cJ. Coincide con un carcter de retorno de carro. Equivalente a \x0d y \cM. Coincide con cualquier carcter de espacio en blanco: carcter espacio, tabulacin, avance de pgina, etc. Equivalente a [ \f\n\r\t\v]. Coincide con un carcter que no sea de espacio en blanco. Equivalente a [^ \f\n\r\t\v]. Coincide con un carcter de tabulacin. Equivalente a \x09 y \cI. Coincide con un carcter de tabulacin vertical. Equivalente a \x0b y \cK.

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Coincidencia de caracteres
El carcter punto (.) coincide con cualquier carcter imprimible o no imprimible nico de una cadena, a excepcin del carcter de nueva lnea (\n). La siguiente expresin regular de JScript coincide con 'aac', 'abc', 'acc', 'adc', etc., as como con 'a1c', 'a2c', a-c' y a#c':
/a.c/

La expresin regular equivalente de VBScript es:

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 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 carcter de barra invertida (\) al punto en la expresin regular. Por ejemplo, la siguiente expresin regular de JScript coincide con 'nombreArchivo.ext':
/nombreArchivo\.ext/

En VBScript la expresin equivalente aparecera como se muestra a continuacin:


"nombreArchivo\.ext"

Sin embargo, estas expresiones tienen muchas limitaciones. Slo permiten que la expresin coincida con cualquier carcter 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 captulo expresados numricamente como Captulo 1, Captulo 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 expresin de corchete. Dentro de los corchetes, los caracteres ordinarios se representan a s mismos, es decir, coinciden con una aparicin de s mismos en el texto. La mayor parte de los caracteres especiales pierden su significado cuando se incluyen en una expresin de corchete. A continuacin se muestran algunas excepciones:

El carcter ']' finaliza una lista si no es el primer elemento. Para que el carcter ']' coincida en una lista, colquelo en primer lugar inmediatamente despus del carcter '[' de apertura. El carcter '\' contina siendo el carcter de escape. Para que el carcter '\' coincida, use '\\'.

Los caracteres encerrados en una expresin de corchete slo coinciden con el carcter nico correspondiente a la posicin de la expresin regular en la que aparece la expresin de corchete. La siguiente expresin regular de JScript coincide con 'Captulo 1', 'Captulo 2', 'Captulo 3', 'Captulo 4' y 'Captulo 5':
/Capitulo [12345]/

Para que los mismos encabezados de captulos coincidan en VBScript, use la siguiente expresin:
"Capitulo [12345]"

Observe que la palabra 'Captulo' y el espacio que sigue ocupan una posicin fija respecto a los caracteres encerrados entre corchetes. As pues, la expresin de corchete se utiliza para especificar slo el conjunto de caracteres que coincide con la posicin de carcter nico inmediatamente posterior a la palabra 'Captulo' y a un espacio. Es decir, la dcima posicin de carcter. 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 guin (-). El valor de carcter de los caracteres individuales determina su orden relativo dentro de un intervalo. La siguiente expresin regular de JScript contiene una expresin de intervalo equivalente a la lista entre corchetes mostrada en el ejemplo anterior.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 44 de 264

/Capitulo [1-5]/

La expresin equivalente en VBScript aparecera como se muestra a continuacin:


"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 ordenacin Unicode. Si desea incluir el carcter guin en la expresin de corchete, realice una de las siguientes acciones:

Colquele delante una barra inversa:


[\-]

Coloque el guin al comienzo o al final de la lista entre corchetes. Las siguientes expresiones coinciden con las letras en minsculas y con el guin:
[-a-z] [a-z-]

Cree un intervalo en el que el valor del carcter inicial sea menor que el guin y el carcter final sea igual o mayor que el guin. Las siguientes expresiones regulares cumplen este requisito:
[!--] [!-~]

Tambin puede buscar todos los caracteres no incluidos en la lista o intervalo; para ello, coloque el carcter acento circunflejo (^) al comienzo de la lista. En caso de que dicho carcter aparezca en cualquier otra posicin dentro de la lista, coincidir consigo mismo, es decir, no tendr ningn significado especial. La siguiente expresin regular de JScript coincide con los encabezados de captulo mayores que 5:
/Capitulo [^12345]/

En VBScript use:
"Capitulo [^12345]"

En los ejemplos anteriores, la expresin coincide con cualquier dgito que ocupe la novena posicin excepto 1, 2, 3, 4 o 5. Por ejemplo, 'Captulo 7' es una coincidencia, al igual que 'Captulo 9'. Las expresiones anteriores podran representarse mediante el carcter guin (-). En JScript:
/Capitulo [^1-5]/

o en VBScript:
"Capitulo [^1-5]"

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 45 de 264

Las expresiones de corchete suelen utilizarse para especificar coincidencias de cualquier carcter alfabtico en maysculas o minsculas, o dgito. La siguiente expresin de JScript especifica este tipo de coincidencia:
/[A-Za-z0-9]/

La expresin equivalente en VBScript es:


"[A-Za-z0-9]"

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Cuantificadores
En algunas ocasiones no se conoce el nmero de caracteres que deben coincidir. Para solucionar este tipo de problema, las expresiones regulares admiten el concepto de cuantificadores. Estos cuantificadores permiten especificar el nmero de veces que un componente dado de la expresin regular debe aparecer para que la coincidencia sea verdadera. La tabla siguiente muestra los distintos cuantificadores y su significado. Carcter * + ? {n} {n,} {n,m} Descripcin Coincide con la subexpresin precedente cero o ms veces. Por ejemplo, 'zo*' coincide con "z" y "zoo". * es equivalente a {0,}. Coincide con la subexpresin precedente una o ms veces. Por ejemplo, 'zo+' coincide con "zo" y "zoo", pero no con "z". + es equivalente a {1,}. Coincide con la subexpresin 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 mximo. 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 nmeros.

En documentos de gran tamao, podra haber fcilmente ms de nueve captulos, por lo que se necesita un sistema para tratar nmeros de captulo de dos o tres dgitos. Los cuantificadores le permitirn hacerlo. La siguiente expresin regular de JScript coincide con encabezados de captulo con cualquier nmero de dgitos:

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 46 de 264

/Captulo [1-9][0-9]*/

La siguiente expresin regular de VBScript busca la coincidencia de manera idntica:


"Captulo [1-9][0-9]*"

Observe que el cuantificador aparece despus de la expresin de intervalo. Por lo tanto, se aplica a toda la expresin de intervalo que, en este caso, slo especifica dgitos del 0 al 9, inclusive. El cuantificador '+' no se usa en este caso, ya que no es necesario que haya un dgito en las posiciones segunda o siguiente. El carcter '?' tampoco se utiliza, ya que limita los nmeros de captulo a slo dos dgitos. Al menos debe coincidir un dgito despus de 'Captulo' y un carcter de espacio. Si sabe que el nmero de captulos est limitado a 99 nicamente, puede utilizar la siguiente expresin de JScript para especificar al menos un dgito, pero no ms de dos.
/Captulo [0-9]{1,2}/

En VBScript, use la siguiente expresin regular:


"Captulo [0-9]{1,2}"

La desventaja de la expresin anterior es que, en el caso de que exista un nmero de captulo mayor que 99, continuar coincidiendo con los dos primeros dgitos. Otra desventaja es que si alguien creara un Captulo 0, ste coincidira. A continuacin se muestran expresiones de JScript ms adecuadas para que slo coincidan dos dgitos:
/Captulo [1-9][0-9]?/

o
/Captulo [1-9][0-9]{0,1}/

En VBScript, use las expresiones equivalentes que se muestran a continuacin:


"Captulo [1-9][0-9]?"

o
"Captulo [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 mnima. Supongamos, por ejemplo, que busca en un documento HTML la aparicin de un ttulo de captulo encerrado en una etiqueta H1. El texto aparece en el documento como:
<H1>Captulo1 - Introduccin a las expresiones regulares</H1>

La siguiente expresin coincide con todos los elementos comprendidos entre el smbolo menor que (<)

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 47 de 264

de apertura y el smbolo mayor que (>) del final de la etiqueta H1 de cierre.


/<.*>/

La expresin regular equivalente de VBScript es:


"<.*>"

Si slo deseaba una coincidencia con la etiqueta H1 de apertura, utilice la siguiente expresin no expansiva:
/<.*?>/

o
"<.*?>"

Al colocar el signo '?' despus de un cuantificador '*', '+' o '?', la expresin se transforma de coincidencia expansiva a no expansiva, o mnima.

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Delimitadores
Hasta este momento, los ejemplos que ha visto slo muestran cmo buscar encabezados de captulo en todas las posiciones en que aparezcan. Cualquier aparicin de la cadena 'Captulo' seguida por un espacio y por un nmero podra ser un encabezado de captulo real o, tambin, podra ser una referencia cruzada a otro captulo. Puesto que los encabezados de captulo verdaderos siempre aparecen al comienzo de una lnea, deber idear una manera de buscar slo los encabezados y no las referencias cruzadas. Los delimitadores le permitirn lograrlo. Mediante los delimitadores es posible fijar una expresin regular al principio o al final de una lnea. Tambin permiten crear expresiones regulares que ocurran dentro, al final o al principio de una palabra. La tabla siguiente incluye la lista de delimitadores de expresin regular y su significado: Carcter ^ $ Descripcin Coincide con la posicin al comienzo de la cadena de entrada. Si se establece la propiedad Multiline del objeto RegExp, ^ tambin coincide con la posicin que sigue a '\n' o '\r'. Coincide con la posicin al final de la cadena de entrada. Si se establece la propiedad Multiline del objeto RegExp, $ tambin coincide con la posicin que precede a '\n' o

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 48 de 264

\b \B

'\r'. Coincide con un lmite de palabra, es decir, la posicin entre una palabra y un espacio. Coincide con algo que no sea un lmite de palabra.

No es posible usar un cuantificador junto con un delimitador. Puesto que no puede haber ms de una posicin inmediatamente antes o despus de un lmite de palabra o nueva lnea, no se permiten expresiones como '^*'. Para que un texto coincida al comienzo de una lnea de texto, use el carcter '^' al comienzo de la expresin regular. No confunda este uso de '^' con su utilizacin dentro de una expresin de corchete. No tienen nada que ver. Para que un texto coincida al final de una lnea de texto, use el carcter '$' al final de la expresin regular. Para utilizar delimitadores al buscar encabezados de captulo, la siguiente expresin regular de JScript coincide con un encabezado de captulo situado en el comienzo de una lnea al que siguen un mximo de dos dgitos:
/^Captulo [1-9][0-9]{0,1}/

En VBScript la misma expresin regular aparecera como:


"^Captulo [1-9][0-9]{0,1}"

No slo existe un verdadero encabezado de captulo al comienzo de la lnea, sino que es el nico elemento, por lo que tambin debe encontrarse al final de la lnea. La siguiente expresin permite garantizar que la coincidencia especificada slo coincide con captulos, no con referencias cruzadas. Para conseguirlo, es necesario crear una expresin que slo coincida al comienzo o al final de una lnea del texto.
/^Captulo [1-9][0-9]{0,1}$/

En VBScript use:
"^Captulo [1-9][0-9]{0,1}$"

La coincidencia con lmites de palabra difiere en algunos aspectos, pero agrega una capacidad muy importante a las expresiones regulares. El lmite de palabra es la posicin entre una palabra y un espacio. Los lmites que no son de palabra ocupan cualquier otra posicin. La siguiente expresin de JScript coincide con los tres primeros caracteres de la palabra 'Captulo', ya que estos aparecen detrs de un lmite de palabra:
/\bCap/

o en VBScript:
"\bCap"

La posicin 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\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 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 'Captulo', ya que sta aparece antes de un lmite de palabra:
/ulo\b/

y
"ulo\b"

Las siguientes expresiones coinciden con el segmento 'ap' de la palabra 'Captulo', pero no como en 'apcola':
/\Bap/

y
"\Bap"

Esto se debe a que 'ap' ocurre en un lmite que no es de palabra en la palabra 'Captulo' y en un lmite de palabra en 'apcola'. En lo que respecta al operador de lmite que no es de palabra, la posicin 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: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Alternancia y agrupamiento
Mediante la alternancia es posible utilizar el carcter '|' de modo que se pueda elegir entre dos o ms alternativas. Al expandir la expresin regular del encabezado de captulo, se pueden abarcar ms elementos, no slo los encabezados de captulo. Sin embargo, este sistema no es tan sencillo como parece. Cuando se utiliza la alternancia, la comparacin se establece con la expresin de mayor tamao posible situada a cualquier lado del carcter '|'. Podra parecer que las siguientes expresiones para JScript y VBScript coinciden con las palabras 'Captulo' o 'Seccin', seguidas de uno o dos dgitos, que aparezcan al comienzo o al final de una lnea:
/^Captulo|Seccin [1-9][0-9]{0,1}$/ "^Captulo|Seccin [1-9][0-9]{0,1}$"

Desgraciadamente, estas expresiones regulares coinciden con la palabra 'Captulo' al comienzo de la lnea o con la palabra 'Seccin' (y cualquier nmero que siga) al final de la lnea. Si la cadena de entrada es 'Captulo 22', la expresin anterior slo coincide con la palabra 'Captulo'. Si la cadena de entrada es 'Seccin 22', la expresin coincide con la palabra 'Seccin 22'. Pero eso no era lo previsto en este caso, de modo que debe haber un mtodo para que dicha expresin regular se ajuste mejor a lo que est

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 50 de 264

intentando conseguir; de hecho, este mecanismo existe. Puede utilizar parntesis para limitar el mbito de la alternancia, es decir, garantizar que slo se aplica a las dos palabras, 'Captulos' y 'Seccin'. Sin embargo, los parntesis tambin pueden provocar problemas, ya que igualmente se usan para crear subexpresiones, algo que se tratar posteriormente en la seccin acerca de ellas. Si agrega parntesis en los lugares apropiados a las expresiones regulares mostradas anteriormente, podr conseguir que coincidan con 'Captulo 1' y 'Seccin 3'. En las siguientes expresiones regulares se emplean parntesis para agrupar 'Captulo' y 'Seccin', lo que permitir que la expresin funcione correctamente. En JScript:
/^(Captulo|Seccin) [1-9][0-9]{0,1}$/

En VBScript:
"^(Captulo|Seccin) [1-9][0-9]{0,1}$"

Estas expresiones funcionarn correctamente, a menos que se produzca una interesante consecuencia. Al colocar parntesis alrededor de 'Captulo|Seccin' se establece el agrupamiento apropiado, pero tambin se ocasiona que cualquiera de las dos palabras coincidentes se capturen para su uso posterior. Puesto que slo hay un conjunto de parntesis de la expresin anterior, slo existe una subcoincidencia capturada. Es posible hacer referencia a esta subcoincidencia mediante la coleccin 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 parntesis para agrupar una opcin entre las palabras 'Captulo' o 'Seccin'. 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 sern ms eficaces, ya que no tendrn que utilizar el tiempo y la memoria necesarias para almacenar las subcoincidencias. Puede usar '?:' antes del modelo de expresin regular entre parntesis a fin de impedir que la coincidencia se guarde para su uso posterior. La siguiente modificacin de las expresiones regulares anteriores proporciona la misma capacidad sin guardar la subcoincidencia. En JScript:
/^(?:Captulo|Seccin) [1-9][0-9]{0,1}$/

En VBScript:
"^(?:Captulo|Seccin) [1-9][0-9]{0,1}$"

Adems de los metacaracteres '?:', hay otros dos metacaracteres de no captura empleados para lo que se denomina bsquedas anticipadas. La bsqueda anticipada positiva, especificada mediante ?=, coincide con la cadena de bsqueda en cualquier punto donde empiece un modelo de expresin regular coincidente entre parntesis. La bsqueda anticipada negativa, especificada mediante '?!', coincide con la cadena de bsqueda en cualquier punto donde empiece una cadena que no coincida con el modelo de expresin regular. Por ejemplo, supongamos que un documento contiene referencias a Windows 3.1, Windows 95, Windows 98 y Windows NT. Supongamos tambin 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\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 51 de 264

utilizar la siguiente expresin regular de JScript, que constituye un ejemplo de una bsqueda 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 expresin:


"Windows(?=95 |98 |NT )"

Una vez que se encuentre la coincidencia, la bsqueda de la coincidencia siguiente comenzar inmediatamente despus del texto coincidente y no incluir los caracteres contenidos en la bsqueda anticipada. Por ejemplo, si las expresiones mostradas anteriormente coinciden con 'Windows 98', la bsqueda se reanudar despus de "Windows", no de '98'.

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Referencias inversas
Una de las caractersticas ms 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 parntesis un modelo de expresin regular o una parte de un modelo, parte de la expresin se almacena en un bfer temporal. Si desea evitar que se guarde esa parte de la expresin 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 nmeros de bfer donde se almacenan las subcoincidencias comienzan por 1 y continan hasta un mximo de 99 subexpresiones. Se puede tener acceso a cada bfer diferente mediante '\n', donde n equivale a uno o dos dgitos decimales que identifican a un bfer especfico. Una de las aplicaciones ms sencillas y tiles de las referencias inversas permite localizar la aparicin de dos palabras idnticas juntas en un texto. Por ejemplo, en la siguiente frase:
Est est subiendo el precio de de la gasolina todava ms ms?

Tal como est escrita, es evidente que en la frase anterior hay varias palabras duplicadas. Sera aconsejable disear una manera de corregirla sin tener que buscar los duplicados de cada una de las palabras. La siguiente expresin regular de JScript emplea una expresin nica para ello.
/\b([a-z]+) \1\b/gi

La expresin equivalente de VBScript es:

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 52 de 264

"\b([a-z]+) \1\b"

En este caso, todos los elementos de la expresin estn entre parntesis. La expresin capturada incluye uno o varios caracteres alfabticos, como se especificaba en '[a-z]+'. La segunda parte de la expresin regular es la referencia a la subcoincidencia capturada previamente, es decir, la segunda aparicin de la palabra que se haba encontrado justo antes con respecto a la expresin entre parntesis. '\1' se utiliza para especificar la primera subcoincidencia. Los metacaracteres de lmite de palabra garantizan que slo se detectarn palabras independientes. Si no fuera as, esta expresin identificara de forma incorrecta frases como "es emitido" o "esto es". En la expresin de JScript, la etiqueta global ('g') situada tras la expresin general indica que sta se aplica a todas las coincidencias que se puedan encontrar en la cadena de entrada. La no distincin de maysculas y minsculas se especifica mediante la etiqueta de no distincin ('i') situada al final de la expresin. La etiqueta de multilnea especifica que las posibles coincidencias pueden ocurrir en cualquiera de los lados de un carcter de nueva lnea. En VBScript, no es posible establecer en la expresin las distintas etiquetas, sino que deben definirse explcitamente mediante las propiedades del objeto RegExp. Mediante la expresin regular mostrada anteriormente, el cdigo de JScript siguiente puede utilizar la informacin de subcoincidencia para reemplazar una aparicin de dos palabras idnticas consecutivas en una cadena de texto con una nica aparicin de la misma palabra:
var ss = "Est est subiendo el precio de de la gasolina todava ms ms??.\n"; var re = /\b([a-z]+) \1\b/gim; //Crea un modelo de expresin regular. var rv = ss.replace(re,"$1"); //Reemplaza dos apariciones con una.

El cdigo de VBScript ms aproximado tendra la forma siguiente:


Dim ss, re, rv ss = "Est est subiendo el precio de de la gasolina todava ms ms?." & 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 cdigo de VBScript, las etiquetas globales, de no distincin entre maysculas y minsculas y de multilnea se establecen mediante las propiedades con el nombre apropiado del objeto RegExp. El uso de $1 dentro del mtodo replace hace referencia a la primera subcoincidencia guardada. Si hubiera habido ms de una subcoincidencia, se hara 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 direccin de dominio y la pgina 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\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 53 de 264

/(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)/

En VBScript:
"(\w+):\/\/([^/:]+)(:\d*)?([^# ]*)"

La primera subexpresin entre parntesis se ha diseado para capturar la parte de protocolo de la direccin Web. Esta subexpresin coincide con cualquier palabra que preceda a dos puntos y dos barras diagonales. La primera subexpresin entre parntesis captura la parte de direccin de dominio de la direccin. Esta subexpresin coincide con cualquier secuencia de caracteres que no incluya los caracteres '^', '/' o ':'. La tercera subexpresin entre parntesis captura el nmero de puerto de un sitio Web, en caso de que se haya especificado. Esta subexpresin coincide con cero o ms dgitos que sigan a un signo de dos puntos. Y, finalmente, en la cuarta subexpresin entre parntesis se captura la informacin de ruta de acceso y pgina especificada por la direccin Web. Esta subexpresin coincide con uno o varios caracteres que no sean '#' o el carcter de espacio. Al aplicar la expresin 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: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Referencia del lenguaje VBScript


Constantes Errores Eventos Funciones Mtodos Varios

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 54 de 264

Objetos y colecciones Operadores Propiedades Instrucciones

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Informacin de la versin
En la tabla siguiente se muestra la versin de Microsoft Visual Basic Scripting Edition implementada por cada aplicacin host. Aplicacin 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 x x x x x x x x x x x 2.0 3.0 4.0 5.0 5.5 5.6

En la tabla siguiente se enumeran las caractersticas de lenguaje de VBScript y la versin en la que se introdujeron por primera vez Trados no deja traducir esto. Elemento del lenguaje Funcin Abs Operador de suma (+) Operador And Funcin Array Funcin Asc Operador de asignacin (=) Funcin Atn 1.0 x x x x x x x 2.0 3.0 4.0 5.0 5.5 5.6

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 55 de 264

Instruccin Call Funcin CBool Funcin CByte Funcin CCur Funcin CDate Funcin CDbl Funcin Chr Funcin CInt Objeto Class Instruccin Class Mtodo Clear Funcin CLng Constantes de colores Constantes de comparaciones Operador de concatenacin (&) Instruccin Const Funcin Cos Funcin CreateObject Funcin CSng Funcin CStr Constantes de fecha y hora Constantes de formato de fecha Funcin Date (funcin) Funcin DateAdd Funcin DateDiff Funcin DatePart Funcin DateSerial Funcin DateValue Funcin Day Propiedad Description Instruccin Dim Operador de divisin (/) Instruccin Do...Loop Empty Operador Eqv Instruccin Erase Objeto Err Funcin Eval Mtodo Execute Instruccin Execute Instruccin ExecuteGlobal Instruccin Exit Funcin Exp Operador de exponenciacin (^) False Funcin Filter

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\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 56 de 264

Propiedad FirstIndex Funcin Fix Instruccin For...Next Instruccin For Each...Next Funcin FormatCurrency Funcin FormatDateTime Funcin FormatNumber Funcin FormatPercent Instruccin Function Funcin GetLocale Funcin GetObject Funcin GetRef Propiedad Global Funcin Hex Propiedad HelpContext Propiedad HelpFile Funcin Hour Instruccin If...Then...Else Propiedad IgnoreCase Operador Imp Evento Initialize Funcin InputBox Funcin InStr Funcin InStrRev Funcin Int Operador de divisin de enteros (\) Operador Is Funcin IsArray Funcin IsDate Funcin IsEmpty Funcin IsNull Funcin IsNumeric Funcin IsObject Funcin Join Funcin LBound Funcin LCase Funcin Left Funcin Len Propiedad Length Funcin LoadPicture Funcin Log Funcin LTrim Objeto Match Coleccin Matches Funcin Mid Funcin Minute

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\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 57 de 264

Constantes varias Operador Mod x Funcin Month x Funcin MonthName Constantes de MsgBox Funcin MsgBox x Operador de multiplicacin (*) x Operador de negacin (-) x Operador Not x Funcin Now x Nothing x Null x Propiedad Number x Funcin Oct x Instruccin On Error x Instruccin Option Explicit x Operador Or x Propiedad Pattern Instruccin Private Instruccin PropertyGet Instruccin PropertyLet Instruccin PropertySet Instruccin Public Mtodo Raise x Instruccin Randomize x Instruccin ReDim x Objeto RegExp Instruccin Rem x Funcin Replace Mtodo Replace Funcin RGB Funcin Right x Funcin Rnd x Funcin Round Funcin RTrim x Funcin ScriptEngine Funcin ScriptEngineBuildVersion Funcin ScriptEngineMajorVersion Funcin ScriptEngineMinorVersion Funcin Second x Instruccin Select Case x Instruccin Set x Funcin SetLocale Funcin Sgn x Funcin Sin x Propiedad Source x

x x

x x x x x x

x x x x

x x x x x

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 58 de 264

Funcin Space Funcin Split Funcin Sqr Funcin StrComp Constantes de cadena Funcin String Funcin StrReverse Instruccin Sub operador de sustraccin (-) Funcin Tan Evento Terminate Mtodo Test Funcin Time Funcin Timer Funcin TimeSerial Funcin TimeValue Funcin Trim Constantes de triple estado True Funcin TypeName Funcin UBound Funcin UCase Propiedad Value Constantes de VarType Funcin VarType Constantes de VBScript Funcin Weekday Funcin WeekdayName Instruccin While...Wend Instruccin With Operador Xor Funcin Year

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: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Constantes de VBScript
En VBScript estn integradas un nmero de constantes tiles que puede utilizar en su cdigo. Las constantes proporcionan un modo cmodo de utilizar valores especficos sin tener que recordar el propio valor. Utilizar constantes hace que se pueda mantener su cdigo si el valor de cualquier constante

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 59 de 264

cambiara alguna vez. Dado que estas constantes estn ya definidas en VBScript, no necesita declararlas de manera explcita en su cdigo. Simplemente utilcelas en lugar de los valores que representan. Aqu estn las diversas categoras de constantes proporcionadas en VBScript y una breve descripcin de cada una:

Constantes de color Define ocho colores bsicos 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 categora. Constantes para MsgBox Define las constantes utilizadas en la funcin MsgBox para describir los valores de visibilidad, etiqueta, comportamiento y de retorno de un botn. 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 nmeros. Constantes para VarType Define los diversos subtipos del tipo Variant.

Requisitos Versin 2

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Constantes de color
Dado que estas constantes estn integradas en VBScript, no tiene que definirlas antes de utilizarlas. Utilcelas en cualquier parte de su cdigo 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 Descripcin

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 60 de 264

vbWhite Requisitos Versin 2

&hFFFFFF Blanco

Consulte tambin Constantes de comparacin | 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: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Constantes de comparacin
Dado que estas constantes estn integradas en VBScript, no tiene que definirlas antes de utilizarlas. Utilcelas en cualquier parte de su cdigo para representar los valores mostrados para cada una. Constante Valor Descripcin vbBinaryCompare 0 Realizar una comparacin binaria. vbTextCompare 1 Realizar una comparacin textual. Requisitos Versin 2 Consulte tambin 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: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 61 de 264

Constantes de fecha y hora


Dado que estas constantes estn integradas en VBScript, no tiene que definirlas antes de utilizarlas. Utilcelas en cualquier parte de su cdigo para representar los valores mostrados para cada una. Constante vbSunday vbMonday vbTuesday vbWednesday vbThursday vbFriday vbSaturday vbUseSystemDayOfWeek vbFirstJan1 vbFirstFourDays vbFirstFullWeek Requisitos Versin 2 Consulte tambin Constantes de color | Constantes de comparacin | Constantes de formato de fecha | Constantes varias | Constantes para MsgBox | Constantes de cadena | Constantes para Tristate | Constantes para VarType 1 2 3 4 5 6 7 0 1 2 3 Valor Descripcin domingo lunes martes mircoles jueves viernes sbado Utiliza el da de la semana especificado en la configuracin de su sistema como primer da de la semana. Utiliza la semana en que aparece el 1 de enero (predeterminado). Utiliza la primera semana que tiene al menos cuatro das en el nuevo ao. Utiliza la primera semana completa del ao.

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Constantes de formato de fecha


Dado que estas constantes estn integradas en VBScript, no tiene que definirlas antes de utilizarlas. Utilcelas en cualquier parte de su cdigo para representar los valores mostrados para cada una. Constante Valor Descripcin

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 62 de 264

vbGeneralDate

vbLongDate vbShortDate vbLongTime vbShortTime

1 2 3 4

Muestra una fecha o una hora o ambas. En el caso de nmeros reales, muestra una fecha y una hora. Si no existe parte fraccional, muestra slo una fecha. Si no existe parte de nmero entero, muestra slo una hora. El hecho de mostrar la fecha y la hora depende de la configuracin del sistema. Muestra una fecha con el formato de fecha larga especificado en la configuracin regional de su equipo. Muestra una fecha con el formato de fecha corto especificado en la configuracin regional de su equipo. Muestra una hora con el formato de hora largo especificado en la configuracin regional de su equipo. Muestra una hora con el formato de hora corto especificado en la configuracin regional de su equipo.

Requisitos Versin 2 Consulte tambin Constantes de color | Constantes de comparacin | 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: Versin 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. Utilcela en cualquier parte de su cdigo para representar los valores mostrados. Constante vbObjectError Valor -2147221504 Descripcin Los nmeros de error definidos por el usuario deben ser mayores que este valor, por ejemplo,
Err.Raise Number = vbObjectError + 1000

Requisitos Versin 2 Consulte tambin

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 63 de 264

Constantes de color | Constantes de comparacin | 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: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Constantes para MsgBox


Las siguientes constantes se utilizan con la funcin MsgBox para identificar qu botones e iconos aparecern en un cuadro de dilogo y qu botn es el predeterminado. Adems, se puede especificar la modalidad de MsgBox. Ya que estas constantes estn integradas en VBScript, no tiene que definirlas antes de utilizarlas. Utilcelas en cualquier parte de su cdigo para representar los valores mostrados para cada una. Constante vbOKOnly vbOKCancel vbAbortRetryIgnore vbYesNoCancel vbYesNo vbRetryCancel vbCritical vbQuestion vbExclamation vbInformation vbDefaultButton1 vbDefaultButton2 vbDefaultButton3 vbDefaultButton4 vbApplicationModal vbSystemModal Valor 0 1 2 3 4 5 16 32 48 64 0 256 512 768 0 4096 Descripcin Muestra slo el botn 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 crtico. Muestra el icono Consulta de advertencia. Muestra el icono Mensaje de aviso. Muestra el icono Mensaje de informacin. El primer botn es el predeterminado. El segundo botn es el predeterminado. El tercer botn es el predeterminado. El cuarto botn es el predeterminado. Aplicacin modal. El usuario debe responder al cuadro de dilogo antes de continuar trabajando en la aplicacin actual. Sistema modal. En sistemas Win16, se suspenden todas las aplicaciones hasta que el usuario responde al cuadro de dilogo. En sistemas Win32, esta constante proporciona un cuadro de mensaje de aplicacin modal que permanece siempre visible en primer plano ante cualquier otro programa que est en ejecucin.

Las siguientes constantes se utilizan con la funcin MsgBox para identificar qu botn ha seleccionado un usuario. Estas constantes estn disponibles slo cuando su proyecto hace referencia explcita a la

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 64 de 264

biblioteca de tipos apropiada que contiene estas definiciones de constantes. En VBScript, debe declarar de manera explcita estas constantes en su cdigo. Constante Valor vbOK 1 vbCancel 2 vbAbort 3 vbRetry 4 vbIgnore 5 vbYes 6 VbNo 7 Requisitos Versin 2 Consulte tambin Constantes de color | Constantes de comparacin | Constantes de fecha y hora | Constantes de formato de fecha | Constantes varias | Constantes de cadena | Constantes para Tristate | Constantes para VarType Descripcin Se hizo clic en el botn Aceptar. Se hizo clic en el botn Cancelar. Se hizo clic en el botn Anular. Se hizo clic en el botn Reintentar. Se hizo clic en el botn Ignorar. Se hizo clic en el botn S. Se hizo clic en el botn No.

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Constantes de cadena
Dado que estas constantes estn integradas en VBScript, no tiene que definirlas antes de utilizarlas. Utilcelas en cualquier parte de su cdigo 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) Descripcin Retorno de carro. Combinacin de retorno de carro y avance de lnea. Avance de pgina. Sin utilidad en Microsoft Windows. Avance de lnea. Carcter de nueva lnea especfico de la plataforma. El que sea apropiado para la plataforma. Carcter que tiene el valor 0. No es lo mismo que una cadena de longitud cero (""). Se utiliza para llamar a procedimientos externos. Tabulacin horizontal.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 65 de 264

vbVerticalTab Requisitos Versin 2 Consulte tambin

Chr(11)

Tabulacin vertical. No es til en Microsoft Windows.

Constantes de color | Constantes de comparacin | 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: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Constantes para Tristate


Dado que estas constantes estn integradas en VBScript, no tiene que definirlas antes de utilizarlas. Utilcelas en cualquier parte de su cdigo para representar los valores mostrados para cada una. Constante vbUseDefault vbTrue vbFalse Requisitos Versin 2 Consulte tambin Constantes de color | Constantes de comparacin | Constantes de fecha y hora | Constantes de formato de fecha | Constantes varias | Constantes para MsgBox | Constantes de cadena | Constantes para VarType Valor Descripcin -2 Utiliza el valor predeterminado de la configuracin regional del equipo. -1 True (verdadero) 0 False (falso)

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 66 de 264

Constantes para VarType


Estas constantes estn disponibles slo cuando su proyecto hace referencia explcita a la biblioteca de tipos apropiada que contiene estas definiciones de constantes. En VBScript, debe declarar de manera explcita estas constantes en su cdigo. 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 Requisitos Versin 2 Consulte tambin Constantes de color | Constantes de comparacin | Constantes de fecha y hora | Constantes de formato de fecha | Constantes varias | Constantes para MsgBox | Constantes de cadena | Constantes para Tristate Descripcin No inicializada (valor predeterminado) No contiene ningn dato vlido Subtipo Integer Subtipo Long Subtipo Single Subtipo Double Subtipo Currency Subtipo Date Subtipo String Objeto Subtipo Error Subtipo Boolean Variant (utilizada slo para matrices de variantes) Objeto de acceso a datos Subtipo Decimal Subtipo Byte Matriz

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Errores

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 67 de 264

En esta seccin Errores en tiempo de ejecucin de VBScript Errores de sintaxis de VBScript Secciones relacionadas

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Errores en tiempo de ejecucin de VBScript


Los errores en tiempo de ejecucin de VBScript se producen cuando la secuencia de comandos de VBScript intenta realizar una accin que el sistema no puede ejecutar. Ocurren cuando la secuencia de comandos est en ejecucin, las expresiones de variable se estn evaluando y la memoria se est asignando dinmicamente. Nmero de error 429 507 449 17 430 506 11 48 5020 5019 432 92 5008 51 505 481 5 5021 94 448 447 Descripcin El componente ActiveX no puede crear el objeto Error de excepcin Argumento no opcional No se puede realizar la operacin solicitada Esta clase no acepta Automatizacin Clase no definida Divisin por cero Error al cargar biblioteca DLL Se esperaba ')' en la expresin regular Se esperaba ']' en la expresin regular No se encontr el nombre del archivo o de la clase durante la operacin de Automatizacin Bucle For no inicializado Asignacin no vlida Error interno Referencia no vlida o sin calificar Imagen no vlida Argumento o llamada a procedimiento no vlida Intervalo no vlido en el juego de caracteres Uso no vlido de Null Argumento con nombre no encontrado El objeto no acepta la configuracin regional actual

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 68 de 264

445 438 451 504 503 502 424 91 7 28 14 6 35 9 5017 462 10 13 5018 500 458 450 Consulte tambin

El objeto no acepta esta accin El objeto no acepta esta propiedad o mtodo El objeto no es una coleccin Objeto no seguro para creacin Objeto no seguro para inicializacin 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 Subndice fuera del intervalo Error de sintaxis en expresin 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 Automatizacin no aceptado en VBScript Nmero de argumentos errneo o asignacin de propiedad no vlida

Errores de sintaxis de VBScript

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin 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 compilacin del programa, antes de que ste haya comenzado a ejecutarse. Nmero de error Descripcin 1052 No puede haber mltiples propiedades o mtodos predeterminados en una clase 1044 No se puede utilizar parntesis al llamar a Sub

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 69 de 264

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

La inicializacin o finalizacin de la clase no tiene argumentos La especificacin 'Default' slo puede estar en Property Get La especificacin 'Default' tambin debe indicar 'Public' Se esperaba '(' Se esperaba ')' Se esperaba '=' Se esperaba 'Case' Se esperaba 'Class' Se esperaba final de instruccin Se esperaba 'End' Se esperaba una expresin 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 declaracin de la propiedad Se esperaba una constante literal Se esperaba 'Loop' Se esperaba 'Next' Se esperaba 'Property' Se esperaba 'Select' Se esperaba una instruccin Se esperaba 'Sub' Se esperaba 'Then' Se esperaba 'To' Se esperaba 'Wend' Se esperaba 'While' o 'Until' Se esperaba 'While', 'Until' o final de instruccin Se esperaba 'With' Identificador demasiado largo Carcter no vlido Instruccin 'Exit' no vlida Variable de control de bucle 'for' no vlida Nmero no vlido Uso de la palabra clave 'Me' no vlido 'loop' sin 'do' Debe definirse en una clase Debe ser la primera instruccin de la lnea Nombre redefinido El nmero de argumentos debe ser constante en la especificacin 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\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 70 de 264

1015 Consulte tambin

Constante de cadena sin terminar

Errores en tiempo de ejecucin de VBScript

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Eventos
En esta seccin Evento Initialize Evento Terminate Secciones relacionadas Referencia del lenguaje VBScript

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin 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 nmero de instrucciones de cdigo (una, varias o ninguna) que se ejecutarn cuando se inicialice la clase. Observaciones

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 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 Versin 5 Consulte tambin Objeto Class | Instruccin Class | Evento Terminate Se aplica a: Objeto Class

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin 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 nmero de instrucciones de cdigo (una, varias o ninguna) que se ejecutarn 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\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 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 Versin 5 Consulte tambin Objeto Class | Instruccin Class | Evento Initialize Se aplica a: Objeto Class

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin 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 Eval FormatDateTime GetObject InputBox IsArray IsNumeric LCase Log Minute Now Array CByte Chr Cos DateAdd DateValue Exp FormatNumber GetRef InStr IsDate IsObject Left LTrim, RTrim y Trims Month Oct Asc CCur CInt CreateObject DateDiff Day Filter FormatPercent Hex InStrRev IsEmpty Join Len Matemticas MonthName Replace Atn CDate CLng CSng DatePart Matemticas derivadas FormatCurrency GetLocale Hour Int, Fixs IsNull LBound LoadPicture Mid MsgBox RGB

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 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: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin Abs
Devuelve el valor absoluto de un nmero.
Abs(nmero)

El argumento nmero puede ser cualquier expresin numrica vlida. Si nmero contiene Null, se devuelve Null; si es una variable sin inicializar, se devuelve cero. Observaciones El valor absoluto de un nmero es su magnitud sin signo. Por ejemplo, Abs(-1) y Abs(1) devuelven 1. El siguiente ejemplo utiliza la funcin Abs para calcular el valor absoluto de un nmero:
Dim MiNumero MiNumero = Abs(50.3) ' Devuelve 50.3. MiNumero = Abs(-50.3) ' Devuelve 50.3.

Requisitos Versin 1 Consulte tambin Funcin Sgn

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 74 de 264

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin 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 ningn argumento, se crea una matriz de longitud cero. Observaciones La notacin utilizada para hacer referencia a un elemento de una matriz est formada por el nombre de la variable seguido de un parntesis que contiene un nmero de ndice que indica el elemento deseado. En el siguiente ejemplo, la primera instruccin crea una variable denominada A. La segunda instruccin asigna una matriz a la variable A. La ltima instruccin 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 an 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 Versin 2 Consulte tambin Instruccin Dim

2001 Microsoft Corporation. Reservados todos los derechos.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 75 de 264

Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin Asc
Devuelve el cdigo de carcter ANSI que corresponde a la primera letra de una cadena.
Asc(cadena)

El argumento cadena es cualquier Expresin de cadena vlida. Si la cadena no contiene caracteres, se producir un error en tiempo de ejecucin. Observaciones En el siguiente ejemplo, Asc devuelve el cdigo de carcter 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 funcin AscB se utiliza con los datos de tipo byte contenidos en una cadena. En lugar de devolver el cdigo de carcter del primer carcter, AscB devuelve el primer byte. Se proporciona AscW para plataformas de 32 bits que utilizan caracteres Unicode. Esta funcin devuelve el cdigo de carcter Unicode (ancho), con lo que se evita la conversin de Unicode en ANSI. Requisitos Versin 1 Consulte tambin Funcin Chr

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin Atn
Devuelve el arcotangente de un nmero.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 76 de 264

Atn(nmero)

El argumento nmero puede ser cualquier expresin numrica vlida. Observaciones La funcin Atn toma la razn de dos lados de un tringulo recto (nmero) y devuelve el ngulo correspondiente en radianes. La razn 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 funcin trigonomtrica inversa de Tan, que toma un ngulo como su argumento y devuelve la razn de dos lados de un tringulo recto. No confunda Atn con la cotangente, que es el inverso simple de una tangente (1/tangent). Requisitos Versin 1 Consulte tambin Funcin Cos | Funciones matemticas derivadas | Funcin Sin | Funcin Tan

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin CBool
Devuelve una expresin que se ha convertido en tipo Variant de subtipo Boolean.
CBool(expresin)

El argumento expresin es cualquier expresin vlida. Observaciones

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 77 de 264

Si expresin es cero, se devuelve False; si no, se devuelve True. Si expresin no se puede interpretar como un valor numrico, se produce un error en tiempo de ejecucin. El siguiente ejemplo utiliza la funcin CBool para convertir una expresin en Boolean. Si la expresin se evala 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 Versin 1 Consulte tambin Funcin CByte | Funcin CCur | Funcin CDate | Funcin CDbl | Funcin CInt | Funcin CLng | Funcin CSng | Funcin CStr

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin CByte
Devuelve una expresin que se ha convertido en tipo Variant de subtipo Byte.
CByte(expresin)

El argumento expresin es cualquier expresin vlida. Observaciones En general, puede documentar su cdigo mediante las funciones de conversin de subtipo para mostrar que el resultado de alguna operacin 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 aritmtico de tipo byte en los casos en que normalmente aparecen valores aritmticos de moneda, precisin simple, precisin doble o entero. Utilice la funcin 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 segn la configuracin regional de su sistema, de la misma manera que los separadores de miles.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 78 de 264

Si expresin queda fuera del intervalo apropiado para el subtipo Byte, se produce un error. El siguiente ejemplo utiliza la funcin CByte para convertir una expresin en un byte:
Dim MiDouble, MiByte MiDouble = 125.5678 MiByte = CByte(MiDouble) ' MiDouble es de tipo Double. ' MiByte contiene 126.

Requisitos Versin 1 Consulte tambin Funcin CBool | Funcin CCur | Funcin CDate | Funcin CDbl | Funcin CInt | Funcin CLng | Funcin CSng | Funcin CStr

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin CCur
Devuelve una expresin que se ha convertido en tipo Variant de subtipo Currency.
CCur(expresin)

El argumento expresin es cualquier expresin vlida. Observaciones En general, puede documentar su cdigo mediante las funciones de conversin de subtipo para mostrar que el resultado de alguna operacin 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 aritmtico de tipo currency en los casos en que normalmente aparecen valores aritmticos de tipo entero. Debera utilizar la funcin 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 segn la configuracin regional de su sistema. El siguiente ejemplo utiliza la funcin CCur para convertir una expresin 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\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 79 de 264

Requisitos Versin 1 Consulte tambin Funcin CBool | Funcin CByte | Funcin CDate | Funcin CDbl | Funcin CInt | Funcin CLng | Funcin CSng | Funcin CStr

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin CDate
Devuelve una expresin que se ha convertido en tipo Variant de subtipo Date.
CDate(fecha)

El argumento fecha es cualquier expresin de fecha vlida. Observaciones Utilice la funcin 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 nmeros que estn dentro del intervalo de fechas aceptables. Cuando se convierte un nmero en una fecha, toda la parte del nmero se convierte en una fecha. Cualquier parte fraccional del nmero se convierte en una hora del da, a partir de medianoche. CDate reconoce formatos de fecha segn la configuracin regional de su sistema. Puede que no se determine el orden correcto del da, mes y ao si se proporciona en un formato diferente del de una de las configuraciones de fecha reconocidas. Adems, no se reconocer un formato de fecha largo si tambin contiene la cadena del da de la semana. El siguiente ejemplo utiliza la funcin 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\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 80 de 264

Versin 1 Consulte tambin Funcin IsDate

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin CDbl
Devuelve una expresin que se ha convertido en tipo Variant de subtipo Double.
CDbl(expresin)

El argumento expresin es cualquier expresin vlida. Observaciones En general, puede documentar su cdigo mediante las funciones de conversin de subtipo para mostrar que el resultado de alguna operacin 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 aritmtico de tipo precisin doble o precisin simple en los casos en que normalmente aparecen valores aritmticos de moneda o entero. Utilice la funcin 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 segn la configuracin regional de su sistema. Este ejemplo utiliza la funcin CDbl para convertir una expresin 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 Versin 1 Consulte tambin Funcin CBool | Funcin CByte | Funcin CCur | Funcin CDate | Funcin CInt | Funcin CLng | Funcin CSng | Funcin CStr

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 81 de 264

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin Chr
Devuelve el carcter asociado con el cdigo de carcter ANSI especificado.
Chr(cdigocar)

El argumento cdigocar es un nmero que identifica a un carcter. Observaciones Los nmeros del 0 al 31 son los mismos que los cdigos ASCII estndar no imprimibles. Por ejemplo, Chr(10) devuelve un carcter de avance de lnea. El siguiente ejemplo utiliza la funcin Chr para devolver el carcter asociado con el cdigo de carcter especificado:
Dim MiChar MiChar = Chr(65) MiChar = Chr(97) MiChar = Chr(62) MiChar = Chr(37) ' ' ' ' Devuelve Devuelve Devuelve Devuelve A. a. >. %.

Nota La funcin ChrB se utiliza con los datos tipo byte contenidos en una cadena. En lugar de devolver un carcter, 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 cdigo de carcter Unicode (ancho), con lo que se evita la conversin de ANSI en Unicode. Requisitos Versin 1 Consulte tambin Funcin Asc

2001 Microsoft Corporation. Reservados todos los derechos.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 82 de 264

Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin CInt
Devuelve una expresin que se ha convertido en tipo Variant de subtipo Integer.
CInt(expresin)

El argumento expresin es cualquier expresin vlida. Observaciones En general, puede documentar su cdigo mediante las funciones de conversin de subtipo para mostrar que el resultado de alguna operacin 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 aritmtico de tipo entero en los casos en que normalmente aparecen valores aritmticos de moneda, precisin simple o precisin doble. Utilice la funcin 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 segn la configuracin regional de su sistema, de la misma manera que los separadores de miles. Si expresin queda fuera del intervalo apropiado para el subtipo Integer, se produce un error. El siguiente ejemplo utiliza la funcin 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, ms que redondean, la parte fraccional de un nmero. Cuando la parte fraccional es exactamente 0,5 la funcin CInt la redondea siempre al nmero par ms cercano. Por ejemplo, 0,5 se redondea a 0 y 1,5 se redondea a 2. Requisitos Versin 1 Consulte tambin Funcin CBool | Funcin CByte | Funcin CCur | Funcin CDate | Funcin CDbl | Funcin CLng | Funcin CSng | Funcin CStr | Funciones Int y Fix

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 83 de 264

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin CLng
Devuelve una expresin que se ha convertido en tipo Variant de subtipo Long.
CLng(expresin)

El argumento expresin es cualquier expresin vlida. Observaciones En general, puede documentar su cdigo mediante las funciones de conversin de subtipo para mostrar que el resultado de alguna operacin 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 aritmtico de tipo entero en los casos en que normalmente aparecen valores aritmticos de moneda, precisin simple o precisin doble. Utilice la funcin 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 segn la configuracin regional de su sistema, de la misma manera que los separadores de miles. Si expresin queda fuera del intervalo aceptable para el subtipo Long, se produce un error. El siguiente ejemplo utiliza la funcin 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, ms que redondean, la parte fraccional de un nmero. Cuando la parte fraccional es exactamente 0,5 la funcin CLng la redondea siempre al nmero par ms cercano. Por ejemplo, 0,5 se redondea a 0 y 1,5 se redondea a 2. Requisitos Versin 1 Consulte tambin Funcin CBool | Funcin CByte | Funcin CCur | Funcin CDate | Funcin CDbl | Funcin CInt | Funcin CSng | Funcin CStr | Funciones Int y Fix

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 84 de 264

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funciones de conversin
Funcin Asc Funcin CBool Funcin CByte Funcin CCur Funcin CDate Funcin CDbl Funcin Chr Funcin CInt Funcin CLng Funcin CSng Funcin CStr Funcin Hex Funcin Oct

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin Cos
file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm 04/12/2012

VBScript

Pgina 85 de 264

Devuelve el coseno de un ngulo.


Cos(nmero)

El argumento nmero puede ser cualquier expresin numrica vlida que exprese un ngulo en radianes. Observaciones La funcin Cos toma un ngulo y devuelve la razn de dos lados de un tringulo recto. La razn 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 funcin 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 Versin 1 Consulte tambin Funcin Atn | Funciones matemticas derivadas | Funcin Sin | Funcin Tan

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin CreateObject
Crea y devuelve una referencia a un objeto de automatizacin.
CreateObject(servidor.tipo [, ubicacin])

Argumentos servidor Necesario. Nombre de la aplicacin que proporciona el objeto. tipo

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 86 de 264

Necesario. Tipo o clase del objeto que se va a crear. ubicacin Opcional. Nombre del servidor de red donde se va a crear el objeto. Observaciones Los servidores de automatizacin proporcionan al menos un tipo de objeto. Por ejemplo, una aplicacin de procesamiento de texto puede proporcionar un objeto de aplicacin, un objeto de documento y un objeto de barra de herramientas. Para crear un objeto de automatizacin, asigne el objeto devuelto por CreateObject a una variable de objeto:
Dim HojaExcel Set HojaExcel = CreateObject("Hoja.Excel")

Este cdigo inicia la aplicacin que crea el objeto (en este caso, una hoja de clculo de Microsoft Excel). Una vez que se ha creado el objeto, haga referencia a l en cdigo utilizando la variable de objeto que haya definido. Tal y como se muestra en el siguiente ejemplo, puede acceder a las propiedades y mtodos del nuevo objeto utilizando la variable de objeto, HojaExcel y otros objetos Excel, incluyendo el objeto de la aplicacin y ActiveSheet.Coleccin de celdas:
' Hacer Excel visible en el objeto de la aplicacin. ExcelSheet.Application.Visible = True ' Ubicar algn 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 mtodo Abandonar en el objeto de la aplicacin. ExcelSheet.Application.Quit ' Liberar la variable de objeto. Set ExcelSheet = Nothing

Crear un objeto en un servidor remoto slo 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". Adems, puede especificar servidor utilizando el formato DNS o una direccin IP. La siguiente porcin de cdigo devuelve el nmero de versin de una instancia de Excel ejecutndose 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\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 87 de 264

Versin 2 Consulte tambin Funcin GetObject

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin CSng
Devuelve una expresin que se ha convertido en tipo Variant de subtipo Single.
CSng(expresin)

El argumento expresin es cualquier expresin vlida. Observaciones En general, puede documentar su cdigo mediante las funciones de conversin de tipos de datos para mostrar que el resultado de alguna operacin 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 aritmtico de tipo precisin doble o precisin simple en los casos en que normalmente aparecen valores aritmticos de moneda o entero. Utilice la funcin 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 segn la configuracin regional de su sistema, de la misma manera que los separadores de miles. Si expresin queda fuera del intervalo aceptable para el subtipo Single, se produce un error. El siguiente ejemplo utiliza la funcin 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 Versin 1

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 88 de 264

Consulte tambin Funcin CBool | Funcin CByte | Funcin CCur | Funcin CDate | Funcin CDbl | Funcin CInt | Funcin CLng | Funcin CStr

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin CStr
Devuelve una expresin que se ha convertido en tipo Variant de subtipo String.
CStr(expresin)

El argumento expresin es cualquier expresin vlida. Observaciones En general, puede documentar su cdigo mediante las funciones de conversin de subtipo para mostrar que el resultado de alguna operacin 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 funcin 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 segn la configuracin regional de su sistema. Los datos de expresin determinan lo que se devuelve segn la siguiente tabla: Si expresin es Boolean Date Null Empty Error Otro numrico 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 ejecucin. Una cadena de longitud cero (""). Una cadena que contiene la palabra Error seguida del nmero de error. Una cadena que contiene el nmero.

El siguiente ejemplo utiliza la funcin CStr para convertir un valor numrico 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\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 89 de 264

Requisitos Versin 1 Consulte tambin Funcin CBool | Funcin CByte | Funcin CCur | Funcin CDate | Funcin CDbl | Funcin CInt | Funcin CLng | Funcin CSng

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin Date
Devuelve la fecha actual del sistema.
Date

Observaciones El siguiente ejemplo utiliza la funcin Date para devolver la fecha actual del sistema:
Dim MiFecha MiFecha = Date ' MiFecha contiene la fecha actual del sistema.

Requisitos Versin 1 Consulte tambin Funcin CDate | Funcin Now | Funcin Time

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 90 de 264

Funcin DateAdd
Devuelve una fecha a la que se le ha agregado un intervalo de tiempo especificado.
DateAdd(intervalo, nmero, fecha)

Argumentos intervalo Necesario. Expresin de cadena que es el intervalo que desea agregar. Consulte la seccin Valores para ver los valores. nmero Necesario. Expresin numrica que es el nmero de intervalo que desea agregar. La expresin numrica 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 Descripcin yyyy Ao q Trimestre m Mes y Da del ao d Da w Da de la semana ww Semana del ao h Hora n Minuto s Segundo Observaciones Puede utilizar la funcin DateAdd para sumar un intervalo de tiempo especificado a una fecha o restrselo. Por ejemplo, puede utilizar DateAdd para calcular una fecha de 30 das a partir de hoy o una hora de 45 minutos desde ahora. Para agregar das a fecha, puede utilizar el Da del Ao ("y"), Da ("d") o Da de la semana ("w"). La funcin DateAdd no devolver una fecha que no sea vlida. 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 ao bisiesto.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 91 de 264

Si la fecha calculada fuera anterior al ao 100, se producira un error. Si el nmero no es un valor Long, se redondea al nmero entero ms cercano antes de evaluarse. Requisitos Versin 2 Consulte tambin Funcin DateDiff | Funcin DatePart

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin DateDiff
Devuelve el nmero de intervalos entre dos fechas.
DateDiff(intervalo, fecha1, fecha2 [,primerdadelasemana[, primerasemanadelao]])

La sintaxis de la funcin DateDiff se compone de: Argumentos intervalo Necesario. Expresin de cadena que es el intervalo que desea utilizar para calcular las diferencias entre fecha1 y fecha2. Consulte la seccin Valores para ver los valores. fecha1, fecha2 Necesario. Expresiones de fecha. Dos fechas que desee utilizar en el clculo. primerdadelasemana Opcional. Constante que especifica el da de la semana. Si no se especifica, se asume el domingo. Consulte la seccin Valores para ver los valores. primerasemanadelao Opcional. Constante que especifica la primera semana del ao. Si no se especifica, la primera semana se asume que es la semana del 1 de enero. Consulte la seccin Valores para ver los valores. Valores El argumento intervalo puede tener los siguientes valores: Valor Descripcin

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 92 de 264

yyyy q m y d w ww h n s

Ao Trimestre Mes Da del ao Da Da de la semana Semana del ao Hora Minuto Segundo

El argumento primerdadelasemana puede tener los siguientes valores: Constante Valor Descripcin vbUseSystem 0 Usa valores de API de idioma nacional (NLS). vbSunday 1 domingo (valor predeterminado) vbMonday 2 lunes vbTuesday 3 martes vbWednesday 4 mircoles vbThursday 5 jueves vbFriday 6 viernes vbSaturday 7 sbado El argumento primerasemanadelao puede tener los siguientes valores: Constante vbUseSystem vbFirstJan1 vbFirstFourDays vbFirstFullWeek Observaciones Puede utilizar la funcin DateDiff para determinar cuntos intervalos de tiempo especificados existen entre dos fechas. por ejemplo, podra utilizar DateDiff para calcular el nmero de das entre dos fechas o el nmero de semanas entre hoy y el final del ao. Para calcular el nmero de das entre fecha1 y fecha2, puede utilizar Da del ao ("y") o Da ("d"). Cuando el intervalo es Da de la semana ("w"), DateDiff devuelve el nmero de semanas entre las dos fechas. Si fecha1 es un lunes, DateDiff cuenta el nmero de lunes hasta fecha2. Cuenta fecha2 pero no fecha1. Si intervalo es Semana ("ww"), sin embargo, la funcin DateDiff devuelve el nmero de semanas del calendario entre dos fechas. Cuenta el nmero 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 funcin DateDiff devuelve un nmero negativo. Valor 0 1 2 3 Descripcin 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 das en el nuevo ao. Comienza con la primera semana completa del nuevo ao.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 93 de 264

El argumento primerdadelasemana afecta a los clculos que utilizan los smbolos de intervalo "w" y "ww". Si fecha1 o fecha2 es un literal de fecha, el ao especificado se convierte en parte permanente de dicha fecha. Sin embargo, si fecha1 o fecha2 est entre comillas (" ") y se omite el ao, el ao actual se inserta en el cdigo cada vez que se evala la expresin fecha1 o fecha2. Esto hace que sea posible escribir el cdigo que se puede utilizar en aos diferentes. Cuando se compara el 31 de diciembre con el 1 de enero del ao inmediatamente siguiente, DateDiff para Ao ("yyyy") devuelve 1 incluso aunque slo haya pasado un da. El siguiente ejemplo utiliza la funcin DateDiff para mostrar el nmero de das entre una fecha dada y el da de hoy:
Function DiffADate(theDate) DiffADate = "Das a partir de hoy: " & DateDiff("d", Ahora, theDate) End Function

Requisitos Versin 2 Consulte tambin Funcin DateAdd | Funcin DatePart

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin DatePart
Devuelve la parte especificada de una fecha dada.
DatePart(intervalo, fecha[, primerdadelasemana[, primerasemanadelao]])

Argumentos intervalo Necesario. Expresin de cadena que es el intervalo de tiempo que desea devolver. Consulte la seccin Valores para ver los valores. fecha Necesario. Expresin de fecha que desea evaluar. primerdadelasemana

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 94 de 264

Opcional. Constante que especifica el da de la semana. Si no se especifica, se asume el domingo. Consulte la seccin Valores para ver los valores. primerasemanadelao Opcional. Constante que especifica la primera semana del ao. Si no se especifica, se asume que la primera semana es la del 1 de enero. Consulte la seccin Valores para ver los valores. Valores El argumento intervalo puede tener los siguientes valores: Valor Descripcin yyyy Ao q Trimestre m Mes y Da del ao d Da w Da de la semana ww Semana del ao h Hora n Minuto s Segundo El argumento primerdadelasemana puede tener los siguientes valores: Constante Valor Descripcin vbUseSystemDayOfWeek 0 Usa valores de API de idioma nacional (NLS). vbSunday 1 domingo (predeterminado) vbMonday 2 lunes vbTuesday 3 martes vbWednesday 4 mircoles vbThursday 5 jueves vbFriday 6 viernes vbSaturday 7 sbado El argumento primerasemanadelao puede tener los siguientes valores: Constante vbUseSystem vbFirstJan1 vbFirstFourDays vbFirstFullWeek Observaciones Puede utilizar la funcin DatePart para evaluar una fecha y devolver un intervalo de tiempo especfico. Por ejemplo, podra utilizar DatePart para calcular el da de la semana o la hora actual. Valor 0 1 2 3 Descripcin 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 das en el nuevo ao. Comienza con la primera semana completa del nuevo ao.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 95 de 264

El argumento primerdadelasemana afecta a los clculos que utilizan los smbolos de intervalo "w" y "ww". Si fecha es un literal de fecha, el ao especificado se convierte en una parte permanente de dicha fecha. Sin embargo, si fecha est entre comillas (" ") y omite el ao, se inserta el ao actual en su cdigo cada vez que se evale la expresin fecha. Esto hace que sea posible escribir cdigo que se pueda utilizar en aos diferentes. Este ejemplo toma una fecha y, utilizando la funcin DatePart, muestra el trimestre del ao al que pertenece.
Function GetQuarter(TheDate) GetQuarter = DatePart("q", TheDate) End Function

Requisitos Versin 2 Consulte tambin Funcin DateAdd | Funcin DateDiff

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin DateSerial
Devuelve un tipo Variant de subtipo Date para un ao, mes y da especificados.
DateSerial(ao, mes, da)

Argumentos ao Nmero entre 100 y 9999, inclusive, o una expresin numrica. mes Cualquier expresin numrica. da Cualquier expresin numrica. Observaciones

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 96 de 264

Para especificar una fecha, tal como 31 de diciembre de 1991, el intervalo numrico para cada argumento DateSerial debe estar dentro del intervalo aceptable para la unidad; es decir, 131 para das y 112 para meses. Sin embargo, tambin puede especificar fechas relativas para cada argumento mediante cualquier expresin numrica que represente algn nmero de das, meses o aos antes o despus de una fecha concreta. El siguiente ejemplo utiliza expresiones numricas en lugar de nmeros de fecha absolutos. Aqu la funcin DateSerial devuelve una fecha que es el da antes del primer da (1 1) de dos meses antes de agosto (8 2) de 10 aos 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 ao, los valores entre 0 y 99, inclusive, se interpretan como los aos 19001999. Para todos los otros argumentos ao, utilice un ao de cuatro dgitos 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 das, se evala como un mes y algunos das, segn el mes del ao 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 expresin, queda fuera del intervalo de fechas aceptable, se produce un error. Requisitos Versin 1 Consulte tambin Funcin Date | Funcin DateValue | Funcin Day | Funcin Month | Funcin Now | Funcin TimeSerial | Funcin TimeValue | Funcin Weekday | Funcin Year

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin DateValue
Devuelve un tipo Variant de subtipo Date.
DateValue(fecha)

El argumento fecha es normalmente una Expresin de cadena que representa una fecha comprendida entre el 1 de enero del ao 100 hasta el 31 de diciembre del ao 9999. Sin embargo, fecha tambin

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 97 de 264

puede ser cualquier expresin que pueda representar una fecha, una hora o ambas, dentro de dicho intervalo. Observaciones Si el argumento fecha incluye informacin de hora, DateValue no lo devuelve. Sin embargo, si fecha incluye informacin de hora que no sea vlida (tal como "89:98"), se produce un error. Si fecha es una cadena que incluye slo nmeros separados por separadores de fecha vlidos, DateValue reconoce el orden para el mes, da y ao segn el formato de fecha corto que haya especificado para su sistema. DateValue tambin reconoce fechas no ambiguas que contienen nombres de meses, en la forma larga o abreviada. Por ejemplo, adems de reconocer 12/30/1991 y 12/30/91, DateValue tambin reconoce 30 de diciembre de 1991 y 30 dic. 1991. Si se omite la parte del ao fecha, DateValue utiliza el ao actual desde la fecha del sistema de su equipo. El siguiente ejemplo utiliza la funcin DateValue para convertir una cadena en una fecha. Tambin 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 Versin 1 Consulte tambin Funcin CDate | Funcin DateSerial | Funcin Day | Funcin Month | Funcin Now | Funcin TimeSerial | Funcin TimeValue | Funcin Weekday | Funcin Year

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin Day
Devuelve un nmero entero entre 1 y 31, inclusive, que representa el da del mes.
Day(fecha)

El argumento fecha es cualquier expresin que pueda representar una fecha. Si fecha contiene Null, se

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 98 de 264

devuelve Null. El siguiente ejemplo utiliza la funcin Day para obtener el da del mes de una fecha especificada:
Dim MiDia MiDia = Day("19 de octubre de 1962") ' MiDia contiene 19.

Requisitos Versin 1 Consulte tambin Funcin Date | Funcin Hour | Funcin Minute | Funcin Month | Funcin Now | Funcin Second | Funcin Weekday | Funcin Year

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funciones matemticas derivadas


Las siguientes funciones matemticas no intrnsecas se pueden derivar de funciones matemticas intrnsecas: Funcin Secante Cosecante Cotangente Seno inverso Coseno inverso Secante inversa Cosecante inversa Cotangente inversa Seno hiperblico Coseno hiperblico Tangente hiperblica Secante hiperblica Cosecante hiperblica Cotangente hiperblica Seno hiperblico inverso Coseno hiperblico 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\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 99 de 264

Tangente hiperblica inversa Secante hiperblica inversa Cosecante hiperblica inversa Cotangente hiperblica inversa Logaritmo de base N Consulte tambin

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)

Funcin Atn | Funcin Cos | Funcin Exp | Funcin Log | Funcin Sin | Funcin Sqr | Funcin Tan

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin Eval
Evala una expresin y devuelve el resultado.
[resultado = ]Eval(expresin)

Argumentos resultado Opcional. Variable a la que se realiza una asignacin de valor de retorno. Si no se especifica el resultado, utilice en su lugar la instruccin Execute. expresin Necesario. Cadena que contiene cualquier expresin legal de VBScript. Observaciones En VBScript, x = y se pueden interpretar de dos formas. La primera es como una instruccin de asignacin, donde el valor de y se asigna a x. La segunda es como una expresin que comprueba si x y y tienen el mismo valor. Si es as, resultado es True; si no, resultado es False. El mtodo Eval siempre utiliza la segunda interpretacin, mientras que la instruccin Execute utiliza siempre la primera. Nota En Microsoft JScript, no existen confusin entre asignacin y comparacin, porque el operador de asignacin (=) es diferente del operador de comparacin (==). El siguiente ejemplo ilustra el uso de la funcin Eval:
Sub GuessANumber Dim Guess, RndNum RndNum = Int((100) * Rnd(1) + 1) Guess = CInt(InputBox("Escriba un nmero:",,0))

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 100 de 264

Do If Eval("Guess = RndNum") Then MsgBox "Enhorabuena! Lo adivin!" Exit Sub Else Guess = CInt(InputBox("Lo siento. Intntelo de nuevo.",,0)) End If Loop Until Guess = 0 End Sub

Requisitos Versin 5 Consulte tambin Instruccin Execute

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin Exp
Devuelve e (la base de logaritmos naturales) elevada a una potencia.
Exp(nmero)

El argumento nmero puede ser cualquier expresin numrica vlida. Observaciones Si el valor de nmero sobrepasa 709,782712893, se produce un error. La constante e tiene un valor aproximado de 2,718282. Nota La funcin Exp complementa la accin de la funcin Log y a veces se la denomina el antilogaritmo. El siguiente ejemplo utiliza la funcin Exp para devolver e elevado a una potencia:
Dim MiAngulo, MiHSin ' Define el ngulo en radianes. MiAngulo = 1.3 ' Calcula el seno hiperblico. MiHSin = (Exp(MiAngulo) - Exp(-1 * MiAngulo)) / 2

Requisitos

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 101 de 264

Versin 1 Consulte tambin Funciones matemticas derivadas | Funcin Log

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin 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 numrico que indica el tipo de comparacin de cadena que se va a utilizar. Consulte la seccin Valores para ver los valores. Valores El argumento Comparar puede tener los siguientes valores: Constante Valor Descripcin vbBinaryCompare 0 Realiza una comparacin binaria. vbTextCompare 1 Realiza una comparacin textual. Observaciones Si no se encuentran coincidencias de Valor dentro de Cadenasdeentrada, Filter devuelve una matriz vaca. Se produce un error si Cadenasdeentrada es Null o no es una matriz unidimensional.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 102 de 264

La matriz devuelta por la funcin Filter contiene slo elementos suficientes para contener el nmero de elementos coincidentes. El siguiente ejemplo utiliza la funcin Filter para devolver la matriz que contiene el criterio de bsqueda "Lu":
Dim MiIndice Dim MiMatriz (3) MiMatriz(0) = "domingo" MiMatriz(1) = "lunes" MiMatriz(2) = "martes" MiIndice = Filter(MiMatriz, "Mon") ' MiIndice(0) contiene "lunes".

Requisitos Versin 2 Consulte tambin Funcin Replace

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin FormatCurrency
Devuelve una expresin con formato de moneda con el smbolo de moneda definido en el panel de control del sistema.
FormatCurrency(Expresin[,NmDgitosDespusDeDecimal [,IncluirPrimerDgito [,UsarPar

Argumentos Expresin Necesario. Expresin a la que se va a dar formato. NmDgitosDespusDeDecimal Opcional. Valor numrico que indica cuntos lugares a la derecha del decimal se van a mostrar. El valor predeterminado es -1, que indica que se utiliza la configuracin regional del equipo. IncluirPrimerDgito Opcional. Constante para Tristate que indica si se muestra o no un cero delante en los valores fraccionales. Consulte la seccin Valores para ver los valores. UsarParenParaNmNegativo Opcional. Constante para Tristate que indica si se escriben o no los valores negativos entre parntesis. Consulte la seccin Valores para ver los valores.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 103 de 264

GrupoDgitos Opcional. Constante para Tristate que indica si se agrupan o no los nmeros con el delimitador de grupo especificado en la configuracin regional del equipo. Consulte la seccin Valores para ver los valores. Valores Los argumentos IncluirPrimerDgito, UsarParenParaNmNegativo y GrupoDgitos tienen los siguientes valores: Constante Valor Descripcin TristateTrue -1 True (verdadero) TristateFalse 0 False (falso) TristateUseDefault -2 Utiliza la configuracin regional del equipo. Observaciones Cuando se omiten uno o ms argumentos opcionales, la configuracin regional del equipo proporciona valores para los argumentos omitidos. La posicin del smbolo monetario relativo al valor de moneda se determina a partir de la configuracin regional del sistema. Nota Toda la informacin de configuracin procede de la ficha Moneda de Configuracin regional, excepto el cero inicial que procede de la ficha Nmero. El siguiente ejemplo utiliza la funcin FormatCurrency para dar a la expresin el formato de moneda y asignarla a MiCurrency:
Dim MiCurrency MiCurrency = FormatCurrency(1000) ' MiCurrency contiene 1000,00 $.

Requisitos Versin 2 Consulte tambin Funcin FormatDateTime | Funcin FormatNumber | Funcin FormatPercent

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin FormatDateTime
file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm 04/12/2012

VBScript

Pgina 104 de 264

Devuelve una expresin con formato de fecha o de hora.


FormatDateTime(Fecha[, Formato])

Argumentos Fecha Necesario. Expresin de fecha a la que se va a dar formato. Formato Opcional. Valor numrico 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 vbLongDate vbShortDate vbLongTime vbShortTime Observaciones El siguiente ejemplo utiliza la funcin FormatDateTime para dar a la expresin 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

Valor 0 1 2 3 4

Descripcin 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 estn presentes, se muestran ambas partes. Muestra una fecha con el formato de fecha largo especificado en la configuracin regional de su equipo. Muestra una fecha con el formato de fecha corto especificado en la configuracin regional de su equipo. Muestra una hora con el formato de hora especificado en la configuracin regional de su equipo. Muestra una hora con el formato de 24 horas (hh:mm).

Requisitos Versin 2 Consulte tambin Funcin FormatCurrency | Funcin FormatNumber | Funcin FormatPercent

2001 Microsoft Corporation. Reservados todos los derechos.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 105 de 264

Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin FormatNumber
Devuelve una expresin con formato de nmero.
FormatNumber(Expresin [,NmDgitosDespusDeDecimal [,IncluirPrimerDgito [,UsarPare

Argumentos Expresin Necesario. Expresin a la que se va a dar formato. NmDgitosDespusDeDecimal Opcional. Valor numrico que indica cuntos lugares a la derecha del decimal se van a mostrar. El valor predeterminado es -1, que indica que se utiliza la configuracin regional del equipo. IncluirPrimerDgito Opcional. Constante para Tristate que indica si se muestra o no un cero delante en los valores fraccionales. Consulte la seccin Valores para ver los valores. UsarParenParaNmNegativo Opcional. Constante Tristate que indica si se escriben o no los valores negativos entre parntesis. Consulte la seccin Valores para ver los valores. GrupoDgitos Opcional. Constante Tristate que indica si se agrupan o no nmeros con el delimitador de grupo especificado en el panel de control. Consulte la seccin Valores para ver los valores. Valores Los argumentos IncluirPrimerDgito, UsarParenParaNmNegativo y GrupoDgitos tienen los siguientes valores: Constante Valor Descripcin TristateTrue -1 True (verdadero) TristateFalse 0 False (falso) TristateUseDefault -2 Utiliza la configuracin regional del equipo. Observaciones Cuando se omiten uno o ms argumentos opcionales, la configuracin regional del equipo proporciona valores para los argumentos omitidos. Nota Toda la informacin de configuracin viene de la ficha Nmero de Configuracin regional. El siguiente ejemplo utiliza la funcin FormatNumber para dar formato a un nmero que tenga cuatro decimales:
Function EjemploDeFormatNumber

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 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 Versin 2 Consulte tambin Funcin FormatCurrency | Funcin FormatDateTime | Funcin FormatPercent

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin FormatPercent
Devuelve una expresin con formato de porcentaje (multiplicado por 100) con un carcter % a la derecha.
FormatPercent(Expresin[,NmDgitosDespusDeDecimal [,IncluirPrimerDgito [,UsarPare

La sintaxis de la funcin FormatPercent tiene las siguientes partes: Argumentos Expresin Necesario. Expresin a la que se va a dar formato. NmDgitosDespusDeDecimal Opcional. Valor numrico que indica cuntos lugares a la derecha del decimal se van a mostrar. El valor predeterminado es -1, que indica que se utiliza la configuracin regional del equipo. IncluirPrimerDgito Opcional. Constante para Tristate que indica si se muestra o no un cero delante en los valores fraccionales. Consulte la seccin Valores para ver los valores. UsarParenParaNmNegativo Opcional. Constante Tristate que indica si se escriben o no valores negativos entre parntesis. Consulte la seccin Valores para ver los valores. GrupoDgitos Opcional. Constante Tristate que indica si se agrupan o no nmeros con el delimitador de nmeros especificado en el panel de control. Consulte la seccin Valores para ver los valores. Valores

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 107 de 264

Los argumentos IncluirPrimerDgito, UsarParenParaNmNegativo y GrupoDgitos tienen los siguientes valores: Constante Valor Descripcin TristateTrue -1 True (verdadero) TristateFalse 0 False (falso) TristateUseDefault -2 Utiliza la configuracin regional del equipo. Observaciones Cuando se omiten uno o ms argumentos opcionales, la configuracin regional del equipo proporciona valores para los argumentos omitidos. Nota Toda la informacin de configuracin procede de la ficha Nmero de Configuracin regional. El siguiente ejemplo utiliza la funcin FormatPercent para dar a una expresin el formato de porcentaje:
Dim MiPorcentaje MiPorcentaje = FormatPercent(2/32) ' MiPorcentaje contiene 6.25%.

Requisitos Versin 2 Consulte tambin Funcin FormatCurrency | Funcin FormatDateTime | Funcin FormatNumber

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin GetLocale
Devuelve el valor del Id. de configuracin regional actual.
GetLocale()

Observaciones Una configuracin regional es un conjunto de informacin de preferencias del usuario que incluye su idioma, pas o regin y convenciones culturales. La configuracin regional determina cosas como la

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 108 de 264

apariencia del teclado, el orden de clasificacin alfabtica, as como los formatos de fecha, hora, nmero y moneda. El valor de retorno puede ser cualquiera de los valores de 32 bits mostrados en el cuadro de Id. de configuracin regional: El siguiente ejemplo ilustra el uso de la funcin GetLocale. Para utilizar este cdigo, pegue el ejemplo completo entre las etiquetas <BODY> de una pgina HTML estndar.
Escriba la fecha en formato para Reino Unido: <input type="text" id="UKDate" size="2 Aqu tiene la equivalencia para EE.UU.: <input type="text" id="USdate" size="20"><p> <input type="button" value="Convertir" id="button1"><p> Escriba un precio en marcos alemanes: &nbsp; <input type="text" id="GermanNumber" si <p> Aqu tiene la equivalencia en libras esterlinas: <input type="text" id="USNumber" si <input type="button" value="Convertir" id="button2"><p> <script language="vbscript"> Dim configRegionalactual ' Obtiene la configuracin regional actual configRegionalactual = GetLocale Sub Button1_onclick Dim original original = SetLocale("en-gb") miFecha = CDate(UKDate.value) ' IE establece siempre la configuracin regional como Ingls EE.UU., ' as pues, use la variable configRegionalactual para establecer la ' configuracin regional como Ingls 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 </script>

Consulte tambin Funcin SetLocale | Cuadro de Id. de configuracin regional (LCID)

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 109 de 264

Funcin GetObject
Devuelve una referencia a un objeto de automatizacin 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 nombreAplicacin.tipoObjeto y se compone de: Argumentos nombreAplicacin Requerido. Cadena. Nombre de la aplicacin que proporciona el objeto. tipoObjeto Requerido. Cadena. Tipo o clase de objeto que se va a crear. Observaciones Utilice la funcin GetObject para tener acceso a un objeto de automatizacin desde un archivo y asignar el objeto a una variable de objeto. Utilice la instruccin 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 cdigo, la aplicacin 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 ningn objeto del tipo especificado, se produce un error. Algunas aplicaciones le permiten activar parte de un archivo. Agregue un signo de exclamacin (!) al final del nombre de archivo, seguido de una cadena que identifique la parte del archivo que desea activar. Para informacin acerca de cmo crear esta cadena, consulte la documentacin de la aplicacin que ha creado el objeto. Por ejemplo, en una aplicacin de dibujo, quiz tenga muchas capas para dibujos almacenados en un archivo. Podra utilizar la siguiente porcin de cdigo 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\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 110 de 264

Si no especifica la clase del objeto, la Automatizacin determina que se inicie la aplicacin y que se active el objeto, segn el nombre de archivo que proporcione. Sin embargo, algunos archivos pueden admitir ms de una clase de objeto. Por ejemplo, un dibujo podra admitir tres tipos de objeto diferentes: un objeto de aplicacin, 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 aplicacin 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 cdigo mediante la variable de objeto que haya definido. En el ejemplo anterior, tiene acceso a propiedades y mtodos 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 funcin 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 funcin CreateObject. Si se ha registrado un objeto como objeto de instancia simple, slo se crea una instancia del objeto, sin importar cuntas 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 Versin 5 Consulte tambin Funcin CreateObject

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin 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\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 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 funcin. procedimiento Requerido. Cadena que contiene el nombre del procedimiento Sub o Function que se asocia con el evento. Observaciones La funcin GetRef le permite conectar un procedimiento de VBScript (Function o Sub) a cualquier evento de variable en sus pginas DHTML (HTML Dinmico). El modelo de objeto DHTML proporciona informacin acerca de los eventos que estn disponibles para los diversos objetos. En otros lenguajes de ejecucin de secuencias de comandos y de programacin, se hace referencia a la funcionalidad proporcionada por GetRef como un indicador de funcin, es decir, seala a la direccin de un procedimiento que se va a ejecutar cuando tiene lugar el evento especificado. El siguiente ejemplo ilustra el uso de la funcin GetRef.
<SCRIPT LANGUAGE="VBScript"> Function PruebaGetRef() Dim Splash Splash = "PruebaGetRef Versin 1.0" & vbCrLf Splash = Splash & Chr(169) & " Su Compaa 1999 " MsgBox Splash End Function Set Window.Onload = GetRef("PruebaGetRef") </SCRIPT>

Requisitos Versin 5 Consulte tambin Instruccin Function | Instruccin Set | Instruccin Sub

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 112 de 264

Funcin Hex
Devuelve una cadena que representa el valor hexadecimal de un nmero.
Hex(nmero)

El argumento nmero es cualquier expresin vlida. Observaciones Si nmero no es ya un nmero entero, se redondea hasta el nmero entero ms prximo antes de evaluarse. Si nmero es Hex devuelve Null Null. Empty Zero (0). Cualquier otro nmero Hasta ocho caracteres hexadecimales. Puede representar nmeros hexadecimales directamente si precede los nmeros del intervalo apropiado con &H. Por ejemplo, &H10 representa el valor decimal 16 en la notacin hexadecimal. El siguiente ejemplo utiliza la funcin Hex para devolver el valor hexadecimal de un nmero:
Dim MiHex MiHex = Hex(5) MiHex = Hex(10) MiHex = Hex(459) ' Devuelve 5. ' Devuelve A. ' Devuelve 1CB.

Requisitos Versin 1 Consulte tambin Funcin Oct

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin Hour
Devuelve un nmero entero entre 0 y 23, inclusive, que representa la hora del da.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 113 de 264

Hour(hora)

El argumento hora es cualquier expresin que pueda representar una hora. Si hora contiene Null, se devuelve Null. El siguiente ejemplo utiliza la funcin Hour para obtener la hora actual:
Dim MyTime, MyHour MyTime = Now MyHour = Hour(MyTime) ' contiene el nmero que representa ' la hora actual.

Requisitos Versin 1 Consulte tambin Funcin Day | Funcin Minute | Funcin Now | Funcin Second | Funcin Time

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin InputBox
Muestra una pregunta en un cuadro de dilogo, espera a que el usuario escriba texto o haga clic en un botn y devuelve el contenido del cuadro de texto.
InputBox(solicitud[, ttulo][, predeterminado][, xpos][, ypos][, archivoayuda, conte

Argumentos solicitud Expresin de cadena mostrada como el mensaje en el cuadro de dilogo. La longitud mxima de solicitud es aproximadamente 1024 caracteres, segn el ancho de los caracteres utilizados. Si solicitud est formado por ms de una lnea, puede separar las lneas con un carcter de retorno de carro (Chr(13)), un carcter de nueva lnea (Chr(10)) o una combinacin de retorno de carro nueva lnea (Chr(13) & Chr(10)) entre cada lnea. ttulo Expresin de cadena mostrada en la barra de ttulo del cuadro de dilogo. Si omite ttulo, el nombre de la aplicacin se ubica en la barra de ttulo. predeterminado Expresin de cadena mostrada en el cuadro de dilogo como respuesta predeterminada si no se proporciona ninguna otra entrada. Si omite predeterminado, el cuadro de texto se muestra vaco.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 114 de 264

xpos Expresin numrica que especifica, en twips, la distancia horizontal del borde izquierdo del cuadro de dilogo desde el borde izquierdo de la pantalla. Si se omite xpos, el cuadro de dilogo se centra horizontalmente. ypos Expresin numrica que especifica, en twips, la distancia vertical del borde superior del cuadro de dilogo desde la parte superior de la pantalla. Si se omite ypos, el cuadro de dilogo se ubica verticalmente aproximadamente a un tercio de la parte inferior de la pantalla. archivoayuda Expresin de cadena que identifica el archivo de Ayuda que se va a utilizar para proporcionar Ayuda interactiva para el cuadro de dilogo. Si se proporciona archivoayuda, tambin se debe proporcionar contexto. contexto Expresin numrica que identifica el nmero 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 tambin. Observaciones Cuando se proporcionan archivoayuda y contexto, se agrega un botn de Ayuda automticamente al cuadro de dilogo. Si el usuario hace clic en Aceptar o presiona Entrar, la funcin InputBox devuelve lo que est en el cuadro de texto. Si el usuario hace clic en Cancelar, la funcin devuelve una cadena de longitud cero (""). El siguiente ejemplo utiliza la funcin 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 Versin 1 Consulte tambin Funcin MsgBox

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 115 de 264

Funcin InStr
Devuelve la posicin de la primera aparicin de una cadena dentro de otra.
InStr([inicio, ]cadena1, cadena2[, comparar])

Argumentos inicio Opcional. Expresin numrica que establece la posicin de inicio para cada bsqueda. Si se omite, la bsqueda comienza en la primera posicin del carcter. Si inicio contiene Null, se produce un error. El argumento inicio es necesario si se especifica comparar. cadena1 Requerido. Expresin de cadena que se busca. cadena2 Requerido. Expresin de cadena que se busca. comparar Opcional. Valor numrico que indica el tipo de comparacin que se utilizar cuando se evalen subcadenas. Consulte la seccin Valores para ver los valores. Si se omite, se realiza una comparacin binaria. Valores El argumento comparar puede tener los siguientes valores: Constante Valor Descripcin vbBinaryCompare 0 Realiza una comparacin binaria. vbTextCompare 1 Realiza una comparacin textual. Valores de retorno La funcin 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) Observaciones Los siguientes ejemplos utilizan InStr para buscar una cadena:
Dim SearchString, SearchChar, MiPos SearchString ="XXpXXpXXPXXP" ' Cadena en la que buscar.

InStr devuelve 0 Null inicio Null 0 Posicin en la que se encuentra la coincidencia 0

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 116 de 264

SearchChar = "P" ' Se busca "P". MiPos = Instr(4, SearchString, SearchChar, 1) ' Una comparacin textual ' que comienza en la posicin 4. Devuelve 6. MiPos = Instr(1, SearchString, SearchChar, 0) ' Una comparacin binaria ' que comienza en la posicin 1. Devuelve 9. MiPos = Instr(SearchString, SearchChar) ' La comparacin es binaria ' (se omite el ltimo argumento). ' Devuelve 9. MiPos = Instr(1, SearchString, "W") ' Una comparacin binaria ' comienza en la posicin 1. ' Devuelve 0 ("W" no se encuentra).

Nota La funcin InStrB se utiliza con datos de tipo byte contenidos en una cadena. En lugar de devolver la posicin del carcter de la primera aparicin de una cadena dentro de otra, InStrB devuelve la posicin de byte. Requisitos Versin 1 Consulte tambin Funcin InStrRev

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin InStrRev
Devuelve la posicin de una ocurrencia de una cadena dentro de otra, desde el final de la cadena.
InStrRev(cadena1, cadena2[, inicio[, comparar]])

Argumentos cadena1 Requerido. Expresin de cadena que se busca. cadena2 Requerido. Expresin de cadena que se busca. inicio Opcional. Expresin numrica que establece la posicin de inicio para cada bsqueda. Si se omite, se utiliza -1, que significa que la bsqueda comienza en la posicin del ltimo carcter. Si inicio contiene Null, se produce un error. comparar Opcional. Valor numrico que indica el tipo de comparacin que se va a usar cuando se evalen

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 117 de 264

subcadenas. Si se omite, se realiza una comparacin binaria. Consulte la seccin Valores para ver los valores. Valores El argumento comparar puede tener los siguientes valores: Constante Valor Descripcin vbBinaryCompare 0 Realiza una comparacin binaria. vbTextCompare 1 Realiza una comparacin 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) Observaciones Los siguientes ejemplos utilizan la funcin 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 comparacin ' binaria que comienza en la ' posicin 10. Devuelve 9. MiPos = InstrRev(SearchString, SearchChar, -1, 1) ' Una comparacin ' textual que comienza en ' la ltima posicin. Devuelve 12. MiPos = InstrRev(SearchString, SearchChar, 8) ' La comparacin es ' binaria de forma predeterminada (se ' omite el ltimo argumento). Devuelve 0.

InStrRev devuelve 0 Null inicio Null 0 Posicin en la que se encuentra la coincidencia 0

Nota La sintaxis de la funcin InStrRev no es la misma que la sintaxis de la funcin InStr. Requisitos Versin 2 Consulte tambin

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 118 de 264

Funcin InStr

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funciones Int y Fix


Devuelve la parte entera de un nmero.
Int(nmero) Fix(nmero)

El argumento nmero puede ser cualquier expresin numrica vlida. Si nmero contiene Null, se devuelve Null. Observaciones Int y Fix eliminan la parte fraccional de nmero y devuelven el valor de nmero entero resultante. La diferencia entre Int y Fix es que si nmero es negativo, Int devuelve el primer nmero entero negativo menor o igual que nmero, mientras que Fix devuelve el primer nmero entero negativo mayor o igual que nmero. Por ejemplo, Int convierte -8,4 en -9 y Fix convierte -8,4 en -8. Fix(nmero) es equivalente a:
Sgn(nmero) * Int(Abs(nmero))

Los siguientes ejemplos ilustran la forma en que las funciones Int y Fix devuelven partes enteras de nmeros:
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 Versin 1 Consulte tambin Funcin CInt | Funcin Round

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 119 de 264

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin 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 funcin 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 Versin 1 Consulte tambin Funcin IsDate | Funcin IsEmpty | Funcin IsNull | Funcin IsNumeric | Funcin IsObject | Funcin VarType

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 120 de 264

Funcin IsDate
Devuelve un valor de tipo booleano que indica si una expresin se puede convertir en una fecha.
IsDate(expresin)

El argumento expresin puede ser cualquier expresin de fecha o expresin de cadena reconocible como una fecha o una hora. Observaciones IsDate devuelve True si la expresin es una fecha o se puede convertir en una fecha vlida; si no, devuelve False. En Microsoft Windows, el intervalo de fechas vlidas est comprendido entre el 1 de enero de ao 100 d.C. y el 31 de diciembre de 9999 d.C.; los intervalos varan de un sistema operativo a otro. El ejemplo siguiente utiliza la funcin IsDate para determinar si una expresin 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 Versin 1 Consulte tambin Funcin CDate | Funcin IsArray | Funcin IsEmpty | Funcin IsNull | Funcin IsNumeric | Funcin IsObject | Funcin VarType

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin IsEmpty
Devuelve un valor de tipo booleano que indica si se ha inicializado una variable.
IsEmpty(expresin)

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 121 de 264

El argumento expresin puede ser cualquier expresin. Sin embargo dado que IsEmpty se utiliza para determinar si se inicializan las variables individuales, el argumento expresin es muy a menudo un nombre de variable simple. Observaciones IsEmpty devuelve True si la variable no est inicializada, o est explcitamente establecida como Empty; si no, devuelve False. False se devuelve siempre si expresin contiene ms de una variable. El siguiente ejemplo utiliza la funcin 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 Versin 1 Consulte tambin Funcin IsArray | Funcin IsDate | Funcin IsNull | Funcin IsNumeric | Funcin IsObject | Funcin VarType

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin IsNull
Devuelve un valor de tipo booleano que indica si una expresin contiene datos no vlidos (Null).
IsNull(expresin)

El argumento expresin puede ser cualquier expresin. Observaciones IsNull devuelve True si expresin es Null, es decir, contiene datos no vlidos; si no, IsNull devuelve False. Si expresin contiene ms de una variable, Null en cualquier variable de constituyente hace que se devuelva True para toda la expresin.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 122 de 264

El valor Null indica que la variable contiene datos no vlidos. Null no es lo mismo que Empty, que indica que una variable no se ha inicializada an. Tampoco es lo mismo que una cadena de longitud cero (""), a la que a veces se hace referencia como una cadena de tipo null. Atencin Utilice la funcin IsNull para determinar si una expresin contiene un valor Null. Las expresiones que podra 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 expresin que contiene Null es en s misma Null y, por tanto, False. El siguiente ejemplo utiliza la funcin 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 Versin 1 Consulte tambin Funcin IsArray | Funcin IsDate | Funcin IsEmpty | Funcin IsNumeric | Funcin IsObject | Funcin VarType

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin IsNumeric
Devuelve un valor de tipo booleano que indica si se puede evaluar una expresin como un nmero.
IsNumeric(expresin)

El argumento expresin puede ser cualquier expresin. Observaciones IsNumeric devuelve True si toda la expresin se reconoce como un nmero; si no, devuelve False. IsNumeric devuelve False si expresin es una expresin de fecha. El siguiente ejemplo utiliza la funcin IsNumeric para determinar si una variable se puede evaluar

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 123 de 264

como un nmero:
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 Versin 1 Consulte tambin Funcin IsArray | Funcin IsDate | Funcin IsEmpty | Funcin IsNull | Funcin IsObject | Funcin VarType

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin IsObject
Devuelve un valor de tipo booleano que indica si una expresin hace referencia a un objeto de automatizacin vlido.
IsObject(expresin)

El argumento expresin puede ser cualquier expresin. Observaciones IsObject devuelve True si expresin es una variable del subtipo Object o un objeto definido por el usuario; si no, devuelve False. El siguiente ejemplo utiliza la funcin 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\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 124 de 264

Requisitos Versin 1 Consulte tambin Funcin IsArray | Funcin IsDate | Funcin IsEmpty | Funcin IsNull | Funcin IsNumeric | Funcin Set | Funcin VarType

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin Join
Devuelve una cadena creada al combinar un nmero de subcadenas contenidas en una matriz.
Join(lista[, delimitador])

Argumentos lista Requerido. Matriz unidimensional que contiene subcadenas que se van a combinar. delimitador Opcional. Carcter de cadena utilizado para separar las subcadenas en la cadena de retorno. Si se omite, se utiliza el carcter de espacio (" "). Si delimitador es una cadena de longitud cero, todos los elementos de la lista estn concatenados sin ningn delimitador. Observaciones El siguiente ejemplo utiliza la funcin Join para combinar las subcadenas de MiMatriz:
Dim MiCadena Dim MiMatriz(3) MiMatriz(0) = "Sr." MiMatriz(1) = "Juan " MiMatriz(2) = "Prez " MiMatriz(3) = "Rodrguez" MiCadena = Join(MiMatriz) ' MiCadena contiene "Sr. Juan Prez Rodrguez".

Requisitos Versin 2 Consulte tambin

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 125 de 264

Funcin Split

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin LBound
Devuelve el ndice menor disponible para la dimensin indicada de una matriz.
LBound(matriz[, dimensin])

Argumentos matriz Nombre de la variable de matriz. Sigue las convenciones de nomenclatura estndar de las variables. dimensin Nmero entero que indica qu enlace menor de la dimensin se devuelve. Utilice 1 para la primera dimensin, 2 para la segunda y as sucesivamente. Si se omite dimensin, se supone 1. Observaciones La funcin LBound se utiliza con la funcin UBound para determinar el tamao de una matriz. Utilice la funcin UBound para buscar el lmite superior de la dimensin de una matriz. El enlace menor para cualquier dimensin es siempre 0. Requisitos Versin 1 Consulte tambin Instruccin Dim | Instruccin ReDim | Funcin UBound

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 126 de 264

Funcin LCase
Devuelve una cadena que se ha convertido en minsculas.
LCase(cadena)

El argumento cadena es cualquier expresin de cadena vlida. Si cadena contiene Null, se devuelve Null. Observaciones Slo las letras maysculas se convierten en minsculas; todas las letras minsculas y los caracteres que no son de letra permanecen sin cambio. El siguiente ejemplo utiliza la funcin LCase para convertir letras que estn en maysculas en minsculas:
Dim MiCadena Dim LCaseString MiCadena = "VBSCript" LCaseString = LCase(MiCadena)

' LCaseString contiene "vbscript".

Requisitos Versin 1 Consulte tambin Funcin UCase

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin Left
Devuelve un nmero de caracteres especificados desde la parte izquierda de una cadena.
Left(cadena, longitud)

Argumentos cadena

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 127 de 264

Expresin de cadena de la que se devuelven los caracteres que estn ms a la izquierda. Si cadena contiene Null, se devuelve Null. longitud Expresin numrica que indica cuntos caracteres se van a devolver. Si es 0, se devuelve una cadena de longitud cero (""). Si es mayor o igual que el nmero de caracteres en cadena, se devuelve toda la cadena. Observaciones Para determinar el nmero de caracteres en cadena, utilice la funcin Len. El siguiente ejemplo utiliza la funcin Left para devolver los tres primeros caracteres de MiCadena:
Dim MiCadena, LeftString MiCadena = "VBSCript" LeftString = Left(MiCadena, 3) ' LeftString contiene "VBS".

Nota La funcin LeftB se utiliza con datos de tipo byte contenidos en una cadena. En lugar de especificar el nmero de caracteres que se van a devolver, longitud especifica el nmero de bytes. Requisitos Versin 1 Consulte tambin Funcin Len | Funcin Mid | Funcin Right

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin Len
Devuelve el nmero de caracteres de una cadena o el nmero de bytes necesarios para almacenar una variable.
Len(cadena | variable)

Argumentos cadena Cualquier expresin de cadena vlida. Si cadena contiene Null, se devuelve Null.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 128 de 264

variable Cualquier nombre de variable vlido. Si variable contiene Null, se devuelve Null. Observaciones El siguiente ejemplo utiliza la funcin Len para devolver el nmero de caracteres de una cadena:
Dim MiCadena MiCadena = Len("VBSCRIPT") ' MiCadena contiene 8.

Nota La funcin LenB se utiliza con datos de tipo byte contenidos en una cadena. En lugar de devolver el nmero de caracteres de una cadena, LenB devuelve el nmero de bytes utilizados para representar dicha cadena. Requisitos Versin 1 Consulte tambin Funcin InStr

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin LoadPicture
Devuelve un objeto de imagen. Disponible slo en plataformas de 32 bits.
LoadPicture(imagen)

El argumento imagen es una expresin de cadena que indica el nombre del archivo de imagen que se va a cargar. Observaciones Los formatos de grficos reconocidos por LoadPicture incluyen archivos de mapa de bits (.bmp), archivos de icono (.ico), archivos de codificacin por longitud de lnea (.rle), metarchivos (.wmf), metarchivo mejorado (.emf), archivos GIF (.gif) y archivos JPEG (.jpg). Requisitos Versin 2

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 129 de 264

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin Log
Devuelve el logaritmo natural de un nmero.
Log(nmero)

El argumento nmero puede ser cualquier expresin numrica vlida 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 nmero 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 Funcin personalizada que calcula logaritmos de base 10:
Function Log10(X) Log10 = Log(X) / Log(10) End Function

Requisitos Versin 1 Consulte tambin Funciones matemticas derivadas | Funcin Exp

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 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 expresin de cadena vlida. 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 Versin 1 Consulte tambin Funcin Left | Funcin Right

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funciones matemticas
Funcin Abs Funcin Atn Funcin Cos Funcin Exp

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 131 de 264

Funcin Fix Funcin Int Funcin Log Funcin Rnd Funcin Sgn Funcin Sin Funcin Sqr Funcin Tan Funciones matemticas derivadas

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin Mid
Devuelve un nmero de caracteres especificado de una cadena.
Mid(cadena, inicio[, longitud])

Argumentos cadena Expresin de cadena de la que se devuelven caracteres. Si cadena contiene Null, se devuelve Null. inicio Posicin del carcter en cadena en la que comienza la parte que se va a tomar. Si inicio es mayor que el nmero de caracteres en cadena, Mid devuelve una cadena de longitud cero (""). longitud Nmero de caracteres que se va a devolver. Si se omite o si existen menos caracteres del nmero especificado por longitud en el texto (incluido el carcter en inicio), se devuelven todos los caracteres desde la posicin de inicio hasta el final de la cadena. Observaciones Para determinar el nmero de caracteres en cadena, utilice la funcin Len.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 132 de 264

El siguiente ejemplo utiliza la funcin Mid para devolver seis caracteres, a partir del cuarto carcter, de una cadena:
Dim MiVar MiVar = Mid("Qu divertido es VB Script!", 6, 9) ' MiVar contiene "divertido".

Nota La funcin MidB se utiliza con datos de tipo byte contenidos en una cadena. En lugar de especificar el nmero de caracteres, los argumentos especifican el nmero de bytes. Requisitos Versin 1 Consulte tambin Funcin Left | Funcin Len | Funciones LTrim, RTrim, y Trim | Funcin Right

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin Minute
Devuelve un nmero entero entre 0 y 59, inclusive, que representa el minuto de la hora.
Minute(hora)

El argumento hora es cualquier expresin que pueda representar una hora. Si hora contiene Null, se devuelve Null. Observaciones El siguiente ejemplo utiliza la funcin Minute para devolver el minuto de la hora:
Dim MiVar MiVar = Minute(Now)

Requisitos Versin 1 Consulte tambin Funcin Day | Funcin Hour | Funcin Now | Funcin Second | Funcin Time

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 133 de 264

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin Month
Devuelve un nmero entero entre 1 y 12, inclusive, que representa el mes del ao.
Month(fecha)

El argumento fecha es cualquier expresin que pueda representar una fecha. Si fecha contiene Null, se devuelve Null. Observaciones El siguiente ejemplo utiliza la funcin Month para devolver el mes actual:
Dim MiVar MiVar = Month(Now) ' MiVar contiene el nmero que corresponde ' al mes actual.

Requisitos Versin 1 Consulte tambin Funcin Date | Funcin Day | Funcin Now | Funcin Weekday | Funcin Year

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin MonthName
Devuelve una cadena que indica el mes especificado.
MonthName(mes[, abreviatura])

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 134 de 264

Argumentos mes Requerido. La designacin numrica 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 funcin MonthName para devolver un nombre de mes abreviado para una expresin de fecha:
Dim MiVar MiVar = MonthName(10, True) ' MiVar contiene "Oct".

Requisitos Versin 2 Consulte tambin Funcin WeekdayName

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin MsgBox
Muestra un mensaje en un cuadro de dilogo, espera a que el usuario haga clic en un botn y devuelve un valor que indica el botn en el que se hizo clic.
MsgBox(solicitud[, botones] [, ttulo] [, archivoayuda, contexto])

Argumentos solicitud Expresin de cadena mostrada como el mensaje en el cuadro de dilogo. La longitud mxima de solicitud es de aproximadamente 1024 caracteres, segn el ancho de los caracteres utilizados. Si prompt est formado por ms de una lnea, puede separar las lneas con un carcter de retorno de carro (Chr(13)), un carcter de nueva lnea (Chr(10)) o la combinacin de carcter de retorno de carronueva lnea (Chr(13) & Chr(10)) entre cada lnea.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 135 de 264

botones Expresin numrica que es la suma de valores que especifican el nmero y tipo de botones que se van a mostrar, el estilo de icono que se va a utilizar, la identidad del botn predeterminado y la modalidad del cuadro de mensaje. Consulte la seccin Valores para ver los valores. Si se omite, el valor predeterminado para botones es 0. ttulo Expresin de cadena mostrada en la barra de ttulo del cuadro de dilogo. Si omite ttulo, el nombre de la aplicacin se sita en la barra de ttulo. archivoayuda Expresin de cadena que identifica el archivo de Ayuda que se va a utilizar para proporcionar Ayuda interactiva para el cuadro de dilogo. Si se proporciona archivoayuda, tambin se debe proporcionar contexto. No est disponible en plataformas de 16 bits. contexto Expresin numrica que identifica el nmero de contexto de Ayuda asignado por el autor de la Ayuda para el tema de Ayuda apropiado. Si se proporciona contexto, tambin 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 vbSystemModal Valor 0 1 2 3 4 5 16 32 48 64 0 256 512 768 0 4096 Descripcin Muestra slo el botn 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 crtico. Muestra el icono Consulta de advertencia. Muestra el icono Mensaje de advertencia. Muestra el icono Mensaje de informacin. El primer botn es el predeterminado. El segundo botn es el predeterminado. El tercer botn es el predeterminado. El cuarto botn es el predeterminado. Cuadro de dilogo modal de la aplicacin. El usuario debe responder al cuadro de dilogo antes de continuar trabajando en la aplicacin actual. Cuadro de dilogo modal del sistema. Se suspenden todas las aplicaciones hasta que el usuario responda al cuadro de mensaje.

El primer grupo de valores (05) describe el nmero y tipo de botones mostrados en el cuadro de dilogo; el segundo grupo (16, 32, 48, 64) describe el estilo de icono; el tercer grupo (0, 256, 512, 768) determina qu botn es el predeterminado y el cuarto grupo (0, 4096) determina la modalidad del cuadro de mensaje. Cuando agregue nmeros para crear un valor final para el argumento botones, utilice slo un nmero para cada grupo. Valores de retorno

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 136 de 264

La funcin 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 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 dilogo muestra un botn Cancelar, presionar la tecla ESC tiene el mismo efecto que hacer clic en Cancelar. Si el cuadro de dilogo contiene un botn Ayuda, se proporciona Ayuda interactiva para el cuadro de dilogo. Sin embargo, no se devuelve ningn valor hasta que se haga clic en uno de los otros botones. Cuando la funcin MsgBox se utiliza con Microsoft Internet Explorer, el ttulo de cualquier dilogo presentado siempre contiene "VBScript:" para diferenciarlo de los cuadros de dilogo estndar del sistema. El siguiente ejemplo utiliza la funcin MsgBox para mostrar un cuadro de mensaje y devolver un valor que describe el botn en el que se hizo clic:
Dim MiVar MiVar = MsgBox ("Hola a todos.", 65, "Ejemplo de MsgBox") ' MiVar contiene 1 2, segn el botn en que se hizo clic.

Botn

Requisitos Versin 1 Consulte tambin Funcin InputBox

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 137 de 264

Funcin Now
Devuelve la fecha y hora actuales segn la configuracin de fecha y hora del sistema de su equipo.
Now

Observaciones El siguiente ejemplo utiliza la funcin Now para devolver la fecha y hora actuales:
Dim MiVar MiVar = Now ' MiVar contiene la fecha y hora actuales.

Requisitos Versin 1 Consulte tambin Funcin Date | Funcin Day | Funcin Hour | Funcin Minute | Funcin Month | Funcin Second | Funcin Time | Funcin Weekday | Funcin Year

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin Oct
Devuelve una cadena que representa el valor octal de un nmero.
Oct(nmero)

El argumento nmero es cualquier expresin vlida. Observaciones Si nmero no es ya un nmero entero, se redondea al nmero entero ms cercano antes de evaluarse. Si nmero es devuelve Oct Null Null. Empty Zero (0). Cualquier otro nmero Hasta 11 caracteres octales,

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 138 de 264

Puede representar nmeros octales directamente si precede los nmeros del intervalo apropiado con &O. Por ejemplo, &O10 es la notacin octal para el valor decimal 8. El siguiente ejemplo utiliza la funcin Oct para devolver el valor octal de un nmero:
Dim MiOct MiOct = Oct(4) MiOct = Oct(8) MiOct = Oct(459) ' Devuelve 4. ' Devuelve 10. ' Devuelve 713.

Requisitos Versin 1 Consulte tambin Funcin Hex

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin Replace
Devuelve una cadena en la que una subcadena se ha sustituido por otra subcadena un nmero de veces especificado.
Replace(expresin, buscar, reemplazarCon[, inicio[, nmero[, comparar]]])

Argumentos expresin Requerido. Expresin de cadena que contiene la subcadena que se va a reemplazar. buscar Requerido. Subcadena que se busca. reemplazarCon Requerido. Subcadena de reemplazo. inicio Opcional. Posicin dentro de expresin donde va a comenzar la subcadena de bsqueda. Si se omite, se supone 1. Se debe utilizar junto con nmero. nmero Opcional. Nmero 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\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 139 de 264

Opcional. Valor numrico que indica el tipo de comparacin que se va a utilizar cuando se evalen subcadenas. Consulte la seccin Valores para ver los valores. Si se omite, el valor predeterminado es 0, que significa realizar una comparacin binaria. Valores El argumento comparar puede tener los siguientes valores: Constante Valor Descripcin vbBinaryCompare 0 Realiza una comparacin binaria. vbTextCompare 1 Realiza una comparacin textual. Valores de retorno Replace devuelve los siguientes valores: Si expresin es de longitud cero expresin es Null buscar es de longitud cero reemplazarcon es de longitud cero inicio > Len(expresin) nmero es 0 Observaciones El valor de retorno de la funcin Replace es una cadena, con sustituciones realizadas, que comienza en la posicin especificada por inicio y termina al final de la cadena expresin. No es una copia de la cadena original de principio a fin. El siguiente ejemplo utiliza la funcin Replace para devolver una cadena:
Dim MiCadena MiCadena = Replace("XXpXXPXXp", "p", "Y") MiCadena = Replace("XXpXXPXXp", "p", "Y", ' Una comparacin binaria que comienza e ' Una comparacin textual que comienza e

Replace devuelve Cadena de longitud cero (""). Un error. Copia de expresin. Copia de expresin con todas las apariciones de buscar eliminadas. Cadena de longitud cero. Copia de expresin.

Requisitos Versin 2 Consulte tambin Funcin Filter

2001 Microsoft Corporation. Reservados todos los derechos.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 140 de 264

Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin RGB
Devuelve un nmero entero que representa un valor de color RGB.
RGB(rojo, verde, azul)

Argumentos rojo Requerido. Nmero en el intervalo 0-255 que representa el componente rojo del color. verde Requerido. Nmero en el intervalo 0-255 que representa el componente verde del color. azul Requerido. Nmero en el intervalo 0-255 que representa el componente azul del color. Observaciones Los mtodos y propiedades de aplicacin que aceptan una especificacin de color esperan que dicha especificacin sea un nmero 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 especfico. 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 funcin proporcionar la misma informacin 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 Versin 2

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 141 de 264

Funcin Right
Devuelve un nmero de caracteres especificados desde la parte derecha de una cadena.
Right(cadena, longitud)

Argumentos cadena Expresin de cadena de la que se devuelven los caracteres que estn ms a la derecha. Si cadena contiene Null, se devuelve Null. longitud Expresin numrica que indica cuntos caracteres se van a devolver. Si es 0, se devuelve una cadena de longitud cero. Si es mayor o igual que el nmero de caracteres en cadena, se devuelve toda la cadena. Observaciones Para determinar el nmero de caracteres en cadena, utilice la funcin Len. El siguiente ejemplo utiliza la funcin Right para devolver un nmero 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 funcin RightB se utiliza con datos de tipo byte contenidos en una cadena. En lugar de especificar el nmero de caracteres que se van a devolver, longitud especifica el nmero de bytes. Requisitos Versin 1 Consulte tambin Funcin Left | Funcin Len | Funcin Mid

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 142 de 264

Funcin Rnd
Devuelve un nmero aleatorio.
Rnd[(nmero)]

El argumento nmero puede ser cualquier expresin numrica vlida. Observaciones La funcin Rnd devuelve un valor menor que 1 pero mayor o igual que 0. El valor de nmero determina cmo Rnd genera un nmero aleatorio: Si nmero es Menor que cero Mayor que cero Igual que cero No proporcionado Rnd genera El mismo nmero siempre, utilizando nmero como inicializacin. El siguiente nmero aleatorio de la secuencia. El nmero generado ms recientemente. El siguiente nmero aleatorio de la secuencia.

Para cualquier inicializacin dada, se genera la misma secuencia de nmeros ya que cada llamada sucesiva a la funcin Rnd utiliza el nmero anterior como inicializacin para el siguiente nmero de la secuencia. Antes de llamar a Rnd, utilice la instruccin Randomize sin argumento para inicializar el generador de nmeros aleatorios con una inicializacin basada en el temporizador del sistema. Para producir nmeros enteros aleatorios dentro de un intervalo dado, utilice esta frmula:
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)

Aqu, upperbound es el nmero mayor del intervalo y lowerbound es el nmero menor. Nota Para repetir secuencias de nmeros aleatorios, llame a Rnd con un argumento negativo inmediatamente antes de utilizar Randomize con un argumento numrico. Si utiliza Randomize con el mismo valor que para nmero no se repetir la secuencia anterior. Requisitos Versin 1 Consulte tambin Instruccin Randomize

2001 Microsoft Corporation. Reservados todos los derechos.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 143 de 264

Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin Round
Devuelve un nmero redondeado a un nmero especificado de lugares decimales.
Round(expresin[, lugaresdecimales])

Argumentos expresin Requerido. Expresin numrica que se redondea. lugaresdecimales Opcional. Nmero que indica cuntos lugares a la derecha del decimal se incluyen en el redondeo. Si se omite, la funcin Round devuelve nmeros enteros. Observaciones El siguiente ejemplo utiliza la funcin Round para redondear un nmero a dos lugares decimales:
Dim MiVar, pi pi = 3,14159 MiVar = Round(pi, 2) ' MiVar contiene 3,14.

Requisitos Versin 2 Consulte tambin Funciones Int y Fix

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin ScriptEngine
Devuelve una cadena que representa el lenguaje de ejecucin de secuencias de comandos en uso.
ScriptEngine

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 144 de 264

Valores de retorno La funcin ScriptEngine puede devolver cualquiera de las siguientes cadenas: Cadena VBScript JScript VBA Descripcin Indica que Microsoft Visual Basic Scripting Edition es el motor actual de ejecucin de secuencias de comandos. Indica que Microsoft JScript es el motor actual de ejecucin de secuencias de comandos. Indica que Microsoft Visual Basic para Aplicaciones es el motor actual de ejecucin de secuencias de comandos.

Observaciones El siguiente ejemplo utiliza la funcin ScriptEngine para devolver una cadena que describe el lenguaje de ejecucin de secuencias de comandos en uso:
Function ObtenerInfoScriptEngine Dim s s = "" ' Crea una cadena con la informacin necesaria. s = ScriptEngine & " Versin " s = s & ScriptEngineMajorVersion & "." s = s & ScriptEngineMinorVersion & "." s = s & ScriptEngineBuildVersion ObtenerInfoScriptEngine = s ' Devuelve el resultado. End Function

Requisitos Versin 2 Consulte tambin Funcin ScriptEngineBuildVersion | Funcin ScriptEngineMajorVersion | Funcin ScriptEngineMinorVersion

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin ScriptEngineBuildVersion
Devuelve el nmero de la versin de compilacin del motor de ejecucin de secuencias de comandos en uso.
ScriptEngineBuildVersion

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 145 de 264

Observaciones El valor de retorno corresponde exactamente a la informacin de versin contenida en el archivo DLL del lenguaje de ejecucin de secuencias de comandos en uso. El siguiente ejemplo utiliza la funcin ScriptEngineBuildVersion para devolver el nmero de versin de compilacin del motor de ejecucin de secuencias de comandos:
Function ObtenerInfoScriptEngine Dim s s = "" ' Crea una cadena con la informacin necesaria. s = ScriptEngine & " versin " s = s & ScriptEngineMajorVersion & "." s = s & ScriptEngineMinorVersion & "." s = s & ScriptEngineBuildVersion ObtenerInfoScriptEngine = s ' Devuelve el resultado. End Function

Requisitos Versin 2 Consulte tambin Funcin ScriptEngine | Funcin ScriptEngineMajorVersion | Funcin ScriptEngineMinorVersion

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin ScriptEngineMajorVersion
Devuelve el nmero de versin mayor del motor de ejecucin de secuencias de comandos en uso.
ScriptEngineMajorVersion

Observaciones El valor de retorno corresponde exactamente a la informacin de versin contenida en el archivo DLL del lenguaje de ejecucin de secuencias de comandos en uso. El siguiente ejemplo utiliza la funcin ScriptEngineMajorVersion para devolver el nmero de versin del motor de ejecucin de secuencias de comandos:
Function ObtenerInfoScriptEngine

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 146 de 264

Dim s s = "" ' Crea una cadena con la informacin necesaria. s = ScriptEngine & " versin " s = s & ScriptEngineMajorVersion & "." s = s & ScriptEngineMinorVersion & "." s = s & ScriptEngineBuildVersion ObtenerInfoScriptEngine = s ' Devuelve el resultado. End Function

Requisitos Versin 2 Consulte tambin Funcin ScriptEngine | Funcin ScriptEngineBuildVersion | Funcin ScriptEngineMinorVersion

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin ScriptEngineMinorVersion
Devuelve el nmero de versin menor del motor de ejecucin de secuencias de comandos en uso.
ScriptEngineMinorVersion

Observaciones El valor de retorno corresponde exactamente a la informacin de versin contenida en el archivo DLL del lenguaje de ejecucin de secuencias de comandos en uso. El siguiente ejemplo utiliza la funcin ScriptEngineMinorVersion para devolver el nmero de versin menor del motor de ejecucin de secuencias de comandos:
Function ObtenerInfoScriptEngine Dim s s = "" ' Crea una cadena con la informacin necesaria. s = ScriptEngine & " versin " s = s & ScriptEngineMajorVersion & "." s = s & ScriptEngineMinorVersion & "." s = s & ScriptEngineBuildVersion ObtenerInfoScriptEngine = s ' Devuelve el resultado. End Function

Requisitos

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 147 de 264

Versin 2 Consulte tambin Funcin ScriptEngine | Funcin ScriptEngineBuildVersion | Funcin ScriptEngineMajorVersion

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin Second
Devuelve un nmero entero entre 0 y 59, inclusive, que representa el segundo del minuto.
Second(tiempo)

El argumento tiempo es cualquier expresin que pueda representar el tiempo. Si tiempo contiene Null, se devuelve Null. Observaciones El siguiente ejemplo utiliza la funcin Second para devolver el segundo actual:
Dim MiSeg MiSeg = Second(Now) ' MiSeg contiene el nmero que representa el segundo actual.

Requisitos Versin 1 Consulte tambin Funcin Day | Funcin Hour | Funcin Minute | Funcin Now | Funcin Time

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 148 de 264

Funcin SetLocale
Establece la configuracin 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 configuracin regional geogrfica. Los valores reconocidos se pueden encontrar en el cuadro de Id. de configuracin regional. Observaciones Si Idconfreg es cero, la configuracin regional se establece de manera que coincida con la configuracin actual del sistema. Una configuracin regional es un conjunto de informacin de preferencias del usuario que incluye su idioma, pas o regin y convenciones culturales. La configuracin regional determina cosas como la apariencia del teclado, el orden de clasificacin alfabtica, as como los formatos de fecha, hora, nmero y moneda. El siguiente ejemplo ilustra el uso de la funcin SetLocale. Para utilizar este cdigo, pegue todo el ejemplo entre las etiquetas <BODY> de una pgina HTML estndar.
Escriba la fecha en formato para Reino Unido: <input type="text" id="UKDate" size="2 Aqu tiene la equivalencia para EE.UU.: <input type="text" id="USdate" size="20"><p> <input type="button" value="Convertir" id="button1"><p> Escriba un precio en marcos alemanes: &nbsp; <input type="text" id="GermanNumber" si <p> Aqu tiene la equivalencia en libras esterlinas: <input type="text" id="USNumber" si <input type="button" value="Convertir" id="button2"><p> <script language="vbscript"> Dim configRegionalActual ' Obtiene la configuracin regional actual configRegionalActual = GetLocale Sub Button1_onclick Dim original original = SetLocale("en-gb") mydate = CDate(UKDate.value) ' IE establece siempre la configuracin regional como Ingls EE.UU., ' as pues, use la variable configRegionalActual para establecer la ' configuracin regional como Ingls 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\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 149 de 264

</script>

Consulte tambin Funcin GetLocale | Cuadro de Id. de configuracin regional (LCID)

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin Sgn
Devuelve un nmero entero que indica el signo de un nmero.
Sgn(nmero)

El argumento nmero puede ser cualquier expresin numrica vlida. Valores de retorno La funcin Sgn tiene los siguientes valores de retorno: Si nmero es Sgn devuelve Mayor que cero 1 Igual que cero 0 Menor que cero -1 Observaciones El signo del argumento nmero determina el valor de retorno de la funcin Sgn. El siguiente ejemplo utiliza la funcin Sgn para determinar el signo de un nmero:
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 Versin 1

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 150 de 264

Consulte tambin Funcin Abs

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin Sin
Devuelve el seno de un ngulo.
Sin(nmero)

El argumento nmero puede ser cualquier expresin numrica vlida que expresa un ngulo en radianes. Observaciones La funcin Sin toma un ngulo y devuelve la razn de dos lados de un tringulo recto. La razn 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 funcin 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 Versin 1 Consulte tambin Funcin Atn | Funcin Cos | Funciones matemticas derivadas | Funcin Tan

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 151 de 264

Visual Basic Scripting Edition

Funcin Space
Devuelve una cadena formada por el nmero de espacios especificado.
Space(nmero)

El argumento nmero es el nmero de espacios que desea que tenga la cadena. Observaciones El siguiente ejemplo utiliza la funcin Space para devolver una cadena formada por un nmero 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 Versin 1 Consulte tambin Funcin String

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin Split
Devuelve una matriz unidimensional con base cero que contiene un nmero de subcadenas especificado.
Split(expresin[, delimitador[, nmero[, comparar]]])

Argumentos expresin Necesario. Expresin de cadena que contiene subcadenas y delimitadores. Si expresin es una cadena de longitud cero, Split devuelve una matriz vaca, es decir, una matriz sin elementos ni datos.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 152 de 264

delimitador Opcional. Carcter de cadena utilizado para identificar lmites de subcadenas. Si se omite, se supone que el carcter de espacio (" ") es el delimitador. Si delimitador es una cadena de longitud cero, se devuelve una matriz de elemento nico que contiene la cadena expresin completa. nmero Opcional. Nmero de subcadenas que se va a devolver; -1 indica que se devuelven todas las subcadenas. comparar Opcional. Valor numrico que indica el tipo de comparacin que se va a utilizar cuando se evalen subcadenas. Consulte la seccin Valores para ver los valores. Valores El argumento comparar puede tener los siguientes valores: Constante Valor Descripcin vbBinaryCompare 0 Realiza una comparacin binaria. vbTextCompare 1 Realiza una comparacin textual. Observaciones El siguiente ejemplo utiliza la funcin Split para devolver una matriz de una cadena. La funcin realiza una comparacin 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 Versin 2 Consulte tambin Funcin Join

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 153 de 264

Funcin Sqr
Devuelve la raz cuadrada de un nmero.
Sqr(nmero)

El argumento nmero puede ser cualquier expresin numrica vlida mayor o igual que 0. Observaciones El siguiente ejemplo utiliza la funcin Sqr para calcular la raz cuadrada de un nmero:
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 ejecucin.

Requisitos Versin 1

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin StrComp
Devuelve un valor que indica el resultado de una comparacin de cadena.
StrComp(cadena1, cadena2[, comparar])

Argumentos cadena1 Necesario. Cualquier expresin de cadena vlida. cadena2 Necesario. Cualquier expresin de cadena vlida. comparar Opcional. Valor numrico que indica el tipo de comparacin que se va a utilizar cuando se evalen cadenas. Si se omite, se realiza una comparacin binaria. Consulte la seccin Valores para ver los valores. Valores

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 154 de 264

El argumento comparar puede tener los siguientes valores: Constante Valor Descripcin vbBinaryCompare 0 Realiza una comparacin binaria. vbTextCompare 1 Realiza una comparacin textual. Valores de retorno La funcin 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 Observaciones El siguiente ejemplo utiliza la funcin StrComp para devolver el resultado de una comparacin de cadena. Si el tercer argumento es 1, se realiza una comparacin textual; si el tercer argumento es 0 o se omite, se realiza una comparacin 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.

StrComp devuelve -1 0 1 Null

Requisitos Versin 1

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin String
Devuelve una cadena de caracteres repetidos con la longitud especificada.
String(nmero, carcter)

Argumentos

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 155 de 264

nmero Longitud de la cadena de retorno. Si nmero contiene Null, se devuelve Null. carcter Cdigo de carcter que especifica el carcter o expresin de cadena cuyo primer carcter se utiliza para construir la cadena de retorno. Si carcter contiene Null, se devuelve Null. Observaciones Si especifica un nmero para carcter mayor que 255, String convierte el nmero en un cdigo de carcter vlido mediante la frmula:
carcter Mod 256

El siguiente ejemplo utiliza la funcin 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 Versin 1 Consulte tambin Funcin Space

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin 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\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 156 de 264

El siguiente ejemplo utiliza la funcin StrReverse para devolver una cadena en orden inverso:
Dim MiCdn MiCdn = StrReverse("VBScript") ' MiCdn contiene "tpircSBV".

Requisitos Versin 2

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin Tan
Devuelve la tangente de un ngulo.
Tan(nmero)

El argumento nmero puede ser cualquier expresin numrica vlida que exprese un ngulo en radianes. Observaciones Tan toma un ngulo y devuelve la razn de dos lados de un tringulo recto. La razn 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 funcin 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 Versin 1 Consulte tambin Funcin Atn | Funcin Cos | Funciones matemticas derivadas | Funcin Sin

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 157 de 264

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin Time
Devuelve un tipo Variant de subtipo Date que indica la hora actual del sistema.
Time

Observaciones El siguiente ejemplo utiliza la funcin Time para devolver la hora actual del sistema:
Dim MiHora MiHora = Time ' Devuelve la hora actual del sistema.

Requisitos Versin 1 Consulte tambin Funcin Date

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin Timer
Devuelve el nmero de segundos que han pasado desde las 12:00 a.m. (medianoche).
Timer

Observaciones El siguiente ejemplo utiliza la funcin Timer para determinar el tiempo que tarda en repetirse un bucle For...Next N veces:

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 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 Versin 5 Consulte tambin Instruccin Randomize

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin TimeSerial
Devuelve un tipo Variant de subtipo Date que contiene una hora compuesta por una hora, minuto y segundo especficos.
TimeSerial(hora, minuto, segundo)

Argumentos hora Nmero entre 0 (12:00 a.m.) y 23 (11:00 p.m.), inclusive, o una expresin numrica. minuto Cualquier expresin numrica. segundo Cualquier expresin numrica. Observaciones Para especificar una hora, como 11:59:59, el intervalo de nmeros para cada argumento TimeSerial debe estar en el intervalo aceptado para la unidad; es decir, 023 para horas y 059 para minutos y segundos. Sin embargo, tambin puede especificar horas relativas para cada argumento mediante cualquier expresin numrica que represente un nmero de horas, minutos o segundos antes o despus de un perodo determinado.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 159 de 264

El siguiente ejemplo utiliza expresiones en lugar de nmeros de hora absolutos. La funcin 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 evala 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 expresin, hace que la fecha quede fuera del intervalo aceptable de fechas, se produce un error. Requisitos Versin 1 Consulte tambin Funcin DateSerial | Funcin DateValue | Funcin Hour | Funcin Minute | Funcin Now | Funcin Second | Funcin TimeValue

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin TimeValue
Devuelve un tipo Variant de subtipo Date que contiene la hora.
TimeValue(hora)

El argumento hora es normalmente una expresin 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 tambin cualquier expresin que represente una hora dentro de dicho intervalo. Si hora contiene Null, se devuelve Null. Observaciones Puede escribir horas vlidas mediante un reloj de 12 o de 24 horas. Por ejemplo, "2:24PM" y "14:24" son argumentos vlidos de hora. Si el argumento hora contiene informacin de fecha, TimeValue no devuelve la informacin de fecha. Sin embargo, si hora incluye informacin de fecha no vlida, se produce un error.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 160 de 264

El siguiente ejemplo utiliza la funcin TimeValue para convertir una cadena en una hora. Tambin 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 Versin 1 Consulte tambin Funcin DateSerial | Funcin DateValue | Funcin Hour | Funcin Minute | Funcin Now | Funcin Second | Funcin TimeSerial

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin TypeName
Devuelve una cadena que proporciona informacin del subtipo del tipo Variant de una variable.
TypeName(variable)

El argumento variable necesario puede ser cualquier variable. Valores de retorno La funcin TypeName tiene los siguientes valores de retorno: Valor Byte Integer Long Single Double Currency Decimal Date String Boolean Descripcin Valor byte Valor entero Valor de nmero entero largo Valor de punto flotante de precisin simple Valor de punto flotante de precisin 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\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 161 de 264

Empty Null <object type> Object Unknown Nothing Error Observaciones

Sin inicializar Datos no vlidos Nombre de tipo real de un objeto Objeto genrico Tipo de objeto desconocido Variable de objeto que an no hace referencia a una instancia de objeto Error

El siguiente ejemplo utiliza la funcin TypeName para devolver informacin 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 Versin 2 Consulte tambin Funcin IsArray | Funcin IsDate | Funcin IsEmpty | Funcin IsNull | Funcin IsNumeric | Funcin IsObject | Funcin VarType

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin UBound
Devuelve el subndice ms largo disponible para la dimensin indicada de una matriz.
UBound(matriz[, dimensin])

Argumentos matriz Necesario. Nombre de la variable de matriz. Sigue las convenciones de nomenclatura estndar de

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 162 de 264

las variables. dimensin Opcional. Nmero entero que indica qu lmite superior de la dimensin se devuelve. Utilice 1 para la primera dimensin, 2 para la segunda y as sucesivamente. Si se omite dimensin, se toma 1. Observaciones La funcin UBound se utiliza con la funcin LBound para determinar el tamao de una matriz. Utilice la funcin LBound para buscar el lmite de la dimensin de una matriz. El lmite inferior para cualquier dimensin es siempre 0. Como resultado, UBound devuelve los siguientes valores para una matriz con estas dimensiones:
Dim A(100,3,4)

Instruccin UBound(A, 1) UBound(A, 2) UBound(A, 3) Requisitos Versin 1

Valor de retorno 100 3 4

Consulte tambin Instruccin Dim | Funcin LBound | Instruccin ReDim

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin UCase
Devuelve una cadena que se ha convertido en maysculas.
UCase(cadena)

El argumento cadena es cualquier expresin de cadena vlida. Si cadena contiene Null, se devuelve Null. Observaciones

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 163 de 264

Slo las letras minsculas se convierten en maysculas; todas la letras maysculas y caracteres sin letra permanecen inalteradas. El siguiente ejemplo utiliza la funcin UCase para devolver una cadena en maysculas:
Dim MiPalabra MiPalabra = UCase("Hola a todos") ' Devuelve "HOLA A TODOS".

Requisitos Versin 1 Consulte tambin Funcin LCase

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin VarType
Devuelve un valor que indica el subtipo de una variable.
VarType(variable)

El argumento variable puede ser cualquier variable. Valores de retorno La funcin VarType devuelve los siguientes valores: Constante vbEmpty vbNull vbInteger vbLong vbSingle vbDouble vbCurrency vbDate vbString vbObject Valor Descripcin 0 Empty (sin inicializar) 1 Null (datos no vlidos) 2 Entero 3 Nmero entero largo 4 Nmero de punto flotante de precisin simple 5 Nmero de punto flotante de precisin doble 6 Moneda 7 Fecha 8 Cadena 9 Objeto de automatizacin

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 164 de 264

vbError 10 vbBoolean 11 vbVariant 12 vbDataObject 13 vbByte 17 vbArray 8192

Error Booleano Variant (usada slo 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 cdigo en lugar de los valores reales. Observaciones La funcin VarType nunca devuelve el valor para la matriz por s solo. Se agrega siempre a algn otro valor para indicar una cadena de un tipo concreto. El valor para Variant slo se devuelve cuando se ha agregado al valor para Matriz para indicar que el argumento a la funcin 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 funcin 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 Versin 1 Consulte tambin Funcin IsArray | Funcin IsDate | Funcin IsEmpty | Funcin IsNull | Funcin IsNumeric | Funcin IsObject | Funcin TypeName

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin Weekday
Devuelve un nmero entero que representa el da de la semana.
Weekday(fecha, [primerdadelasemana])

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 165 de 264

Argumentos fecha Cualquier expresin que pueda representar una fecha. Si fecha contiene Null, se devuelve Null. primerdadelasemana Una constante que especifica el primer da de la semana. Si se omite, se toma vbSunday. Valores El argumento primerdadelasemana tiene estos valores: Constante Valor vbUseSystemDayOfWeek 0 vbSunday 1 vbMonday 2 vbTuesday 3 vbWednesday 4 vbThursday 5 vbFriday 6 vbSaturday 7 Valores de retorno La funcin Weekday puede devolver cualquiera de estos valores: Constante vbSunday vbMonday vbTuesday vbWednesday vbThursday vbFriday vbSaturday Observaciones El siguiente ejemplo utiliza la funcin Weekday para obtener el da 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

Descripcin Usa valores de API de idioma nacional (NLS). domingo lunes martes mircoles jueves viernes sbado

Valor 1 domingo 2 lunes 3 martes 4 mircoles jueves 5 6 viernes 7 sbado

Descripcin

Requisitos Versin 1 Consulte tambin

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 166 de 264

Funcin Date | Funcin Day | Funcin Month | Funcin Now | Funcin Year

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin WeekdayName
Devuelve una cadena que indica el da de la semana especificado.
WeekdayName(dadelasemana, abreviatura, primerdadelasemana)

Argumentos dadelasemana Necesario. La designacin numrica para el da de la semana. El valor numrico de cada da depende de la configuracin del primerdadelasemana. abreviatura Opcional. Valor de tipo booleano que indica si el nombre del da de la semana se va a abreviar. Si se omite, el valor predeterminado es False, lo que significa que el nombre del da de la semana no se abrevia. primerdadelasemana Opcional. Valor numrico que indica el primer da de la semana. Consulte la seccin Valores para ver los valores. Valores El argumento primerdadelasemana puede tener los siguientes valores: Constante Valores Descripcin vbUseSystemDayOfWeek 0 Usa valores de API de idioma nacional (NLS). vbSunday 1 domingo (valor predeterminado) vbMonday 2 lunes vbTuesday 3 martes vbWednesday 4 mircoles vbThursday 5 jueves vbFriday 6 viernes vbSaturday 7 sbado Observaciones El siguiente ejemplo utiliza la funcin WeekDayName para devolver el da especificado:

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 167 de 264

Dim MiFecha MiFecha = WeekDayName(6, True)

' MiFecha contiene viernes.

Requisitos Versin 2 Consulte tambin Funcin MonthName

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Funcin Year
Devuelve un nmero entero que representa el ao.
Year(fecha)

El argumento fecha es cualquier expresin que pueda representar una fecha. Si fecha contiene Null, se devuelve Null. Observaciones El siguiente ejemplo utiliza la funcin Year para obtener el ao a partir de una fecha especificada:
Dim MiFecha, MiAo MiFecha = #19 de octubre de 1962# MiAo = Year(MiFecha) ' Asigna una fecha. ' MiAo contiene 1962.

Requisitos Versin 1 Consulte tambin Funcin Date | Funcin Day | Funcin Month | Funcin Now | Funcin Weekday

2001 Microsoft Corporation. Reservados todos los derechos.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 168 de 264

Build: Versin 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: Versin 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 tambin Null

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 169 de 264

False
La palabra clave False tiene un valor igual a 0. Consulte tambin True

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin 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 ningn 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 slo despus de que todos ellos se han establecido como Nothing, o bien explcitamente mediante Set, o implcitamente despus de que la ltima variable de objeto establecida como Nothing se salga del mbito. Consulte tambin Instruccin Dim | Instruccin Set

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin 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 vlidos. No es

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 170 de 264

igual que Empty. Consulte tambin Empty

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

True
La palabra clave True tiene un valor igual a -1. Consulte tambin False

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Mtodos
En esta seccin Mtodo Clear Mtodo Execute Mtodo Raise Mtodo Replace Mtodo Test Secciones relacionadas

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 171 de 264

Referencia del lenguaje VBScript

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Mtodo Clear
Borra toda la configuracin de propiedades del objeto Err.
objeto.Clear

El objeto es siempre el objeto Err. Observaciones Utilice Clear para borrar de manera explcita el objeto Err despus 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 mtodo Clear automticamente siempre que se ejecuta cualquiera de las siguientes instrucciones:

On Error Resume Next Exit Sub Exit Function

El siguiente ejemplo ilustra el uso del mtodo 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 Versin 1 Consulte tambin Propiedad Description | Objeto Err | Propiedad Number | Instruccin OnError | Mtodo Raise | Propiedad Source Se aplica a: Objeto Err

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 172 de 264

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Mtodo Execute
Ejecuta la bsqueda de una expresin 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 expresin regular. Observaciones El modelo real para la bsqueda de la expresin regular se establece con la propiedad Pattern del objeto RegExp. El mtodo Execute devuelve un conjunto de Coincidencias que contiene un objeto Match para cada coincidencia encontrada en la cadena. Execute devuelve un conjunto vaco de Coincidencias si no se encuentra ninguno. La siguiente porcin de cdigo ilustra el uso del mtodo Execute:
Function RegExpTest(patrn, strng) Dim regEx, Match, Matches ' Crea una variable. Set regEx = New RegExp ' Crea una expresin regular. regEx.Pattern = patrn ' Establece un modelo. regEx.IgnoreCase = True ' Establece la no distincin de maysculas y min regEx.Global = True ' Establece la aplicabilidad global. Set Matches = regEx.Execute(strng) ' Ejecuta la bsqueda. For Each Match in Matches ' Repite el conjunto de coincidencias. RetStr = RetStr & "Coincidencia encontrada en la posicin " 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 Versin 5

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 173 de 264

Consulte tambin Mtodo Replace | Mtodo Test Se aplica a: Objeto Regular Expression (RegExp)

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Mtodo Raise
Genera un error en tiempo de ejecucin.
objeto.Raise(nmero, origen, descripcin, archivoayuda, contextodeayuda)

Argumentos objeto Siempre el objeto Err. nmero Un subtipo de nmero entero Long que identifica la naturaleza del error. Los errores de VBScript (tanto los errores definidos por VBScript como los definidos por el usuario) estn en el intervalo 065535. origen Una expresin de cadena que da nombre al objeto o la aplicacin 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. programtico deI proyecto VBScript actual. descripcin Una expresin de cadena que describe el error. Si no se especifica, se examina el valor en nmero. Si se puede controlar un cdigo de error en tiempo de ejecucin de VBScript, se utiliza una cadena proporcionada por VBScript como descripcin. Si no existe ningn cdigo de error de VBScript que corresponda a nmero, se utiliza un mensaje de error genrico. 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 nmero, si existe. Valores

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 174 de 264

Todos los argumentos son opcionales excepto nmero. Si utiliza Raise, sin embargo, sin especificar algunos argumentos, y la configuracin 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 nmero como su propio cdigo de error en un Objeto de automatizacin, usted agrega su nmero de cdigo de error a la constante vbObjectError. Por ejemplo, para generar el nmero de error 1050, asigne vbObjectError + 1050 a la propiedad nmero. El siguiente ejemplo ilustra el uso del mtodo 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 Versin 1 Consulte tambin Mtodo Clear | Propiedad Description | Objeto Err | Propiedad Number | Propiedad Source Se aplica a: Objeto Err

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Mtodo Replace
Reemplaza el texto encontrado en la bsqueda de una expresin 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\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 175 de 264

Observaciones El modelo actual para el texto que se reemplaza se configura con la propiedad Pattern del objeto RegExp. El mtodo 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 porcin de cdigo ilustra el uso del mtodo Replace.
Function ReplaceTest(patrn, replStr) Dim regEx, str1 ' Crea algunas variables. str1 = "El veloz murcilago hind coma feliz cardillo y kiwi." Set regEx = New RegExp ' Crea una expresin regular. regEx.Pattern = patrn ' Establece el modelo. regEx.IgnoreCase = True ' Hace distincin entre maysculas y minscula ReplaceTest = regEx.Replace(str1, replStr) ' Realiza el reemplazo. End Function MsgBox(ReplaceTest("murcilago", "gato")) ' Reemplaza 'murcilago' por 'gato'.

Adems, el mtodo Replace puede reemplazar subexpresiones en el modelo. La siguiente llamada a la funcin 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 Versin 5 Consulte tambin Mtodo Execute | Mtodo Test Se aplica a: Objeto Regular Expression (RegExp)

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Mtodo Test
Ejecuta la bsqueda de una expresin regular en una cadena especfica y devuelve un valor booleano que indica si se encontr un modelo coincidente.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 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 expresin regular. Observaciones El modelo real para la bsqueda de la expresin regular se establece mediante la propiedad Pattern del objeto RegExp. La propiedad RegExp.Global no tiene efecto sobre el mtodo Test. El mtodo Test devuelve True si se encuentra un modelo coincidente y si no es as, False. La siguiente porcin de cdigo ilustra el uso del mtodo Test.
Function RegExpTest(patrn, strng) Dim regEx, retVal ' Crea una variable. Set regEx = New RegExp ' Crea una expresin regular. regEx.Pattern = patrn ' Configura el modelo. regEx.IgnoreCase = False ' Establece la distincin entre maysculas y minsc retVal = regEx.Test(strng) ' Ejecuta la prueba de bsqueda. 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 Versin 5 Consulte tambin Mtodo Execute | Mtodo Replace Se aplica a: Objeto Regular Expression (RegExp)

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 177 de 264

Varios
En esta seccin Juego de caracteres (0 - 127) Juego de caracteres (128 - 255) Cuadro de Id. de configuracin regional (LCID) Secciones relacionadas Referencia del lenguaje VBScript

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Juego de caracteres (0 - 127)


La siguiente tabla muestra del 0 al 127. Cdigo Carcter Cdigo 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 Carcter [espacio] ! " # $ % & ' ( ) * + , . / 0 1 Cdigo 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 Carcter Cdigo @ 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 Carcter ` a b c d e f g h i j k l m n o p q

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 178 de 264

18 19 20 21 22 23 24 25 26 27 28 29 30 31

_ _ _ _ _ _ _ _ _ _ " " -

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, tabulacin, avance de lnea y retorno de carro, respectivamente. No tienen representacin grfica, pero segn la aplicacin, pueden afectar a la aparencia visual del texto. No admitido en la plataforma actual. Consulte tambin Juego de caracteres (128 - 255)

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Juego de caracteres (128 - 255)


La siguiente tabla muestra del 128 al 255. Cdigo 128 129 130 131 132 133 134 135 Carcter Cdigo 160 161 162 163 164 165 166 167 Carcter [espacio] Cdigo 192 193 194 195 196 197 198 199 Carcter Cdigo 224 225 226 227 228 229 230 231 Carcter

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 179 de 264

136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159

' ' " "

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 tambin Juego de caracteres (0 - 127)

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Cuadro de Id. de configuracin regional (LCID)


La siguiente tabla muestra los Id. de configuracin regional (LCID). Descripcin Cadena Valor Valor decimal Descripcin Cadena Valor Valor de corta hexadecimal de corta hexadecimal decimal

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 180 de 264

configuracin regional Afrikaans af Albans 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 (Lbano) rabe (Libia) ar-ly rabe ar-ma (Marruecos) rabe (Omn) ar-om rabe (Qatar) ar-qa rabe (Arabia ar-sa Saud) rabe (Siria) ar-sy rabe (Tnez) ar-tn rabe (Yemen) Armenio Azer (Latn) Azer (Cirlico) Vasco Bielorruso Blgaro Cataln ar-ye hy az-az az-az eu be bg ca

0x0436 0x041C 0x3801

1078 1052 14337

configuracin regional Islands is Indonesio in Italiano it (Italia) Italiano (Suiza) Japons Coreano Letn Lituano Macedonio Malayo (Malasia) Malayo (Brunei) Malts Marathi Noruego (Bokmal) Noruego (Nynorsk) Polaco Portugus (Portugal) Portugus (Brasil) Retorromance Rumano Rumano (Moldavia) Ruso Ruso (Moldavia) Snscrito Serbio (Cirlico) Serbio (Latn) Setsuana it-ch ja ko lv lt mk ms-ml ms-bn mt mr no-no no-no pl pt pt-br rm ro ro-mo ru ru-mo sa sr-sp sr-sp tn

0x040F 0x040E 0x0410

1039 1038 1040

0x3C01 0x1401 0x0C01 0x0801 0x2C01 0x3401 0x3001 0x1001 0x1801 0x2001 0x4001 0x0401 0x2801 0x1C01 0x2401 0x042B 0x042C 0x082C 0x042D 0x0423 0x0402 0x0403 0x0804 0x0C04

15361 5121 3073 2049 11265 13313 12289 4097 6145 8193 16385 1025 10241 7169 9217 1067 1068 2092 1069 1059 1026 1027 2052 3076

0x0810 0x0411 0x0412 0x0426 0x0427 0x042F 0x043E 0x083E 0x043A 0x044E 0x0414 0x0814 0x0415 0x0816 0x0416 0x0417 0x0418 0x0818 0x0419 0x0819 0x044F 0x0C1A 0x081A 0x0432

2064 1041 1042 1062 1063 1071 1086 2110 1082 1102 1044 2068 1045 2070 1046 1047 1048 2072 1049 2073 1103 3098 2074 1074

Chino (China) zh-cn Chino (Hong zh-hk Kong S.A.R.)

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 181 de 264

Chino (Macao zh-mo Z.A.E.) Chino zh-sg (Singapur) Chino zh-tw (Taiwan) Croata hr Checo Dans Holands Holands (Blgica) Ingls (Australia) Ingls (Belice) Ingls (Canad) Ingles (Caribe) Ingls (Irlanda) Ingls (Jamaica) Ingls (Nueva Zelanda) Ingls (Filipinas) Ingls (Sudfrica) Ingls (Trinidad) Ingls (Reino Unido) Ingls (Estados Unidos) Estonio Farsi Finlands Faeros cs da nl nl-be en-au en-bz en-ca en-cb en-ie en-jm en-nz en-ph en-za en-tt en-gb en-us et fa fi fo

0x1404 0x1004 0x0404 0x041A 0x0405 0x0406 0x0413 0x0813 0x0C09 0x2809 0x1009 0x2409 0x1809 0x2009 0x1409 0x3409 0x1C09 0x2C09 0x0809 0x0409 0x0425 0x0429 0x040B 0x0438

5124 4100 1028 1050 1029 1030 1043 2067 3081 10249 4105 9222 6153 8201 5129 13321 7177 11273 2057 1033 1061 1065 1035 1080

Esloveno Eslovaco Serbio Espaol (estndar) Espaol (Argentina) Espaol (Bolivia) Espaol (Chile) Espaol (Colombia) Espaol (Costa Rica) Espaol (Repblica Dominicana) Espaol (Ecuador) Espaol (Guatemala) Espaol (Honduras) Espaol (Mxico) Espaol (Nicaragua) Espaol (Panam) Espaol (Per) Espaol (Puerto Rico) Espaol (Paraguay) Espaol (El Salvador) Espaol (Uruguay) Espaol (Venezuela) Sutu Swahili

sl sk sb es es-ar es-bo es-cl es-co es-cr es-do es-ec es-gt es-hn es-mx es-ni es-pa es-pe es-pr es-py es-sv es-uy es-ve sx sw

0x0424 0x041B 0x042E 0x040A 0x2C0A 0x400A 0x340A 0x240A 0x140A 0x1C0A 0x300A 0x100A 0x480A 0x080A 0x4C0A 0x180A 0x280A 0x500A 0x3C0A 0x440A 0x380A 0x200A 0x0430 0x0441

1060 1051 1070 1034 11274 16394 13322 9226 5130 7178 12298 4106 18442 2058 19466 6154 10250 20490 15370 17418 14346 8202 1072 1089

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 182 de 264

Francs fr (estndar) Francs fr-be (Blgica) Francs fr-ca (Canad) Francs fr-lu (Luxemburgo) Francs fr-ch (Suiza) Galico gd-ie (Irlanda) Galico gd (Escocia) Alemn de (Alemania) Alemn de-at (Austria) Alemn de-li (Lichtenstein) Alemn de-lu (Luxemburgo) Alemn de-ch (Suiza) Griego el Hebreo he Hind hi Hngaro hu

0x040C 0x080C 0x0C0C 0x140C 0x100C 0x083C 0x043C 0x0407 0x0C07 0x1407 0x1007 0x0807 0x0408 0x040D 0x0439 0x040E

1036 2060 3084 5132 4108 2108 1084 1031 3079 5127 4103 2055 1032 1037 1081 1038

Sueco Sueco (Finlandia) Tamil Tatar Tailands Turco Tsonga Ucraniano Urd

sv sv-fi ta tt th tr ts uk ur

0x041D 0x081D 0x0449 0x0444 0x041E 0x041F 0x0431 0x0422 0x0420 0x0843 0x0443 0x042A 0x0434 0x043D 0x0435

1053 2077 1097 1092 1054 1055 1073 1058 1056 2115 1091 1066 1076 1085 1077

Uzbek uz-uz (cirlico) Uzbek (latino) uz-uz Vietnamita Chosa Yiddish Zul vi xh ji zu

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Objetos y colecciones
En esta seccin Objeto Class Objeto Err Coleccin Matches

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 183 de 264

Objeto Match Objeto Regular Expression (RegExp) Coleccin SubMatches Secciones relacionadas Referencia del lenguaje VBScript

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Objeto Class
El objeto creado mediante la instruccin Class. Proporciona acceso al evento de la clase. Observaciones No puede declarar explcitamente una variable como del tipo Class. En el contexto de VBScript, el trmino "class object" se refiere a cualquier objeto definido mediante la instruccin Class de VBScript. Una vez que ha creado una definicin de clase mediante la instruccin 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 tardo, 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\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 184 de 264

Eventos del objeto Class Requisitos Versin 5 Consulte tambin Instruccin Class | Instruccin Dim | Instruccin Set

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin 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: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Coleccin Matches
Coleccin de objetos Match de expresin regular. Observaciones Una coleccin Matches contiene objetos Match individuales y slo se puede crear utilizando el mtodo Execute del objeto RegExp. La nica propiedad de la coleccin Matches es de slo lectura, igual que las propiedades de objeto Match individuales.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 185 de 264

Cuando se ejecuta una expresin regular, pueden resultar ninguno o ms objetos Match. Cada objeto Match proporciona acceso a la cadena encontrada por la expresin regular, la longitud de la cadena y un ndice de donde se encontr la coincidencia. La siguiente porcin de cdigo ilustra cmo obtener una coleccin Matches de una bsqueda de expresin regular y cmo repetir la coleccin:
Function RegExpTest(modelo, cadena) Dim regEx, Match, Matches ' Crear variable. Set regEx = New RegExp ' Crear expresin regular. regEx.Pattern = modelo ' Establecer modelo. regEx.IgnoreCase = True ' No establecer distincin entre maysculas y minscula regEx.Global = True ' Establecer aplicabilidad global. Set Matches = regEx.Execute(cadena) ' Ejecutar bsqueda. For Each Match in Matches ' Repetir coleccin Matches. RetStr = RetStr & "Coincidencia encontrada en posicin " 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 Versin 1 Consulte tambin Instruccin For Each...Next | Objeto Match | Objeto Regular Expression (RegExp) | Coleccin SubMatches

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Objeto Err
Contiene informacin acerca de los errores en tiempo de ejecucin. Acepta los mtodos Raise y Clear para generar y borrar errores en tiempo de ejecucin. Observaciones El objeto Err es un objeto intrnseco con mbito global; no es necesario crear una instancia de l en su cdigo. Las propiedades del objeto Err las establece el generador de un error (Visual Basic, un objeto de Automatizacin o el programador de VBScript).

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 186 de 264

La propiedad predeterminada del objeto Err es Number. Err.Number contiene un nmero entero y puede ser utilizado por un Objeto de automatizacin para devolver un SCODE. Cuando se produce un error en tiempo de ejecucin, las propiedades del objeto Err se llenan con informacin que identifica nicamente el error y la informacin que se puede utilizar para controlarlo. Para generar un error en tiempo de ejecucin en su cdigo, utilice el mtodo Raise . Las propiedades del objeto Err se restablecen como cero o como cadenas de longitud cero ("") despus de una instruccin On Error Resume Next. El mtodo Clear se puede utilizar para restablecer explcitamente 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 mtodos Mtodos y propiedades del objeto Err Requisitos Versin 1 Consulte tambin Instruccin On Error

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Mtodos y propiedades del objeto Err


El objeto Err contiene informacin sobre los errores en tiempo de ejecucin. Propiedades Propiedad Description Propiedad HelpContext

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 187 de 264

Propiedad HelpFile Propiedad Number Propiedad Source Mtodo Mtodo Clear Mtodo Raise

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Objeto Match
Proporciona acceso a las propiedades de slo lectura de una expresin regular coincidente. Observaciones Un objeto Match puede ser creado slo mediante el mtodo Execute del objeto RegExp, que devuelve una coleccin de objetos Match. Todas las propiedades del objeto Match son de slo lectura. Cuando se ejecuta una expresin regular, el resultado puede ser ninguno o varios objetos Match. Cada objeto Match proporciona acceso a la cadena encontrada por la expresin regular, a la longitud de la cadena y a un ndice del lugar en que se encontr la coincidencia. La siguiente porcin de cdigo ilustra el uso del objeto Match:
Function RegExpTest(modelo, cadena) Dim regEx, Match, Matches ' Crea una variable. Set regEx = New RegExp ' Crea una expresin regular. regEx.Pattern = modelo ' Establece el modelo. regEx.IgnoreCase = True ' Establece la no distincin entre maysculas y minscu regEx.Global = True ' Establece la aplicabilidad global. Set Matches = regEx.Execute(cadena) ' Ejecuta la bsqueda. For Each Match in Matches ' Repite la coleccin de coincidencias. RetStr = RetStr & "Coincidencia " & I & " encontrada en la posicin " 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\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 188 de 264

Propiedades Propiedades del objeto Match Requisitos Versin 5 Consulte tambin Coleccin Matches | Objeto Regular Expression (RegExp) | Coleccin SubMatches

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Propiedades del objeto Match


El objeto Match proporciona acceso a las propiedades de slo lectura de lectura de una expresin regular coincidente. Propiedades Propiedad FirstIndex Propiedad Length Propiedad Value

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin 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\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 189 de 264

Observaciones La siguiente porcin de cdigo ilustra el uso del objeto RegExp:


Function RegExpTest(modelo, cadena) Dim regEx, Match, Matches ' Crea una variable. Set regEx = New RegExp ' Crea una expresin regular. regEx.Pattern = modelo ' Establece el modelo. regEx.IgnoreCase = True ' Establece la no distincin entre maysculas y minscu regEx.Global = True ' Establece la aplicabilidad global. Set Matches = regEx.Execute(cadena) ' Ejecuta la bsqueda. For Each Match in Matches ' Repite la coleccin de coincidencias. RetStr = RetStr & "Coincidencia encontrada en la posicin " 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 mtodos Mtodos y propiedades del objeto Regular Expression Requisitos Versin 5 Consulte tambin Objeto Match | Coleccin Matches

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Mtodos 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\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 190 de 264

Propiedad IgnoreCase Propiedad Pattern Mtodos Mtodo Execute Mtodo Replace Mtodo Test

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Coleccin SubMatches
Coleccin de cadenas que son subcoincidencias de una expresin regular. Observaciones Una coleccin SubMatches contiene cadenas de subcoincidencias individuales, y slo se puede crear utilizando el mtodo Execute del objeto RegExp. Las propiedades de la coleccin SubMatches son de slo lectura. Cuando se ejecuta una expresin regular, pueden resultar ninguno o ms subcoincidencias cuando las subexpresiones estn entre parntesis. Cada elemento en la coleccin SubMatches es la cadena encontrada y capturada por la expresin regular. El siguiente cdigo muestra cmo obtener una coleccin SubMatches con una bsqueda de expresin regular y cmo tener acceso a cada miembro individual:
Function PruebaDeSubMatch(cadenaEntrada) Dim oExpReg, oCoincidencia, oMatches Set oExpReg = New RegExp ' Busca una direccin de correo electrnico (no es una Expresin regular perfecta oExpReg.Pattern = "(\w+)@(\w+)\.(\w+)" ' Obtiene la coleccin Matches Set oCoincidencias = oExpReg.Execute(cadenaEntrada) ' Obtiene el primer elemento de la coleccin Matches Set oCoincidencia = oCoincidencias(0) ' Crea la cadena de resultado. ' El objeto Match es la coincidencia entera - dragon@xyzzy.com retStr = "La direccin de correo electrnico es: " & oCoincidencia & vbNewline ' Obtiene las partes subcoincidente de la direccin.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 191 de 264

retStr = retStr & "El alias de correo electrnico es: " & oCoincidencia.SubMatche retStr = retStr & vbNewline retStr = retStr & "La organizacin es: " & oCoincidencia. SubMatches(1)' xyzzy PruebaDeSubMatch = retStr End Function MsgBox(PruebaDeSubMatch("Por favor enve un correo electrnico a dragon@xyzzy.com. G

Requisitos Versin 5.5 Consulte tambin Instruccin For Each...Next | Objeto Match | Coleccin Matches | Objeto Regular Expression (RegExp)

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Operadores
En esta seccin Precedencia de operadores Resumen de operadores Operadores aritmticos Operadores de comparacin Operadores de concatenacin Operadores lgicos Secciones relacionadas Referencia del lenguaje VBScript

2001 Microsoft Corporation. Reservados todos los derechos.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 192 de 264

Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Precedencia de operadores
Cuando aparecen varias operaciones en una expresin, cada parte se evala y se resuelve en un orden determinado llamado prioridad de los operadores. Puede utilizar parntesis para pasar por alto el orden de prioridad y obligar a evaluar algunas partes de una expresin antes que otras. Las operaciones entre parntesis se realizan siempre antes que las de fuera. Sin embargo, entre parntesis se mantiene el prioridad normal de los operadores. Cuando las expresiones contienen operadores de ms de una categora, los operadores aritmticos se evalan primero, los de comparacin despus y los lgicos los ltimos. Todos los operadores de comparacin tienen la misma prioridad, es decir, se evalan en el orden de izquierda a derecha en el que aparecen. Los operadores aritmticos y lgicos se evalan en el siguiente orden de prioridad: Aritmtico Comparacin Lgico Negacin (-) Igualdad (=) Not Exponenciacin (^) Desigualdad (<>) And Multiplicacin y divisin (*, /) Menor que (<) Or Divisin de nmero entero (\) Mayor que (>) Xor Modelo aritmtico (Mod) Menor o igual que (<=) Eqv Suma y resta (+, -) Mayor o igual que (>=) Imp Concatenacin de cadenas (&) Is & Cuando aparecen la multiplicacin y la divisin juntas en una expresin, se evala cada operacin segn aparece de izquierda a derecha. Asimismo, cuando aparecen la suma y la resta juntas en una expresin, cada operacin se evala en orden de aparicin de izquierda a derecha. El operador de concatenacin de cadena (&) no es un operador aritmtico, pero por prioridad va despus de todos los operadores aritmticos y antes de todos los operadores de comparacin. El operador Is es un operador de comparacin de referencias de objetos. No compara objetos ni sus valores; slo comprueba para determinar si dos referencias de objetos hacen referencia al mismo objeto. Requisitos Versin 1 Consulte tambin Operador Is | Resumen de operadores

2001 Microsoft Corporation. Reservados todos los derechos.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 193 de 264

Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Resumen de operadores
Operadores aritmticos Utilizados para realizar clculos matemticos. Operador de asignacin Utilizado para asignar un valor a una propiedad o variable. Operadores de comparacin Utilizados para realizar comparaciones. Operadores de concatenacin Utilizados para combinar cadenas. Operadores lgicos Utilizados para realizar operaciones lgicas. Consulte tambin Precedencia de operadores

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Operador de suma (+)


Suma dos nmeros.
resultado = expresin1 + expresin2

Argumentos resultado Cualquier variable numrica. expresin1 Cualquier expresin. expresin2 Cualquier expresin.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 194 de 264

Observaciones Aunque tambin puede utilizar el operador + para concatenar dos cadenas de caracteres, debera utilizar el operador & para la concatenacin para as eliminar la ambigedad y proporcionar cdigo de autoexplicativo. Cuando utilice el operador +, quiz no pueda determinar si se producir la suma o la concatenacin de la cadena. El subtipo subyacente de las expresiones determina el comportamiento del operador + del siguiente modo: Si Entonces Ambas expresiones son numricas Add. Ambas expresiones son cadenas Concatenate. Una expresin es numrica y la otra es una cadena Add. Si una de las dos expresiones es una expresin Null, el resultado es Null. Si ambas expresiones son Empty, el resultado es un subtipo de Integer. Sin embargo, si slo una expresin es Empty, la otra expresin se devuelve inalterada como resultado. Requisitos Versin 1 Consulte tambin Operador de concatenacin (&) | Operador de resta (-) | Operadores aritmticos | Operador de concatenacin | Precedencia de operadores | Resumen de operadores

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Operador And
Realiza una conjuncin lgica de dos expresiones.
resultado = expresin1 And expresin2

Argumentos resultado

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 195 de 264

Cualquier variable numrica. expresin1 Cualquier expresin. expresin2 Cualquier expresin. Observaciones Si, y slo si, ambas expresiones se evalan como True, el resultado es True. Si alguna expresin se evala como False, el resultado es False. La siguiente tabla ilustra cmo se determina el resultado: Si expresin1 es Y expresin2 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 tambin realiza una comparacin bit a bit de los bits ubicados de forma idntica en dos expresiones numricas y establece el bit correspondiente en el resultado de acuerdo con la siguiente tabla: Si el bit en expresin1 es Y el bit en expresin2 es El resultado es 0 0 0 0 1 0 1 0 0 1 1 1 Requisitos Versin 1 Consulte tambin Operadores lgicos | Operador Not | Precedencia de operadores | Resumen de operadores | Operador Or | Operador Xor

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 196 de 264

Visual Basic Scripting Edition

Operador de asignacin (=)


Asigna un valor a una variable o propiedad.
variable = valor

Argumentos variable Cualquier variable o cualquier propiedad modificable. valor Cualquier literal de cadena o numrico, constante, o expresin. 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 slo pueden ser aquellas que son modificables en tiempo de ejecucin. Requisitos Versin 1 Consulte tambin Operadores de comparacin | Precedencia de operadores | Resumen de operadores | Instruccin Set

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Operador de concatenacin (&)


Fuerza la concatenacin de cadena de dos expresiones.
resultado = expresin1 & expresin2

Argumentos resultado Cualquier variable.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 197 de 264

expresin1 Cualquier expresin. expresin2 Cualquier expresin. Observaciones Siempre que una expresin no sea una cadena, se convierte en un subtipo de String. Si ambas expresiones son Null, el resultado es tambin Null. Sin embargo, si slo una expresin es Null, dicha expresin se trata como una cadena de longitud cero ("") cuando est concatenada con la otra expresin. Cualquier expresin que sea Empty se trata tambin como una cadena de longitud cero. Requisitos Versin 1 Consulte tambin Operadores de concatenacin | Precedencia de operadores | Resumen de operadores

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Operador de divisin (/)


Divide dos nmeros y devuelve un resultado de coma flotante.
resultado = nmero1/nmero2

Argumentos resultado Cualquier variable numrica. nmero1 Cualquier expresin numrica. nmero2 Cualquier expresin numrica. Observaciones Si una o ambas expresiones son expresiones Null, el resultado es Null. Cualquier expresin que sea Empty se trata como 0.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 198 de 264

Requisitos Versin 1 Consulte tambin Operador de multiplicacin (*) | Operador de divisin de nmero entero (\) | Operadores aritmticos | Precedencia de operadores | Resumen de operadores

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Operador Eqv
Realiza una equivalencia lgica de dos expresiones.
resultado = expresin1 Eqv expresin2

Argumentos resultado Cualquier variable numrica. expresin1 Cualquier expresin. expresin2 Cualquier expresin. Observaciones Si alguna expresin es Null, el resultado es tambin Null. Cuando ninguna expresin sea Null, el resultado se determina de acuerdo con la siguiente tabla: Si expresin1 es Y expresin2 es El resultado es True True True True False False False True False False False True El operador Eqv realiza una comparacin bit a bit de los bits ubicados de forma idntica en dos expresiones numricas y establece el bit correspondiente en el resultado de acuerdo con la siguiente tabla:

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 199 de 264

Si el bit en expresin1 es Y el bit en expresin2 es El resultado es 0 0 1 0 1 0 1 0 0 1 1 1 Requisitos Versin 1 Consulte tambin Operador Imp | Operadores lgicos | Precedencia de operadores | Resumen de operadores

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Operador de exponenciacin (^)


Eleva un nmero a una potencia.
resultado = nmero^exponente

Argumentos resultado Cualquier variable numrica. nmero Cualquier expresin numrica. exponente Cualquier expresin numrica. Observaciones El nmero puede ser negativo slo si el exponente es un valor de nmero entero. Cuando se realiza ms de una exponenciacin en una nica expresin, el operador ^ se evala tal y como se encuentra de izquierda a derecha. Si cualquier nmero o exponente es una expresin Null, el resultado es tambin Null. Requisitos

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 200 de 264

Versin 1 Consulte tambin Operadores aritmticos | Precedencia de operadores | Resumen de operadores

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Operador Imp
Realiza una implicacin lgica de dos expresiones.
resultado = expresin1 Imp expresin2

Argumentos resultado Cualquier variable numrica. expresin1 Cualquier expresin. expresin2 Cualquier expresin. Observaciones La siguiente tabla ilustra cmo se determina el resultado: Si expresin1 es Y expresin2 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 comparacin bit a bit de los bits ubicados de manera idntica en dos expresiones numricas y establece el bit correspondiente en el resultado de acuerdo con la siguiente tabla:

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 201 de 264

Si el bit en expresin1 es Y el bit en expresin2 es Entonces resultado es 0 0 1 0 1 1 1 0 0 1 1 1 Requisitos Versin 1 Consulte tambin Operador Eqv | Operadores lgicos | Precedencia de operadores | Resumen de operadores

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Operador de divisin de nmero entero (\)


Divide dos nmeros y devuelve un resultado de nmero entero.
resultado = nmero1\nmero2

Argumentos resultado Cualquier variable numrica. nmero1 Cualquier expresin numrica. nmero2 Cualquier expresin numrica. Observaciones Antes de que se realice la divisin, las expresiones numricas se redondean como expresiones del subtipo Byte, Integer, o Long. Si cualquier expresin es Null, el resultado es tambin Null. Cualquier expresin que sea Empty se trata como 0. Requisitos

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 202 de 264

Versin 1 Consulte tambin Operador de multiplicacin (*) | Operador de divisin (/) | Operadores aritmticos | Precedencia de operadores | Resumen de operadores

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin 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 numrica. 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 Versin 1

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 203 de 264

Consulte tambin Operadores de comparacin | Precedencia de operadores | Resumen de operadores

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Operador Mod
Divide dos nmeros y devuelve slo el resto.
resultado = nmero1 Mod nmero2

Argumentos resultado Cualquier variable numrica. nmero1 Cualquier expresin numrica. nmero2 Cualquier expresin numrica. Observaciones El operador del mdulo, o resto, divide nmero1 por nmero2 (y redondea los nmeros de punto flotante como nmeros enteros) y devuelve slo el resto como resultado. Por ejemplo, en la siguiente expresin, A (que es resultado) es igual a 5.
A = 19 Mod 6.7

Si cualquier expresin es Null, el resultado es tambin Null. Cualquier expresin que sea Empty se trata como 0. Requisitos Versin 1 Consulte tambin Operadores aritmticos | Precedencia de operadores | Resumen de operadores

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 204 de 264

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Operador de multiplicacin (*)


Multiplica dos nmeros.
resultado = nmero1*nmero2

Argumentos resultado Cualquier variable numrica. nmero1 Cualquier expresin numrica. nmero2 Cualquier expresin numrica. Observaciones Si una o ambas expresiones son expresiones Null, el resultado es Null. Si una expresin es Empty, se trata como si fuera 0. Requisitos Versin 1 Consulte tambin Operador de divisin de nmero entero (\) | Operadores aritmticos | Precedencia de operadores | Resumen de operadores

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Operador Not
Realiza la negacin lgica de una expresin.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 205 de 264

resultado = Not expresin

Argumentos resultado Cualquier variable numrica. expresin Cualquier expresin. Observaciones La siguiente tabla ilustra cmo se determina el resultado: Si expresin es Entonces resultado es True False False True Null Null Adems, 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 expresin Bit en resultado 0 1 1 0 Requisitos Versin 1 Consulte tambin Operador And | Operadores lgicos | Precedencia de operadores | Resumen de operadores | Operador Or | Operador Xor

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Operador Or
Realiza una disyuncin lgica de dos expresiones.
resultado = expresin1 Or expresin2

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 206 de 264

Argumentos resultado Cualquier variable numrica. expresin1 Cualquier expresin. expresin2 Cualquier expresin. Observaciones Si alguna o ambas expresiones se evala como True, el resultado es True. La siguiente tabla ilustra cmo se determina el resultado: Si expresin1 es Y expresin2 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 tambin realiza una comparacin bit a bit de los bits ubicados de manera idntica en dos expresiones numricas y establece el bit correspondiente en el resultado de acuerdo con la siguiente tabla: Si el bit en expresin1 es Y el bit en expresin2 es Entonces resultado es 0 0 0 0 1 1 1 0 1 1 1 1 Requisitos Versin 1 Consulte tambin Operador And | Operadores lgicos | Operador Not | Precedencia de operadores | Resumen de operadores | Operador Xor

2001 Microsoft Corporation. Reservados todos los derechos.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 207 de 264

Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Operador de resta (-)


Busca la diferencia entre dos nmeros o indica el valor negativo de una expresin numrica. Sintaxis 1
resultado = nmero1-nmero2

Sintaxis 2
-nmero

Argumentos resultado Cualquier variable numrica. nmero Cualquier expresin numrica. nmero1 Cualquier expresin numrica. nmero2 Cualquier expresin numrica. Observaciones En la Sintaxis 1, el operador - es la resta aritmtica utilizada para buscar la diferencia entre dos nmeros. En la Sintaxis 2, el operador - se utiliza como la negacin unaria para indicar el valor negativo de una expresin. Si una o ambas expresiones son del tipo Null, el resultado es Null. Si una expresin es Empty, se trata como si fuera 0. Requisitos Versin 1 Consulte tambin Operador de suma (+) | Operadores aritmticos | Precedencia de operadores | Resumen de operadores

2001 Microsoft Corporation. Reservados todos los derechos.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 208 de 264

Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Operador Xor
Realiza una exclusin lgica de dos expresiones.
resultado = expresin1 Xor expresin2

Argumentos resultado Cualquier variable numrica. expresin1 Cualquier expresin. expresin2 Cualquier expresin. Observaciones Si una, y slo una, de las expresiones se evala como True, el resultado es True. Sin embargo, si cualquier expresin es Null, el resultado es tambin Null. Cuando ninguna expresin es Null, el resultado se determina de acuerdo con la siguiente tabla: Si expresin1 es Y expresin2 es Entonces resultado es True True False True False True False True True False False False El operador Xor tambin realiza una comparacin bit a bit de los bits ubicados en la misma posicin en dos expresiones numricas y establece el bit correspondiente en el resultado de acuerdo con la siguiente tabla: Si el bit en expresin1 es Y el bit en expresin2 es Entonces resultado es 0 0 0 0 1 1 1 0 1 1 1 0 Requisitos Versin 1 Consulte tambin Operador And | Operadores lgicos | Operador Not | Precedencia de operadores | Resumen de

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 209 de 264

operadores | Operador Or

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Operadores aritmticos
Operador ^ Operador * Operador / Operador \ Operador Mod Operador + Operador Operadores de concatenacin

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Operadores de comparacin
Se utilizan para comparar expresiones.
resultado = expresin1 operadorDeComparacin expresin2 resultado = objeto1 Is objeto2

Argumentos resultado

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 210 de 264

Cualquier variable numrica. expresin Cualquier expresin. operadorDeComparacin Cualquier operador de comparacin. objeto Cualquier nombre de objeto. Observaciones El operador Is tiene una funcionalidad de comparacin especfica diferente de los operadores que se muestran en la siguiente tabla. La siguiente tabla contiene una lista de operadores de comparacin y las condiciones que determinan si el resultado es True, False o Null: Operador < <= > >= = <> Descripcin Menor que True si expresin1 < expresin2 False si expresin1 >= expresin2 expresin1 > expresin2 expresin1 <= expresin2 expresin1 < expresin2 expresin1 <> expresin2 expresin1 = expresin2 Null si expresin1 o expresin2 = Null expresin1 o expresin2 = Null expresin1 o expresin2 = Null expresin1 o expresin2 = Null expresin1 o expresin2 = Null expresin1 o expresin2 = Null

Menor o igual que expresin1 <= expresin2 Mayor que expresin1 > expresin2

Mayor o igual que expresin1 >= expresin2 Igual a Distinto de expresin1 = expresin2 expresin1 <> expresin2

Al comparar dos expresiones, es posible que no sea capaz de saber si las expresiones se estn comparando como nmeros o como cadenas. La siguiente tabla muestra cmo se comparan las expresiones o que devuelve la comparacin, segn el subtipo de las expresiones: Si Ambas expresiones son numricas Ambas expresiones son cadenas Una expresin es numrica y la otra es una cadena Una expresin es Empty y la otra es numrica Una expresin es Empty y la otra es una cadena Ambas expresiones son Empty Requisitos Versin 1 Entonces Realiza una comparacin numrica. Realiza una comparacin de cadenas. La expresin numrica es menor que la expresin de cadena. Realiza una comparacin numrica, tratando la expresin Empty como 0 (cero). Realiza una comparacin de cadenas, tratando la expresin Empty como una cadena de longitud cero (""). Las expresiones son iguales.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 211 de 264

Consulte tambin Operador de asignacin (=) | Operador Is | Precedencia de operadores | Resumen de operadores

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Operadores de concatenacin
Operador & Operador +

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Operadores lgicos
Operador And Operador Not Operador Or Operador Xor

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 212 de 264

Propiedades
En esta seccin 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: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Propiedad Description
Devuelve o establece una cadena descriptiva asociada con un error.
objeto.Description [= expresincadena]

Argumentos

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 213 de 264

objeto Siempre el objeto Err. expresincadena Una expresin de cadena que contiene una descripcin del error. Observaciones La propiedad Description est formada por una breve descripcin 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 descripcin de su error a esta propiedad. Si Description no est completa y el valor de Number corresponde a un error en tiempo de ejecucin 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 Versin 1 Consulte tambin Objeto Err | Propiedad HelpContext | Propiedad HelpFile | Propiedad Number | Propiedad Source Se aplica a: Objeto Err

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Propiedad FirstIndex
Devuelve la posicin en una cadena de bsqueda 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 bsqueda. En otras palabras, el primer carcter de la cadena se identifica como carcter cero (0). La

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 214 de 264

siguiente porcin de cdigo ilustra el uso de la propiedad FirstIndex.


Function PruebaDeExpReg(modelo, cadena) Dim regEx, Match, Matches ' Crea una variable. Set regEx = New RegExp ' Crea una expresin regular. regEx.Pattern = modelo ' Establece el modelo. regEx.IgnoreCase = True ' Establece la no distincin entre maysculas y minscu regEx.Global = True ' Establece la aplicabilidad global. Set Matches = regEx.Execute(cadena) ' Ejecuta la bsqueda. For Each Match in Matches ' Repite la coleccin Matches. RetStr = RetStr & "Coincidencia " & I & " encontrada en la posicin " 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 Versin 5 Consulte tambin Propiedad Length | Propiedad Value Se aplica a: Objeto Match

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Propiedad Global
Establece o devuelve un valor booleano que indica si un modelo debera coincidir con todas las apariciones en toda una cadena de bsqueda o slo 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 bsqueda se aplica a toda la cadena y si no es as, False. El valor predeterminado es False. Observaciones La siguiente porcin de cdigo 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\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 215 de 264

Function PruebaDeExpReg(modelo, cadena) Dim regEx, Match, Matches ' Crea una variable. Set regEx = New RegExp ' Crea una expresin regular. regEx.Pattern = modelo ' Establece el modelo. regEx.IgnoreCase = True ' Establece la no distincin entre maysculas y minscu ' Establece la aplicabilidad global. regEx.Global = True Set Matches = regEx.Execute(cadena) ' Ejecuta la bsqueda. For Each Match in Matches ' Repite la coleccin Matches. RetStr = RetStr & "Coincidencia encontrada en la posicin " 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 Versin 5 Consulte tambin Propiedad IgnoreCase | Propiedad Pattern Se aplica a: Objeto Regular Expression (RegExp)

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin 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 vlido 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\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 216 de 264

automticamente el tema de Ayuda identificado. Si HelpFile y HelpContext estn vacos, se comprueba el valor de la propiedad Number.Si corresponde a un valor de error en tiempo de ejecucin 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 Versin 2 Consulte tambin Propiedad Description | Propiedad HelpFile | Propiedad Number | Propiedad Source Se aplica a: Objeto Err

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin 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\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 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 automticamente cuando un usuario hace clic en el botn de Ayuda (o presiona la tecla F1) en el cuadro de dilogo del mensaje de error. Si la propiedad HelpContext contiene un Id. de contexto vlido para el archivo especificado, dicho tema se muestra automticamente. 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 Versin 2 Consulte tambin Propiedad Description | Propiedad HelpContext | Propiedad Number | Propiedad Source Se aplica a: Objeto Err

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Propiedad IgnoreCase
Establece o devuelve un valor booleano que indica si una bsqueda de modelo distingue maysculas y minsculas o no.
objeto.IgnoreCase [= True | False ]

El argumento objeto es siempre un objeto RegExp. El valor de la propiedad IgnoreCase es False si la bsqueda distingue maysculas y minsculas y si no es as, True. El valor predeterminado es False.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 218 de 264

Observaciones La siguiente porcin de cdigo 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 expresin regular. regEx.Pattern = modelo ' Establece el modelo. ' Establece la no distincin entre maysculas y minscu regEx.IgnoreCase = True regEx.Global = True ' Establece la aplicabilidad global. Set Matches = regEx.Execute(cadena) ' Ejecuta la bsqueda. For Each Match in Matches ' Repite la coleccin Matches. RetStr = RetStr & "Coincidencia encontrada en la posicin " 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 Versin 5 Consulte tambin Propiedad Global | Propiedad Pattern Se aplica a: Objeto Regular Expression (RegExp)

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Propiedad Length
Devuelve la longitud de una coincidencia encontrada en una cadena de bsqueda.
objeto.Length

El argumento objeto es siempre un objeto Match. Observaciones La siguiente porcin de cdigo ilustra el uso de la propiedad Length:

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 219 de 264

Function PruebaDeExpReg(modelo, cadena) Dim regEx, Match, Matches ' Crea una variable. Set regEx = New RegExp ' Crea una expresin regular. regEx.Pattern = modelo ' Establece el modelo. regEx.IgnoreCase = True ' Establece la no distincin entre maysculas y minscu regEx.Global = True ' Establece la aplicabilidad global. Set Matches = regEx.Execute(cadena) ' Ejecuta la bsqueda. For Each Match in Matches ' Repite la coleccin Matches. RetStr = RetStr & "Coincidencia " & I & " encontrada en la posicin " 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 Versin 5 Consulte tambin Propiedad FirstIndex | Propiedad Value Se aplica a: Objeto Match

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Propiedad Number
Devuelve o establece un valor numrico que especifica un error. Number es la propiedad predeterminada del objeto Err.
objeto.Number [= nmeroerror]

Argumentos objeto Siempre el objeto Err. nmeroerror Un nmero entero que representa un nmero de error de VBScript o un valor de error SCODE. Observaciones

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 220 de 264

Cuando devuelva un error definido por el usuario de un objeto de automatizacin, establezca Err.Number agregando el nmero que haya seleccionado como un cdigo de error a la constante vbObjectError. La siguiente porcin de cdigo 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 Versin 1 Consulte tambin Propiedad Description | Propiedad HelpContext | Propiedad HelpFile | Objeto Err | Propiedad Source Se aplica a: Objeto Err

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Propiedad Pattern
Establece o devuelve el modelo de expresin regular que se busca.
objeto.Pattern [= "cadenabsqueda"]

Argumentos objeto Necesario. Siempre una variable de objeto RegExp. cadenabsqueda Opcional. Expresin de cadena regular que se busca. Puede incluir cualquiera de los caracteres de expresin regular definidos en la tabla de la seccin 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\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 221 de 264

Carcter \

^ $ * + ? . (modelo) x|y {n} {n,}

{n,m} [xyz] [^xyz] [a-z]

[^m-z] \b \B \d \D \f \n \r \s \S

Descripcin Marca el siguiente carcter como un carcter especial o un literal. Por ejemplo, "n" coincide con el carcter "n". "\n" coincide con un carcter de nueva lnea. La secuencia "\\" coincide con "\" y "\(" coincide con "(". Coincide con el comienzo de entrada. Coincide con el final de entrada. No coincide con el carcter precedente ninguna o varias veces. Por ejemplo, "zo*" coincide con "z" o "zoo". Coincide con el carcter precedente una o varias veces. Por ejemplo, "za+" coincide con "zar" pero no con "z". Coincide con el carcter precedente ninguna o varias veces. Por ejemplo, "a?ve?" coincide con "ve" en "volver". Coincide con cualquier carcter nico excepto con un carcter de nueva lnea. Coincide con modelo y recuerda la coincidencia. La subcadena coincidente se puede restablecer desde la coleccin Matches resultante, mediante Item [0]...[n]. Para hacer coincidir con caracteres de parntesis ( ), 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 nmero 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 nmero 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 nmeros enteros no negativos. Coinciden como mnimo n y como mximo 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 carcter alfabtico en minscula 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 carcter no incluido en el intervalo de la "m" a la "z". Coincide con un lmite de palabra, es decir, con la posicin entre una palabra y un espacio. Por ejemplo, "er\b" coincide con "er" en "volver" pero no con "er" en "verbo". Coincide con el lmite de un elemento que no sea de palabra. "at*r\B" coincide con "atr" en "volver atrs". Coincide con un carcter de dgito. Equivale a [0-9]. Coincide con un carcter que no sea dgito. Equivale a [^0-9]. Coincide con un carcter de avance de pgina. Coincide con un carcter de nueva lnea. Coincide con un carcter de retorno de carro. Coincide con cualquier espacio en blanco incluidos espacio, tabulacin, avance de pgina, etc. Equivale a "[ \f\n\r\t\v]". Coincide con cualquier carcter que no sea un espacio en blanco. Equivale a

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 222 de 264

\t \v \w \W \num

\n

\xn

"[^ \f\n\r\t\v]". Coincide con un carcter de tabulacin. Coincide con un carcter de tabulacin vertical. Coincide con cualquier carcter de palabra incluido subrayado. Equivale a "[A-Za-z09_]". Coincide con cualquier carcter que no sea de palabra. Equivale a "[^A-Za-z0-9_]". Coincide con nmero, donde nmero es un nmero entero positivo. Una referencia de vuelta atrs a coincidencias recordadas. Por ejemplo, "(.)\1" coincide con dos caracteres idnticos consecutivos. Coincide con n, donde n es un valor de escape octal. Los valores de escape octal deben tener 1, 2 3 dgitos de longitud. Por ejemplo, "\11" y "\011" coinciden con un carcter de tabulacin. "\0011" es el equivalente de "\001" & "1". Los valores de escape octal no deben sobrepasar 256. Si lo hacen, slo los dos primeros dgitos forman la expresin. Se permite utilizar cdigos ASCII en expresiones regulares. Coincide con n, donde n es un valor de escape hexadecimal. Los valores de escape hexadecimales deben tener exactamente dos dgitos de longitud. Por ejemplo, "\x41" coincide con "A". "\x041" es equivalente a "\x04" & "1". Se permite utilizar cdigos ASCII en expresiones regulares.

Observaciones La siguiente porcin de cdigo ilustra el uso de la propiedad Pattern.


Function PruebaDeExpReg(modelo, cadena) Dim regEx, Match, Matches ' Crea una variable. Set regEx = New RegExp ' Crea una expresin regular. ' Establece el modelo. regEx.Pattern = modelo regEx.IgnoreCase = True ' Establece la no distincin entre maysculas y minscu regEx.Global = True ' Establece la aplicabilidad global. Set Matches = regEx.Execute(cadena) ' Ejecuta la bsqueda. For Each Match in Matches ' Repite la coleccin Matches. RetStr = RetStr & "Coincidencia encontrada en la posicin " 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 Versin 2 Consulte tambin Propiedad Global | Propiedad IgnoreCase Se aplica a: Objeto Regular Expression (RegExp)

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 223 de 264

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Propiedad Source
Devuelve o establece el nombre del objeto o aplicacin que originalmente gener el error.
objeto.Source [= expresincadena]

Argumentos objeto Siempre el objeto Err. expresincadena Una expresin de cadena que representa la aplicacin que gener el error. Observaciones La propiedad Source especifica una expresin de cadena que es normalmente el nombre de clase o el Id. programtico del objeto que produjo el error. Utilice Source para proporcionar a sus usuarios informacin cuando su cdigo 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 Divisin por cero, Microsoft Excel establece Err.Number como el cdigo 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 cdigo de Divisin 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 cdigo puede intentar controlar el error de acuerdo con la documentacin del error del objeto que utiliz. Si se produce un error en su controlador de errores, puede utilizar la informacin 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 descripcin del error, etc. Cuando genere un error desde el cdigo, Source es el Id. programtico de su aplicacin. La siguiente porcin de cdigo 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 Versin 1

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 224 de 264

Consulte tambin Propiedad Description | Objeto Err | Propiedad HelpContext | Propiedad HelpFile | Propiedad Number | Instruccin On Error Se aplica a: Objeto Err

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin 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 bsqueda.
objeto.Value

El argumento objeto es siempre un objeto Match. Observaciones El cdigo 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 expresin regular. regEx.Pattern = modelo ' Establece el modelo. regEx.IgnoreCase = True ' Establece la no distincin entre maysculas y minscu regEx.Global = True ' Establece la aplicabilidad global. Set Matches = regEx.Execute(cadena) ' Ejecuta la bsqueda. For Each Match in Matches ' Repite la coleccin Matches. RetStr = RetStr & "Coincidencia " & I & " encontrada en la posicin " 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 Versin 1 Consulte tambin Propiedad FirstIndex | Propiedad Length

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 225 de 264

Se aplica a: Objeto Match

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Instrucciones
En esta seccin Instruccin Call Instruccin Class Instruccin Const Instruccin Dim Instruccin Do...Loop Instruccin Erase Instruccin Execute Instruccin ExecuteGlobal Instruccin Exit Instruccin For Each...Next Instruccin For...Next Instruccin Function Instruccin If...Then...Else Instruccin On Error Instruccin Option Explicit Instruccin Private Instruccin Property Get

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 226 de 264

Instruccin Property Let Instruccin Property Set Instruccin Public Instruccin Randomize Instruccin ReDim Instruccin Rem Instruccin Select Case Instruccin Set Instruccin Sub Instruccin While...Wend Instruccin With Secciones relacionadas Referencia del lenguaje VBScript

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Instruccin 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 parntesis. Por ejemplo: Call MiProc(0)

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 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 parntesis. Si omite la palabra clave Call, tambin debe omitir el parntesis alrededor de listaargumentos. Si utiliza cualquier sintaxis de Call para llamar a cualquier funcin intrnseca o definida por el usuario, se descarta el valor de retorno de la funcin.
Call MiFuncion("Hola a todos.") Function MiFuncion(texto) MsgBox texto End Function

Requisitos Versin 1

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Instruccin Class
Declara el nombre de una clase, as como una definicin de las variables, propiedades y mtodos que componen la clase.
Class nombre instrucciones End Class

Argumentos nombre Requerido. Nombre de Class. Sigue las convenciones de nomenclatura estndar de las variables. instrucciones Requerido. Una o varias instrucciones que definen las variables, propiedades y mtodos de Class. Comentarios

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 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 slo visible dentro del bloque Class. Cualquier cosa declarada Public es visible dentro del bloque Class, as como por el cdigo fuera del bloque Class. Cualquier cosa no declarada explcitamente como Private o Public es Public de manera predeterminada. Los procedimientos (Sub o Function) declarados Public dentro del bloque de clase se convierten en mtodos de la clase. Las variables Public sirven como propiedades de la clase, igual que las propiedades declaradas explcitamente mediante Property Get, Property Let y Property Set. Las propiedades y mtodos predeterminados para la clase se especifican en sus declaraciones mediante la palabra clave Default. Consulte los temas de instrucciones para declaraciones si desea obtener ms informacin acerca de cmo se utiliza esta palabra clave. Requisitos Versin 5 Consulte tambin Instruccin Dim | Instruccin Function | Instruccin Private | Instruccin Property Get | Instruccin Property Let | Instruccin Property Set | Instruccin Public | Instruccin Set | Instruccin Sub

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Instruccin Const
Declara constantes para utilizar en lugar de valores literales.
[Public | Private] Const nombreconst = expresin

Argumentos Public Opcional. Palabra clave utilizada en el nivel de secuencia de comandos para declarar constantes que estn 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 estn disponibles slo dentro de la secuencia de comandos donde se realiz la declaracin. No se admite en procedimientos. nombreconst Requerido. Nombre de la constante. Sigue las convenciones de nomenclatura estndar de las variables. expresin

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 229 de 264

Requerido. Literal u otra constante o cualquier combinacin que incluye todos los operadores aritmticos o lgicos 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 lnea, separe cada asignacin 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 intrnsecas (tales como Chr) en declaraciones de constante. Por definicin, no pueden ser constantes. Tampoco puede crear una constante a partir de cualquier expresin que implique un operador, es decir, slo 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 travs de la secuencia de comandos en la que se ha declarado. Puede utilizar constantes en cualquier lugar en que pueda utilizar una expresin. La siguiente porcin de cdigo ilustra el uso de la instruccin 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 ms fcilmente. A diferencia de las variables, las constantes no se pueden cambiar de forma inadvertida mientras se ejecuta la secuencia de comandos. Requisitos Versin 5 Consulte tambin Instruccin Dim | Instruccin Function | Instruccin Private | Instruccin Public | Instruccin Sub

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Instruccin Dim

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 230 de 264

Declara variables y asigna espacio de almacenamiento.


Dim nombrevar[([subndices])][, nombrevar[([subndices])]] . . .

Argumentos nombrevar Nombre de la variable. Sigue las convenciones de nomenclatura estndar de las variables. subndices Dimensiones de una variable de matriz. Se puede declarar hasta 60 dimensiones mltiples. El argumento subndices utiliza la siguiente sintaxis: lmitesup [,lmitesup] . . . El lmite inferior de una matriz es siempre cero. Comentarios Las variables declaradas con Dim en el nivel de secuencia de comandos estn disponibles para todos los procedimientos dentro de la secuencia de comandos. En el nivel de procedimiento, las variables estn disponibles slo dentro del procedimiento. Tambin puede utilizar la instruccin Dim con parntesis vacos para declarar una matriz dinmica. Despus de declarar una matriz dinmica, utilice la instruccin ReDim dentro de un procedimiento para definir el nmero de dimensiones y elementos de la matriz. Si intenta volver a declarar una dimensin para una variable de matriz cuyo tamao se especific explcitamente en una instruccin Dim, se produce un error. Nota Cuando utiliza la instruccin Dim en un procedimiento, generalmente sita la instruccin Dim al comienzo del procedimiento. El siguiente ejemplo ilustra el uso de la instruccin Dim:
' Declara una matriz con 10 elementos. Dim Nombres(9) ' Declara una matriz dinmica. Dim Nombres() Dim MiVar, MiNum ' Declara dos variables.

Requisitos Versin 1 Consulte tambin Instruccin Private | Instruccin Public | Instruccin ReDim | Instruccin Set

2001 Microsoft Corporation. Reservados todos los derechos.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 231 de 264

Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Instruccin Do...Loop
Repite un bloque de instrucciones mientras una condicin es True o hasta que una condicin sea True.
Do [{While | Until} condicin] [instrucciones] [Exit Do] [instrucciones] Loop

O bien, puede utilizar esta sintaxis:


Do [instrucciones] [Exit Do] [instrucciones] Loop [{While | Until} condicin]

Argumentos condicin Expresin numrica o de cadena que es True o False. Si la condicin es Null, la condicin se trata como False. instrucciones Una o varias instrucciones que se repiten mientras la condicin es o hasta que sea True. Comentarios Exit Do slo 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 nmero de instrucciones Exit Do en cualquier lugar del bucle Do...Loop. A menudo se utiliza con la evaluacin de alguna condicin (por ejemplo, If...Then). Exit Do transfiere el control a la instruccin que aparece inmediatamente despus 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 instruccin Do...Loop:
Do Until DefResp = vbNo MiNum = Int (6 * Rnd + 1) ' Genera un nmero entero aleatorio entre 1 y 6. DefResp = MsgBox (MiNum & " Desea otro nmero?", 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\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 232 de 264

Contador = Contador + 1 ' Incrementa el contador. If Contador = 10 Then ' Si la condicin 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 Versin 1 Consulte tambin Instruccin Exit | Instruccin For...Next | Instruccin While...Wend

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Instruccin Erase
Reinicializa los elementos de matrices de tamao fijo y libera espacio de almacenamiento de la matriz dinmica.
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 tamao fijo (ordinaria) o dinmica porque Erase se comporta de manera diferente segn el tipo de matriz. Erase no recupera memoria para matrices de tamao fijo. Erase establece los elementos de una matriz fija de la forma siguiente: Tipo de matriz Matriz numrica 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 dinmicas. Antes de que su programa pueda hacer referencia a la matriz dinmica de nuevo, debe volver a declarar las dimensiones de la variable de la matriz mediante una instruccin ReDim.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 233 de 264

El siguiente ejemplo ilustra el uso de la instruccin 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 Versin 1 Consulte tambin Instruccin Dim | Nothing | Instruccin ReDim

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Instruccin Execute
Ejecuta una o varias instrucciones especificadas.
Execute instruccin

El argumento requerido instruccin es una expresin de cadena que contiene una o ms instrucciones para ejecutar. Incluye mltiples instrucciones en el argumento instruccin, mediante el uso de dos puntos (:) o saltos de lnea incrustados para separarlas. Comentarios En VBScript, x = y se puede interpretar de dos formas. La primera es una instruccin de asignacin, donde el valor de y se asigna a x. La segunda interpretacin es como una expresin que comprueba si x y y tienen el mismo valor. Si es as, el resultado es True; si no, el resultado es False. La instruccin Execute utiliza siempre la primera interpretacin, mientras que el mtodo Eval utiliza siempre la segunda. Nota En Microsoft JScript, no existe confusin entre asignacin y comparacin, porque el operador de asignacin (=) es diferente del operador de comparacin (==). El contexto en el que se invoca la instruccin Execute determina qu objetos y variables estn disponibles para el cdigo que se ejecuta. Los objetos y variables dentro del mbito estn disponibles para codificarse en una instruccin Execute. Sin embargo, es importante entender que si ejecuta un cdigo que crea un procedimiento, dicho procedimiento no hereda el mbito del procedimiento en que

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 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 slo se puede ejecutar en el contexto del procedimiento donde apareci la instruccin Execute. Sin embargo, si la misma instruccin Execute se invoca fuera de un procedimiento (es decir, mbito global), no slo hereda todo en el mbito global, sino que tambin 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 instruccin 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 lnea 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 invocacin se realiz correctamente porque Proc2 ' est ahora disponible globalmente.

El siguiente ejemplo muestra cmo se puede volver a escribir la instruccin 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 Versin 1 Consulte tambin Instruccin Eval | Instruccin ExecuteGlobal

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 235 de 264

Instruccin ExecuteGlobal
Ejecuta una o varias instrucciones especificadas en el espacio de nombres global de una secuencia de comandos.
ExecuteGlobal instruccin

El argumento instruccin necesario es una expresin de cadena que contiene una o varias instrucciones para ejecutar. Incluya varias instrucciones en el argumento instruccin y utilice dos puntos o saltos de lnea incrustados para separarlas. Comentarios En VBScript, x = y se puede interpretar de dos formas. La primera es una instruccin de asignacin, donde el valor de y se asigna a x. La segunda interpretacin es como una expresin que comprueba si x y y tienen el mismo valor. Si es as, el resultado es True; si no, el resultado es False. La instruccin ExecuteGlobal utiliza siempre la primera interpretacin, mientras que el mtodo Eval utiliza siempre la segunda. Nota En Microsoft JScript, no existe confusin entre asignacin y comparacin, porque el operador de asignacin (=) es diferente del operador de comparacin (==). Todas las instrucciones utilizadas con ExecuteGlobal se ejecutan en el espacio de nombres global de la secuencia de comandos. Este permite agregar cdigo al programa de manera que cualquier procedimiento pueda tener acceso a l. Por ejemplo, se puede ejecutar una instruccin Class de VBScript en tiempo de ejecucin y las funciones podrn, a continuacin, crear nuevas instancias de la clase. Agregar procedimientos y clases en tiempo de ejecucin puede ser til, pero tambin introduce la posibilidad de sobrescribir variables globales y funciones ya existentes. Puesto que esto puede causar problemas de programacin importantes, se debe tener especial cuidado cuando utilice la instruccin ExecuteGlobal. Si no necesita tener acceso a una variable o funcin fuera de un procedimiento, utilice la instruccin Execute, que slo afecta al espacio de nombres de la funcin que llama. El siguiente ejemplo ilustra el uso de la instruccin 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 instruccin 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 lnea produce un error ya que ' Proc2 no est disponible fuera de Proc1.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 236 de 264

Proc1 ' Invoca a Proc1. Execute "Sub Proc2: Print X: End Sub" Proc2 ' Esta invocacin se realiz correctamente ' porque Proc2 est ahora disponible globalmente.

El siguiente ejemplo muestra cmo se puede volver a escribir la instruccin 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 Versin 1

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Instruccin Exit
Sale de un bloque de cdigo Do...Loop, For...Next, Function o Sub.
Exit Exit Exit Exit Exit Do For Function Property Sub

La sintaxis de la instruccin Exit se compone de: Instruccin Exit Do Descripcin Proporciona una forma de salir de una instruccin Do...Loop. Slo se puede utilizar dentro de una instruccin Do...Loop. Exit Do transfiere el control a la instruccin que sigue a la instruccin 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. Slo se puede utilizar en un bucle For...Next o For Each...Next. Exit For transfiere el control a la instruccin 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 ejecucin

Exit For

Exit Function

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 237 de 264

Exit Property Exit Sub

contina con la instruccin que sigue a la que llam a Function. Inmediatamente sale del procedimiento Property en el que aparece. La ejecucin contina con la instruccin que sigue a la que llam al procedimiento Property. Inmediatamente sale del procedimiento Sub en el que aparece. La ejecucin contina con la instruccin que sigue a la que llam a Sub.

El siguiente ejemplo ilustra el uso de la instruccin 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 nmeros aleatorios. Select Case MiNum ' Evala un nmero 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 Versin 1 Consulte tambin Instruccin Do...Loop | Instruccin For Each...Next | Instruccin For...Next | Instruccin Function | Instruccin Sub

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Instruccin For Each...Next


Repite un grupo de instrucciones para cada elemento en una matriz o coleccin.
For Each elemento In grupo [instrucciones] [Exit For] [instrucciones] Next [elemento]

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 238 de 264

Argumentos elemento Variable utilizada para repetir los elementos de la coleccin o matriz. Para colecciones, elemento slo puede ser una variable Variant, una variable genrica Object o cualquier variable de objeto de automatizacin especfica. Para matrices, elemento slo puede ser una variable Variant. grupo Nombre de una coleccin 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 ms elementos en el grupo, las instrucciones del bucle continan ejecutndose para cada elemento. Cuando no existen ms elementos en el grupo, se sale del bucle y la ejecucin contina con la instruccin que sigue a Next. Exit For slo 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 nmero de declaraciones Exit For en cualquier lugar del bucle. A menudo, Exit For se utiliza con la evaluacin de alguna condicin (por ejemplo, If...Then) y transfiere el control a la instruccin que aparece inmediatamente despus 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 instruccin Next, la ejecucin contina como si lo hubiera incluido. Si se ejecuta una instruccin Next antes de su instruccin For correspondiente, se produce un error. El siguiente ejemplo ilustra el uso de la instruccin 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 & "<BR>" Next MostrarListaDeCarpetas = s End Function

Requisitos Versin 2 Consulte tambin

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 239 de 264

Instruccin Do...Loop | Instruccin Exit | Instruccin For...Next | Instruccin While...Wend

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Instruccin For...Next
Repite un grupo de instrucciones un nmero de veces especificado.
For contador = inicio To fin [Step paso] [instrucciones] [Exit For] [instrucciones] Next

Argumentos contador Variable numrica 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 nmero 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 nmero 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 (segn la misma prueba que hizo que el bucle se ejecutara inicialmente), o se sale del bucle y la ejecucin contina con la instruccin que sigue a Next.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 240 de 264

Nota Cambiar el valor de contador mientras est dentro de un bucle puede dificultar la lectura y la depuracin de su cdigo. Exit For slo 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 nmero de declaraciones Exit For en cualquier lugar del bucle. A menudo, Exit For se utiliza con la evaluacin de alguna condicin (por ejemplo, If...Then) y transfiere el control a la instruccin que aparece inmediatamente despus de Next. Puede anidar bucles For...Next si ubica un bucle For...Next dentro de otro. Dle 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 Versin 1 Consulte tambin Instruccin Do...Loop | Instruccin Exit | Instruccin For Each...Next | Instruccin While...Wend

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Instruccin Function
Declara el nombre, argumentos y cdigo que forman el cuerpo de un procedimiento Function.
[Public [Default] | Private] Function nombre [(listaArgumentos)] [instrucciones] [nombre = expresin] [Exit Function] [instrucciones] [nombre = expresin] End Function

Argumentos

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 241 de 264

Public Indica que el procedimiento Function es accesible para todos los otros procedimientos de todas las secuencias de comandos. Default Utilizado slo con la palabra clave Public en un bloque Class para indicar que el procedimiento Function es el mtodo predeterminado para la clase. Se produce un error si se especifica ms de un error Default en una clase. Private Indica que el procedimiento Function es accesible slo para otros procedimientos en la secuencia de comandos donde se declara o si la funcin es un miembro de una clase y que el procedimiento Function es accesible slo a otros procedimientos en dicha clase. nombre Nombre de Function. Sigue las convenciones de nomenclatura estndar 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 mltiples. instrucciones Cualquier grupo de instrucciones que se van a ejecutar dentro del cuerpo del procedimiento Function. expresin 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 estndar de las variables. Comentarios Si no se especifica explcitamente con Public o Private, los procedimientos Function son pblicos 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 instruccin Exit Function provoca una salida inmediata de un procedimiento Function. La ejecucin del programa contina con la instruccin que sigue a la que llam al procedimiento Function. Puede aparecer cualquier nmero de instrucciones Exit Function en cualquier lugar de un procedimiento Function.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 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 expresin del mismo modo que utiliza cualquier funcin intrnseca, como Sqr, Cos o Chr, cuando desea utilizar el valor devuelto por la funcin. Puede llamar a un procedimiento Function con el nombre de la funcin, seguido por el argumento entre parntesis, en una expresin. Consulte la instruccin Call para obtener informacin especfica acerca de cmo llamar a procedimientos Function. Precaucin 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 funcin, asigne el valor al nombre de la funcin. Cualquier nmero de dichas asignaciones puede aparecer en cualquier lugar dentro del procedimiento. Si no se asigna ningn valor a nombre, el procedimiento devuelve un valor predeterminado: una funcin numrica devuelve 0 y una funcin de cadena devuelve una cadena de longitud cero (""). Una funcin 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 cmo asignar un valor de retorno a una funcin denominada BinarySearch. En este caso, se asigna False al nombre para indicar que no se ha encontrado algn 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 categoras: aquellas que se declaran explcitamente dentro del procedimiento y aquellas que no. Las variables que se declaran explcitamente dentro de un procedimiento (con Dim o su equivalente) son siempre locales al procedimiento. Las variables que se utilizan pero no se declaran explcitamente dentro de un procedimiento son tambin locales a no ser que se declaren explcitamente en algn nivel superior fuera del procedimiento. Precaucin Un procedimiento puede utilizar una variable que no se declare explcitamente 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 instruccin Option Explicit con la que se fuerce la declaracin explcita de variables. Precaucin Puede que VBScript reorganice las expresiones aritmticas para aumentar la eficacia interna. Evite utilizar un procedimiento Function en una expresin aritmtica

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 243 de 264

cuando la funcin cambie el valor de las variables en la misma expresin. Requisitos Versin 1 Consulte tambin Instruccin Call | Instruccin Dim | Instruccin Exit | Nothing | Instruccin Set | Instruccin Sub

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Instruccin If...Then...Else
Ejecuta de forma condicional un grupo de instrucciones, segn el valor de una expresin.
If condicin Then instrucciones [Else instruccioneselse ]

O bien, puede utilizar la sintaxis de forma de bloque:


If condicin Then [instrucciones] [Else condicin-n Then [instruccioneselseif]] . . . [Else [instruccioneselse]] End If

Argumentos condicin Uno o varios de los siguientes tipos de expresiones: Una expresin numrica o de cadena que se evala como True o False. Si la condicin es Null, la condicin se trata como False. Una expresin de la forma TypeOf nombreobjeto Is tipoobjeto. El nombreobjeto es cualquier referencia de objeto y tipoobjeto es cualquier tipo de objeto vlido. La expresin 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 condicin es True. condicin-n

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 244 de 264

Igual que condicin. instruccioneselseif Una o varias instrucciones ejecutadas si la condicin-n asociada es True. instruccioneselse Una o varias instrucciones ejecutadas si ninguna expresin de condicin o condicin-n previa es True. Comentarios Puede utilizar la forma de lnea 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 lnea nica y es normalmente ms fcil de leer, mantener y depurar. Nota Con la sintaxis de lnea nica, es posible hacer que se ejecuten varias instrucciones como resultado de una decisin If...Then, pero deben estar todas en la misma lnea y separadas por dos puntos, como en la siguiente instruccin:
If A > 10 Then A = A + 1 : B = B + A : C = C + B

Cuando se ejecuta un bloque If (segunda sintaxis), se prueba la condicin. Si la condicin es True, se ejecutan las instrucciones que siguen a Then. Si la condicin es False, se evala cada ElseIf (si hubiera) por turno. Cuando se encuentra una condicin True, se ejecutan las instrucciones que siguen a la instruccin Then asociada. Si ninguna de las instrucciones ElseIf son True (o no existen clasulas ElseIf), se ejecutan las instrucciones que siguen a Else. Despus de ejecutar las instrucciones que siguen a Then o Else, la ejecucin contina con la instruccin que sigue a End If. Las clasulas Else y ElseIf son opcionales. Puede tener tantas instrucciones ElseIf como desee en un bloque If, pero ninguna puede aparecer despus de la clasula 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 instruccin es un bloque If o no. Si aparece cualquier otra cosa que no sea un comentario despus de Then en la misma lnea, la instruccin de trata como una instruccin de lnea nica If. Una instruccin de bloque If debe ser la primera instruccin en una lnea. El bloque If debe terminar con una instruccin End If. Requisitos Versin 1

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 245 de 264

Instruccin On Error
Habilita o deshabilita el control de errores.
On Error Resume Next On Error GoTo 0

Comentarios Si no utiliza una instruccin On Error Resume Next en algn lugar de su cdigo, cualquier error en tiempo de ejecucin que ocurra puede causar que se muestre un mensaje de error y se detenga la ejecucin del cdigo. Sin embargo, el host que ejecuta el cdigo 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 indicacin aparente de que ocurra algn error porque el host no lo notifica al usuario. De nuevo, esto es puramente una funcin de cmo 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 algn lugar de la pila de llamadas. Si no se habilita un control de errores local en un procedimiento y ocurre un error, se vuelve atrs el control a travs 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 ejecucin o el host controla el error como sea apropiado. On Error Resume Next hace que la ejecucin contine en la instruccin que sigue a la instruccin que produjo el error en tiempo de ejecucin, o con la instruccin que sigue a la llamada ms reciente del procedimiento que contiene la instruccin On Error Resume Next. Esto permite que la ejecucin contine aunque se produzca un error en tiempo de ejecucin. Puede generar la rutina de control de errores en una lnea dentro del procedimiento. Una instruccin On Error Resume Next se vuelve inactiva cuando se llama a otro procedimiento, por lo que debe ejecutar una instruccin On Error Resume Next en cada rutina de llamada si quiere controlar el error en lnea dentro de la rutina. Cuando se sale de un procedimiento, la capacidad de control de errores vuelve al control de errores que estaba en ejecucin 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 instruccin 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 Versin 1

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 246 de 264

Consulte tambin Objeto Err | Instruccin Exit

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Instruccin Option Explicit


Fuerza la declaracin explcita de todas las variables de una secuencia de comandos.
Option Explicit

Comentarios Si se utiliza, la instruccin Option Explicit debe aparecer en una secuencia de comandos antes de cualquier otra instruccin. Cuando utiliza la instruccin Option Explicit, debe declarar explcitamente 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 cdigo all donde el mbito de la variable no est claro. El siguiente ejemplo ilustra el uso de la instruccin Option Explicit.
' Fuerza la declaracin explcita 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 ningn error.

Requisitos Versin 1

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 247 de 264

Visual Basic Scripting Edition

Instruccin Private
Declara variables como privadas y les asigna espacio de almacenamiento. Declara, en un bloque Class, una variable privada.
Private nombreVariable[([subndices])][, nombreVariable[([subndices])]] . . .

Argumentos nombreVariable Nombre de la variable. Sigue las convenciones de nomenclatura estndar de las variables. subndices Dimensiones de una variable de matriz. Se puede declarar hasta 60 dimensiones mltiples. El argumento subndices utiliza la siguiente sintaxis: superior [, superior] . . . El lmite inferior de una matriz es siempre cero. Comentarios Las variables de instrucciones Private estn slo 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 instruccin Set antes de que se pueda utilizar. Hasta que se asigna a un objeto, la variable del objeto declarado se inicializa como Empty. Tambin puede utilizar la instruccin Private con parntesis vaco para declarar una matriz dinmica. Despus de declarar una matriz dinmica, utilice la instruccin ReDim dentro de un procedimiento para definir el nmero de dimensiones y elementos de la matriz. Si intenta volver a declarar una dimensin para una variable de matriz cuyo tamao se especific explcitamente en una instruccin Private, Public o Dim se produce un error. Nota Cuando utiliza la instruccin Private en un procedimiento, generalmente sita la instruccin Private al comienzo del procedimiento. El siguiente ejemplo ilustra el uso de la instruccin Private.
' Variable de tipo Variant declarada como Private. Private MiNumero ' Variable de matriz declarada como Private. Private MiMatriz(9) ' Declaraciones Private mltiples de variables de tipo Variant. Private MiNumero, MiVar, SuNumero

Requisitos Versin 1

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 248 de 264

Consulte tambin Instruccin Dim | Instruccin Public | Instruccin ReDim | Instruccin Set

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Instruccin Property Get


Declara, en un bloque Class, el nombre, argumentos y cdigo 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 = expresin] [Exit Property] [instrucciones] [[Set] nombre = expresin] 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 slo 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 slo para otros procedimientos del bloque Class donde se declar. nombre Nombre del procedimiento Property Get. Sigue las convenciones de nomenclatura estndar de las variables, con la excepcin 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 mltiples. 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\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 249 de 264

Palabra clave utilizada cuando se asigna un objeto como valor de retorno de un procedimiento Property Get. expresin Devuelve el valor del procedimiento Property Get. Comentarios Si no se especifica explcitamente mediante Public o Private, los procedimientos Property Get son pblicos 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 instruccin Exit Property provoca una salida inmediata de un procedimiento Property Get. La ejecucin del programa contina con la instruccin que sigue a la instruccin que llam al procedimiento Property Get. Cualquier nmero 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 expresin del mismo modo que utiliza un procedimiento Function o un nombre de propiedad cuando desea devolver el valor de una propiedad. Requisitos Versin 5 Consulte tambin Instruccin Class | Instruccin Dim | Instruccin Exit | Instruccin Function | Instruccin Private | Instruccin Property Let | Instruccin Property Set | Instruccin Public | Instruccin Set | Instruccin Sub

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Instruccin Property Let


Declara, en un bloque Class, el nombre, argumentos y cdigo que forman el cuerpo de un procedimiento Property que asigna (establece) el valor de una propiedad.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 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 slo para otros procedimientos del bloque Class donde se ha declarado. nombre Nombre del procedimiento Property Let. Sigue las convenciones de nomenclatura estndar de las variables, con la excepcin 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 mltiples. El nombre de cada argumento de un procedimiento Property Let debe ser el mismo que el argumento correspondiente de un procedimiento Property Get. Adems, el procedimiento Property Let tendr siempre un argumento ms 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 expresin que llama. instrucciones Cualquier grupo de declaraciones que se van a ejecutar dentro del cuerpo del procedimiento Property Let. Comentarios Si no se especifica explcitamente mediante Public o Private, los procedimientos Property Let son pblicos 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 instruccin Exit Property provoca una salida inmediata de un procedimiento Property Let. La ejecucin del programa contina con la instruccin que sigue a la instruccin que llam al procedimiento Property Let. Cualquier nmero de instrucciones Exit Property puede aparecer en cualquier lugar de un procedimiento Property Let. Nota La instruccin Property Let debe definir al menos un argumento para el procedimiento que defina. Dicho argumento (o el ltimo argumento si hubiera ms de uno) contiene el valor actual que se va a asignar a la propiedad cuando se invoca al procedimiento definido por la instruccin Property Let. A dicho argumento se hace

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 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, slo puede utilizar un procedimiento Property Let en la parte izquierda de una expresin de asignacin de propiedad. Requisitos Versin 5 Consulte tambin Instruccin Class | Instruccin Dim | Instruccin Exit | Instruccin Function | Instruccin Private | Instruccin Property Get | Instruccin Property Set | Instruccin Public | Instruccin Set | Instruccin Sub

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Instruccin Property Set


Declara, en un bloque Class, el nombre, argumentos y cdigo 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 slo para otros procedimientos del bloque Class donde se ha declarado. nombre Nombre del procedimiento Property Set. Sigue las convenciones de nomenclatura estndar de las variables, con la excepcin 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\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 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 mltiples. Adems, el procedimiento Property Set tendr siempre un argumento ms 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 asignacin 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 explcitamente mediante Public o Private, los procedimientos Property Set son pblicos 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 instruccin Exit Property provoca una salida inmediata de un procedimiento Property Set. La ejecucin del programa contina con la instruccin que sigue a la instruccin que llam al procedimiento Property Set. Cualquier nmero de instrucciones Exit Property puede aparecer en cualquier lugar de un procedimiento Property Set. Nota La instruccin Property Set debe definir al menos un argumento para el procedimiento que defina. Dicho argumento (o el ltimo argumento si existe ms de uno) contiene la referencia del objeto actual para la propiedad cuando se invoca el procedimiento definido por la instruccin 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, slo puede utilizar un procedimiento Property Set en la parte izquierda de una asignacin de referencias de objeto (instruccin Set). Requisitos Versin 5 Consulte tambin Instruccin Class | Instruccin Dim | Instruccin Exit | Instruccin Function | Instruccin Private | Instruccin Property Get | Instruccin Property Let | Instruccin Public | Instruccin Set | Instruccin Sub

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 253 de 264

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Instruccin Public
Declara variables como pblicas y libera espacio de almacenamiento. Declara, en un bloque Class, una variable privada.
Public nombreVariable[(subndices])][, nombreVariable[([subndices])]] . . .

Argumentos nombreVariable Nombre de la variable. Sigue las convenciones de nomenclatura estndar de las variables. subndices Dimensiones de una variable de matriz. Se puede declarar hasta 60 dimensiones mltiples. El argumento subndices utiliza la siguiente sintaxis: superior [, superior] . . . El lmite inferior de una matriz es siempre cero. Comentarios Las variables de instrucciones Public estn 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 instruccin Set antes de que se pueda utilizar. Hasta que se asigna a un objeto, la variable del objeto declarado se inicializa como Empty. Tambin puede utilizar la instruccin Public con parntesis vacos para declarar una matriz dinmica. Despus de declarar una matriz dinmica, utilice la instruccin ReDim dentro de un procedimiento para definir el nmero de dimensiones y elementos de la matriz. Si intenta volver a declarar una dimensin para una variable de matriz cuyo tamao se especific explcitamente en una instruccin Private, Public o Dim se produce un error. El siguiente ejemplo ilustra el uso de la instruccin Public:
' Variable de tipo Variant declarada como Public. Public MiNumero ' Variable de matriz declarada como Public. Public MiMatriz(9) ' Declaraciones Public mltiples de variables de tipo Variant. Public MiNumero, MiVar, SuNumero

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 254 de 264

Requisitos Versin 1 Consulte tambin Instruccin Dim | Instruccin Private | Instruccin ReDim | Instruccin Set

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Instruccin Randomize
Inicializa el generador de nmeros aleatorios.
Randomize [nmero]

El argumento nmero puede ser cualquier expresin numrica vlida. Comentarios Randomize utiliza nmero para inicializar el generador de nmeros aleatorios de la funcin Rnd, para ello, le asigna un nuevo valor seed. Si omite nmero, el valor devuelto por el temporizador del sistema se utiliza como el nuevo valor seed. Si no se utiliza Randomize, la funcin Rnd (sin argumentos) utiliza el mismo nmero que un seed la primera vez que se le llama y despus utiliza el ltimo nmero generado como valor seed. Nota Para repetir secuencias de nmeros aleatorios, llame a Rnd con un argumento negativo inmediatamente antes de utilizar Randomize con un argumento numrico. Utilizar Randomize con el mismo valor para nmero no repite la secuencia anterior. El siguiente ejemplo ilustra el uso de la instruccin Randomize.
Dim MiValor, Respuesta ' Inicializa el generador de nmeros 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\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 255 de 264

Versin 1 Consulte tambin Funcin Rnd | Funcin Timer

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Instruccin ReDim
Declara variables de matriz dinmica y asigna o vuelve a asignar espacio de almacenamiento para procedimientos.
ReDim [Preserve] nombreVariable(subndices) [, nombreVariable(subndices)] . . .

Argumentos Preserve Conserva los datos en una matriz existente cuando modifica el tamao de la ltima dimensin. nombreVariable Nombre de la variable. Sigue las convenciones de nomenclatura estndar de las variables. subndices Dimensiones de una variable de matriz. Se puede declarar hasta 60 dimensiones mltiples. El argumento subndices utiliza la siguiente sintaxis: superior [, superior] . . . El lmite inferior de una matriz es siempre cero. Comentarios La instruccin ReDim se utiliza para cambiar el tamao de una matriz dinmica que ya se ha declarado formalmente mediante una instruccin Private, Public o Dim con parntesis vaco (sin subndices de tamao). Puede utilizar la instruccin ReDim repetidamente para cambiar el nmero de elementos y dimensiones de una matriz. Si utiliza la palabra clave Preserve, puede modificar el tamao slo de la ltima dimensin de la matriz y no puede modificar el nmero de dimensiones. Por ejemplo, si su matriz tiene slo una dimensin, puede cambiar el tamao de dicha dimensin porque es la nica y ltima. Sin embargo, si su matriz tiene dos o ms dimensiones, slo puede cambiar el tamao de la ltima dimensin y an conservar el contenido de la matriz.

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 256 de 264

El siguiente ejemplo muestra cmo puede incrementar el tamao de la ltima dimensin de una matriz dinmica sin borrar ningn dato contenido en la matriz.
ReDim X(10, 10, 10) . . . ReDim Preserve X(10, 10, 15)

Precaucin Si reduce el tamao original de una matriz, se pierden los datos de los elementos eliminados. Cuando se inicializan variables, se inicializa una variable numrica 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 instruccin 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 Versin 1 Consulte tambin Instruccin Dim | Instruccin Set

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Instruccin Rem
Incluye comentarios explicativos en un programa.
Rem comentario

o bien
' comentario

El argumento comentario es el texto de cualquier comentario que desee incluir. Despus de la palabra clave Rem, se necesita un espacio antes del comentario. Comentarios Tal y como se muestra en la seccin de sintaxis, puede utilizar un apstrofe (') en lugar de la palabra clave Rem. Si la palabra clave Rem sigue a otras instrucciones en una lnea, debe estar separada de las

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 257 de 264

mismas por dos puntos. Sin embargo, cuando utiliza un apstrofe, no son necesarios los dos puntos despus de otras instrucciones. El siguiente ejemplo ilustra el uso de la instruccin Rem.
Dim MiCadena1, MiCadena2 MiCadena1 = "Hola" : Rem Comentario despus de una instruccin separado por dos punt MiCadena2 = "Adis" ' Esto es tambin un comentario; no se necesitan dos puntos. Rem Comentario en una lnea sin cdigo; no se necesitan dos puntos.

Requisitos Versin 1

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Instruccin Select Case


Ejecuta uno o varios grupos de instrucciones, segn el valor de una expresin.
Select Case expresinprueba [Case listaexpresiones-n [instrucciones-n]] . . . [Case Else listaexpresiones-n [instruccioneselse-n]] End Select

Argumentos expresinprueba Cualquier expresin de cadena o numrica. listaexpresiones-n Necesario si aparece Case. Lista delimitada de una o ms expresiones. instrucciones-n Una o ms instrucciones ejecutadas si expresinprueba coincide con cualquier parte de listaexpresiones-n. instruccioneselse-n Una o varias instrucciones ejecutadas si expresinprueba no coincide con ninguna de las clasulas Case. Comentarios Si expresinprueba coincide con cualquier expresin Case de listaexpresiones, las instrucciones que

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 258 de 264

siguen a dicha clasula Case se ejecutan hasta la siguiente clasula Case, o para la ltima clasula, hasta End Select. Entonces se pasa el control a la instruccin End Select siguiente. Si expresinprueba coincide con una expresin de listaexpresiones en ms de una clasula Case, slo se ejecutan las instrucciones que siguen a la primera coincidencia. La clasula Case Else se utiliza para indicar las instruccioneselse que se van a ejecutar si no se encuentra ninguna coincidencia entre la expresinprueba y una listaexpresiones en cualquier de las otras selecciones Case. Aunque no es necesario, es una buena idea tener una instruccin Case Else en su bloque Select Case para controlar los valores de expresinprueba imprevistos. Si ninguna instruccin Case con listaexpresiones coincide con expresinprueba y no existe ninguna instruccin Case Else, la ejecucin contina en la instruccin que sigue a End Select. Las instrucciones Select Case se pueden anidar. Cada instruccin Select Case anidada debe tener una instruccin End Select coincidente. El siguiente ejemplo ilustra el uso de la instruccin 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 Versin 1 Consulte tambin Instruccin If...Then...Else

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Instruccin 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\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 259 de 264

Set variableObjeto = {expresinObjeto | New nombreClase | Nothing}

o bien
Set objeto.nombreEvento = GetRef(nombreProc)

Parmetros variableObjeto Requerido. Nombre de la variable o propiedad. Sigue las convenciones de nomenclatura estndar de las variables. expresinObjeto Opcional. Expresin que se compone del nombre de un objeto, otra variable declarada del mismo tipo de objeto, o una funcin o mtodo 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 slo se puede utilizar para crear una instancia de una clase. nombreClase Opcional. Nombre de la clase que se est creando. La instruccin Class su usa para definir una clase y sus miembros. Nothing Opcional. Interrumpe la asociacin de variableObjeto con cualquier objeto o clase especfica. 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 funcin. nombreProc Requerido. Cadena que contiene el nombre del Sub o Function que se asociar con el evento. Comentarios Para ser vlido, variableObjeto debe ser un tipo de objeto consistente con el objeto al que se est asignando. Las instrucciones Dim, Private, Public o ReDim slo declaran una variable que se refiere a un objeto. En realidad no se referencia ningn objeto hasta que utilice la instruccin 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 ms 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\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 260 de 264

s = s & d.VolumeName & "<BR>" 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 instruccin Dim (o equivalente). Consulte la documentacin de la funcin GetRef para obtener ms informacin acerca del uso de Set para asociar un procedimiento con un evento. Requisitos Versin 1 Consulte tambin Operador de asignacin (=) | Instruccin Dim | Funcin GetRef | Instruccin ReDim

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Instruccin Sub
Declara el nombre, argumentos y cdigo 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 slo con la palabra clave Public en un bloque Class para indicar que el procedimiento Sub es el mtodo predeterminado para la clase. Se produce un error si se especifica ms de un error Default en una clase. Private

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 261 de 264

Indica que el procedimiento Sub es accesible slo para otros procedimientos de la secuencia de comandos donde se ha declarado. nombre Nombre de Sub. Sigue las convenciones de nomenclatura estndar 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 mltiples. 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 estndar de las variables. Comentarios Si no se especifica explcitamente con Public o Private, los procedimientos Sub son pblicos 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 instruccin Exit Sub provoca una salida inmediata de un procedimiento Sub. La ejecucin del programa contina con la instruccin que sigue a la que llam al procedimiento Sub. Puede aparecer cualquier nmero 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 expresin. Se llama a un procedimiento Sub mediante su nombre seguido de la lista de argumentos. Remtase a la instruccin Call para obtener informacin especfica acerca de cmo llamar a un procedimiento Sub. Precaucin 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\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 262 de 264

Las variables utilizadas en los procedimientos Sub pertenecen a dos categoras: aquellas que se declaran explcitamente dentro del procedimiento y aquellas que no. Las variables que se declaran explcitamente dentro de un procedimiento (con Dim o su equivalente) son siempre locales al procedimiento. Las variables que se utilizan pero no se declaran explcitamente dentro de un procedimiento son tambin locales a no ser que se declaren explcitamente en algn nivel superior fuera del procedimiento. Precaucin Un procedimiento puede utilizar una variable que no se declare explcitamente 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 instruccin Option Explicit con la que se fuerce la declaracin explcita de variables. Requisitos Versin 1 Consulte tambin Instruccin Call | Instruccin Dim | Instruccin Exit | Instruccin Function

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Instruccin While...Wend
Ejecuta una serie de instrucciones siempre que una condicin dada sea True.
While condicin Versin [instrucciones] Wend

Argumentos condicin Expresin de cadena o numrica que se evala como True o False. Si la condicin es Null, la condicin se trata como False. instrucciones Una o varias instrucciones ejecutadas mientras la condicin es True. Comentarios

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 263 de 264

Si la condicin es True, todas las instrucciones en instrucciones se ejecutan hasta que se encuentra la instruccin Wend. Entonces se devuelve el control a la instruccin While y la condicin se comprueba de nuevo. Si la condicin es an True, se repite el proceso. Si no es True, se reanuda la ejecucin con la instruccin que sigue a Wend. Los bucles While...Wend se pueden anidar en cualquier nivel. Cada Wend coincide con el elemento While ms reciente. Nota La instruccin Do...Loop proporciona una manera ms estructurada y flexible de realizar bucles. El siguiente ejemplo ilustra el uso de la instruccin 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 Versin 1 Consulte tambin Instruccin Do...Loop

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546 Visual Basic Scripting Edition

Instruccin 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 funcin que devuelve un objeto. instrucciones

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

VBScript

Pgina 264 de 264

Requerido. Una o varias instrucciones que se van a ejecutar en el objeto. Comentarios La instruccin With le permite ejecutar una serie de instrucciones en un objeto especfico sin volver a cualificar el objeto. Por ejemplo, para cambiar un nmero de diferentes propiedades en un nico objeto, site las instrucciones de asignacin de propiedad dentro de la estructura de control With y haga referencia al objeto una vez en lugar de hacerlo con cada asignacin de propiedad. El siguiente ejemplo ilustra el uso de la instruccin 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 manipulacin de la propiedad es un aspecto importante de la funcionalidad de With, no es su nico uso. Se puede utilizar cualquier porcin de cdigo vlido 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 instruccin With para afectar a un nmero 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 instruccin With o End With, pueden producirse errores o un comportamiento inesperado. Requisitos Versin 1 Consulte tambin Instruccin Set

2001 Microsoft Corporation. Reservados todos los derechos. Build: Versin de tema 5.6.9309.1546

file://C:\Documents and Settings\liena\Configuracin local\Temp\~hh43FB.htm

04/12/2012

Vous aimerez peut-être aussi