Visual Basic

264
VBScript Guía de usuario de VBScript Referencia del lenguaje VBScript © 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Guía de usuario de VBScript ¿ Qué es VBScript? Agregar código de VBScript a una página HTML Aspectos básicos de VBScript Tipos de datos de VBScript Variables de VBScript Constantes de VBScript Operadores de VBScript Usar instrucciones condicionales Repetir código mediante bucles Procedimientos de VBScript Convenciones de codificación de VBScript © 2001 Microsoft Corporation. Reservados todos los derechos. Build: Versión de tema 5.6.9309.1546 Visual Basic Scripting Edition Visual Basic Scripting Edition gina 1 de 264 VBScript 04/12/2012 file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Transcript of Visual Basic

Page 1: Visual Basic

VBScript Guía de usuario de VBScript

Referencia del lenguaje VBScript

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Guía de usuario de VBScript ¿Qué es VBScript?

Agregar código de VBScript a una página HTML

Aspectos básicos de VBScript

Tipos de datos de VBScript

Variables de VBScript

Constantes de VBScript

Operadores de VBScript

Usar instrucciones condicionales

Repetir código mediante bucles

Procedimientos de VBScript

Convenciones de codificación de VBScript

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Visual Basic Scripting Edition

Visual Basic Scripting Edition

Página 1 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 2: Visual Basic

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

Fácil 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 programación de toda la familia de lenguajes Visual Basic. Aunque puede aprender algo de VBScript en estas pocas páginas Web, no le enseñarán a programar. Para iniciarse en la programación, 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 ningún código de integración especial para cada componente de ejecución 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 ejecución estándar del lenguaje para la ejecución de secuencias de comandos. Microsoft proporcionará soporte para bibliotecas de tiempo de ejecución para VBScript. Microsoft colabora con varios grupos de Internet para definir el estándar de Windows Script de manera que los motores de ejecución 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 implementación de código 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 también se pueden utilizar como un lenguaje de ejecución de secuencias de comandos general en otras aplicaciones.

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Visual Basic Scripting Edition

Visual Basic Scripting Edition

Página 2 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 3: Visual Basic

Agregar código de VBScript a una página HTML Puede utilizar el elemento SCRIPT para agregar código de VBScript a una página HTML.

La etiqueta <SCRIPT>

El código de VBScript se incluye dentro de una pareja de etiquetas <SCRIPT>. Por ejemplo, un procedimiento para comprobar una fecha de envío podría 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 código. El atributo LANGUAGE indica el lenguaje de ejecución de secuencias de comandos. Debe especificar el lenguaje ya que los exploradores pueden utilizar otros lenguajes de ejecución de secuencias. Tenga en cuenta que la función CanDeliver se incluye entre etiquetas de comentario (<!— y —>). Esto impide a los exploradores que no reconocen la etiqueta <SCRIPT> que muestren el código.

Dado que el ejemplo es una función general (no está ligada a ningún control de forma particular) puede incluirlo en la sección HEAD de la página:

<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 página HTML. Puede situarlos en la secciones BODY y HEAD. Sin embargo, seguramente deseará situar todo el código de ejecución de secuencias de propósito general en la sección HEAD para mantener todo el códigos junto. Mantener su código en la sección HEAD asegura que se lean y descodifiquen todo el código antes de que se llame desde la sección BODY.

Una excepción importante a esta regla es que quizá desee proporcionar código de ejecución de secuencias de comandos dentro de formularios para responder a los eventos de objetos de su formulario. Por ejemplo, puede incrustar código de ejecución de secuencias de comandos para responder a un clic de botón de un formulario:

Página 3 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 4: Visual Basic

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

La mayor parte de su código aparecerá en procedimientos Sub o Function y se llamará sólo cuando lo especifique el código. Sin embargo, puede escribir código VBScript fuera de un procedimiento, pero aún dentro de un bloque SCRIPT. Este código se ejecuta sólo una vez, cuando se carga la página HTML. Esto le permite inicializar datos o cambiar de forma dinámica la apariencia de su página Web cuando se carga.

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Características de VBScript no incluidas en Visual Basic para Aplicaciones En la tabla siguiente se enumeran las características de VBScript no incluidas en Visual Basic para Aplicaciones.

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Visual Basic Scripting Edition

Categoría Característica o palabra claveDeclaraciones ClassVarios Eval

Execute Objetos RegExpIdentificación del motor de secuencias de comandos

ScriptEngine ScriptEngineBuildVersion ScriptEngineMajorVersion ScriptEngineMinorVersion

Página 4 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 5: Visual Basic

Características de Visual Basic para Aplicaciones no incluidas en VBScript En la tabla siguiente se enumeran las características de Visual Basic para Aplicaciones no incluidas en VBScript.

Visual Basic Scripting Edition

Categoría Característica o palabra clave omitidaControl de matrices Option Base

Declarar matrices con límite inferior <> 0Colección Add, Count, Item, Remove

Tener acceso a colecciones mediante el carácter !Compilación condicional #Const

#If...Then...#ElseControl del flujo DoEvents

GoSub...Return, GoTo On Error GoTo On...GoSub, On...GoTo Números de línea, etiquetas de línea

Conversión CVar, CVDate Str, Val

Tipos de datos Todos los tipos de datos intrínsecos excepto Variant Type...End Type

Fecha y hora Instrucción Date, instrucción TimeDDE LinkExecute, LinkPoke, LinkRequest, LinkSendDepuración Debug.Print

End, StopDeclaración Declare (para declarar archivos DLL)

Optional ParamArray Static

Control de errores Erl Error Resume, Resume Next

Entrada y salida de archivos

Toda las E/S de archivos Basic tradicionales

Finanzas Todas las funciones financierasTratamiento de objetos TypeOfObjetos Colección

ClipboardOperadores LikeOpciones Deftipo

Option Base Option Compare Option Private Module

Página 5 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 6: Visual Basic

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Aspectos básicos de VBScript Tipos de datos de VBScript

Variables de VBScript

Constantes de VBScript

Operadores de VBScript

Utilizar instrucciones condicionales

Repetir código mediante bucles

Procedimientos de VBScript

Convenciones de codificación de VBScript

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Una página sencilla de VBScript

Select Case Expresiones que contengan la palabra clave Is o cualquier operador de comparación Expresiones que contengan un intervalo de valores en el que se utilice la palabra clave To.

Cadenas Cadenas de longitud fija LSet, RSet Instrucción Mid StrConv

Uso de objetos Acceso a colecciones mediante !

Visual Basic Scripting Edition

Visual Basic Scripting Edition

Página 6 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 7: Visual Basic

Una página sencilla

Con Microsoft® Internet Explorer, puede ver la página resultante de la siguiente porción de código HTML. Si hace clic en el botón de la página, verá VBScript en acción.

<HTML> <HEAD><TITLE>Una primera página sencilla</TITLE> <SCRIPT LANGUAGE="VBScript"> <!-- Sub Boton1_OnClick MsgBox "Digno de ver." End Sub --> </SCRIPT> </HEAD> <BODY> <H3>Una primera página 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 diálogo muestra la frase "Digno de ver". Sin embargo, hay algo más.

Cuando Internet Explorer lee la página, busca las etiquetas <SCRIPT>, reconoce si existe alguna parte en código VBScript y guarda este código. Cuando hace clic en el botón, Internet Explorer realiza la conexión entre el botón y el código 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 botón, Boton1 (del atributo de NAME en la etiqueta <INPUT>) y un nombre de evento, OnClick. Los dos nombres se unen con un carácter de subrayado(_). Cuando se hace clic el botón, Internet Explorer busca y ejecuta el correspondiente procedimiento de evento, Boton1_OnClick.

Internet Explorer define los eventos disponibles para controles de formulario en la documentación de Modelo de objetos de secuencias de comandos de Internet Explorer, que se puede encontrar en la página Web de Microsoft® (http://www.microsoft.com/spanish/).

Las páginas también pueden utilizar combinaciones de controles y procedimientos. VBScript y formularios muestra interacciones simples entre controles.

Otras formas de agregar código a eventos

Aunque el modo anterior es seguramente el más simple y más general, puede agregar código VBScript a eventos de otros dos modos. Internet Explorer le permite agregar secciones breves de código insertado en la etiqueta que define el control. Por ejemplo, la siguiente etiqueta <INPUT> realiza la misma acción cuando hace clic en el botón que el ejemplo de código anterior:

<INPUT NAME="Boton1" TYPE="BUTTON" VALUE="Haga clic aquí" OnClick='MsgBox "Digno de ver."'>

Tenga en cuenta que la propia llamada de la función está escrita entre comillas sencillas y que la cadena de la función MsgBox se escribe entre comillas dobles. Puede utilizar instrucciones múltiples siempre

Página 7 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 8: Visual Basic

que las separe con dos puntos (:).

También puede escribir una etiqueta <SCRIPT> de manera que se aplique sólo a un evento particular para un control específico:

<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 Suby End Sub.

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Características de VBScript La siguiente tabla es una lista de las características de VBScript.

Visual Basic Scripting Edition

Categoría Palabras claveControl de matrices Array

Dim, Private, Public, ReDim IsArray Erase LBound, UBound

Asignaciones SetComentarios Comentarios con ' o RemConstantes y literales Empty

Nothing Null True, False

Control del flujo Do...Loop For...Next For Each...Next If...Then...Else Select Case While...Wend With

Conversiones Abs Asc, AscB, AscW Chr, ChrB, ChrW

Página 8 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 9: Visual Basic

CBool, CByte CCur, CDate CDbl, CInt CLng, CSng, CStr DateSerial, DateValue Hex, Oct Fix, Int Sgn TimeSerial, TimeValue

Fechas y horas Date, Time DateAdd, DateDiff, DatePart DateSerial, DateValue Day, Month, MonthName Weekday, WeekdayName, Year Hour, Minute, Second Now TimeSerial, TimeValue

Declaraciones Class Const Dim, Private, Public, ReDim Function, Sub Property Get, Property Let, Property Set

Control de errores On Error Err

Expresiones Eval Execute RegExp Replace Test

Formato de cadenas FormatCurrency FormatDateTime FormatNumber FormatPercent

Entrada y salida InputBox LoadPicture MsgBox

Literales Empty False Nothing Null True

Matemática Atn, Cos, Sin, Tan Exp, Log, Sqr Randomize, Rnd

Varios Eval Function Execute Statement RGB Function

Objetos CreateObject Err Object GetObject

Página 9 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 10: Visual Basic

RegExp Operadores Suma (+), Resta (-)

Exponenciación (^) Módulo aritmético (Mod) Multiplicación (*), División (/) División de número entero (\) Negación (-) Concatenación 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 ExplicitProcedimientos Call

Function, Sub Property Get, Property Let, Property Set

Redondeo Abs Int, Fix, Round Sgn

Id. del motor de secuencias de comandos

ScriptEngine 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

Página 10 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 11: Visual Basic

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Tipos de datos de VBScript VBScript tiene sólo un tipo de dato llamado Variant. Un dato Variant es un tipo de dato especial que puede contener diferentes tipos de información, según cómo se utilice. Debido a que Variant es el único tipo de dato en VBScript, es también el tipo de dato devuelto por todas las funciones en VBScript.

En su forma más simple, un dato Variant puede contener información numérica o de cadena. Este tipo de dato se comporta como un número cuando lo utiliza en un contexto numérico y como una cadena cuando lo utiliza en un contexto de cadena. Es decir, si trabaja con datos que parecen números, VBScript supone que son números y hace lo que sea más apropiado para números. Igualmente, si trabaja con datos que sólo pueden ser datos de cadena, VBScript los trata como datos de cadena. Siempre puede hacer que los números se comporten como cadenas si los escribe entre comillas (" ").

Subtipos de Variant

Más allá de las simples clasificaciones de datos numéricos o de cadena, un dato Variant puede hacer otras distinciones acerca de la naturaleza específica de la información numérica. Por ejemplo, puede tener información numérica 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. También puede tener una gran variedad de información numérica que oscila en tamaño desde valores booleanos hasta números mayores de punto flotante. Estas categorías diferentes de información que puede contener un dato Variant se llaman subtipos. La mayoría de las veces, puede poner el tipo de datos que desea en un dato Variant y éste se comporta de la forma que sea más apropiada para los datos que contiene.

La siguiente tabla muestra subtipos de datos que puede contener el tipo Variant.

VarType

Visual Basic Scripting Edition

Subtipo DescripciónEmpty La Variant no está inicializado. El valor es 0 para variables numéricas o una cadena de

longitud cero ("") para variables de cadena.Null La Variant, de manera intencionada, no contiene ningún dato válido. Boolean Contiene True o False.Byte Contiene un número entero entre 0 y 255. Integer Contiene un número entero entre -32.768 y 32.767. Currency De -922.337.203.685.477,5808 a 922.337.203.685.477,5807.Long Contiene un número entero entre -2.147.483.648 y 2.147.483.647.Single Contiene un número de punto flotante de precisión simple comprendido entre -

3,402823E38 y -1,401298E-45 para valores negativos y entre 1,401298E-45 y 3,402823E38 para valores positivos.

Página 11 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 12: Visual Basic

Puede utilizar las funciones de conversión para convertir datos de un subtipo en otro. Además, la función VarType devuelve información acerca de cómo se almacenan sus datos dentro de un dato Variant.

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Variables de VBScript Una variable es un marcador de posición cómodo que hace referencia a una ubicación de la memoria del equipo en la que puede almacenar información del programa que puede cambiar durante el tiempo en que se ejecuta su secuencia de comandos. Por ejemplo, podría crear una variable llamada ClickCount para almacenar el número de veces que un usuario hace clic en un objeto en una página Web particular. Donde se almacene la variable dentro de la memoria del equipo no tiene importancia. Lo que importa es que sólo 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 explícita en su secuencia de comandos mediante la instrucción Dim, la instrucción Public y la instrucción Private. Por ejemplo:

Dim DegreesFahrenheit

Para declarar variables múltiples se separa cada nombre de variable con una coma. Por ejemplo:

Dim Top, Bottom, Left, Right

También puede declarar una variable de manera implícita con su nombre en su secuencia de comandos. Eso no es generalmente una buena práctica ya que podría escribir mal el nombre de la variable en uno o más lugares, lo que provocaría resultados inesperados al ejecutar su secuencia de comandos. Por esa razón, la instrucción Option Explicit está disponible para requerir la declaración explícita de todas las

Double Contiene un número de punto flotante de precisión doble comprendido entre -1,79769313486232E308 y -4,94065645841247E-324 para valores negativos y entre 4,94065645841247E-324 y 1,79769313486232E308 para valores positivos.

Date (Time) Contiene un número que representa una fecha entre el 1 de enero del año 100 y el 31 de diciembre del año 9999.

String Contiene una cadena de longitud variable que puede ser de hasta aproximadamente 2 mil millones de caracteres.

Object Contiene un objeto.Error Contiene un número de error.

Visual Basic Scripting Edition

Página 12 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 13: Visual Basic

variables. La instrucción Option Explicit debe ser la primera instrucción en su secuencia de comandos.

Restricciones de nomenclatura

Los nombres de variables siguen las reglas estándar para cualquier denominación en VBScript. Un nombre de variable:

Debe comenzar por un carácter alfabético. 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 período de vida de las variables

El ámbito de una variable está determinado por la ubicación en la que se declaró. Cuando se declara una variable dentro de un procedimiento, sólo el código 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 período de vida. El período 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 sólo 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 sólo por el procedimiento en el que se declara.

Asignar valores a variables

Para asignar valores a las variables se crea una expresión de esta manera: la variable está en el lado izquierdo de la expresión y el valor que desea asignarle está en el derecho. Por ejemplo:

B = 200

Variables escalares y variables de matriz

En muchas ocasiones, sólo 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 más 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 instrucción de una variable de matriz utiliza paréntesis ( ) después del nombre de la variable. En el siguiente ejemplo, se declara una matriz unidimensional que contiene 11 elementos:

Dim A(10)

Página 13 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 14: Visual Basic

Aunque el número mostrado entre paréntesis 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 número de elementos de la matriz es siempre el número mostrado entre paréntesis más uno. Este tipo de matriz se llama matriz de tamaño 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 dimensión. Puede tener hasta 60 dimensiones, aunque la mayoría de la gente no puede comprender más de tres o cuatro dimensiones. Para declarar las dimensiones múltiples se separan los números de tamaño de una matriz entre paréntesis 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 número es siempre el número de filas; el segundo número es el número de columnas.

También puede declarar una matriz cuyo tamaño cambie durante el tiempo que se ejecuta su secuencia de comandos. A esto se denomina matriz dinámica. La matriz se declara inicialmente dentro de un procedimiento mediante la instrucción Dim o la instrucción ReDim. Sin embargo, para una matriz dinámica, no se escribe ningún número de dimensiones dentro de los paréntesis. Por ejemplo:

Dim MyArray() ReDim AnotherArray()

Para utilizar una matriz dinámica, debe utilizar ReDim posteriormente para determinar el número de dimensiones y el tamaño de cada dimensión. En el siguiente ejemplo. ReDim establece el tamaño inicial de la matriz dinámica como 25. La siguiente instrucción ReDim cambia el tamaño de la matriz a 30, pero utiliza la palabra clave Preserve para conservar el contenido de la matriz mientras tiene lugar el cambio de tamaño.

ReDim MyArray(25) . . . ReDim Preserve MyArray(30)

No existe límite en el número de veces que puede cambiar el tamaño de una matriz dinámica, aunque si

Página 14 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 15: Visual Basic

reduce el tamaño de una matriz, perderá los datos de los elementos eliminados.

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Constantes de VBScript Una constante es un nombre significativo que toma el lugar de un número o cadena y nunca cambia. VBScript define un número de constantes intrínsecas. Puede obtener información acerca de estas constantes intrínsecas en la Referencia del lenguaje de VBScript.

Crear constantes

Una contante definida por el usuario se crea en VBScript mediante la instrucción Const. Con la instrucción Const, puede crear constantes de cadena o numéricas 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 más claro de diferenciar los valores de cadena de los valores numéricos. Los literales de fecha y los literales de hora se representan escribiéndolos entre signos de número (#). 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 mayúscula. Al diferenciar constantes de variables se elimina cualquier confusión a medida que desarrolla secuencias de comandos más complejas.

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Operadores de VBScript

Visual Basic Scripting Edition

Visual Basic Scripting Edition

Página 15 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 16: Visual Basic

VBScript cuenta con una gama completa de operadores, incluidos los operadores aritméticos, operadores de comparación, operadores de concatenación y operadores lógicos.

Prioridad de los operadores

Cuando aparecen varias operaciones en una expresión, cada parte se evalúa y se resuelve en un orden determinado llamado prioridad de los operadores. Puede utilizar paréntesis para pasar por alto el orden de prioridad y obligar a evaluar algunas partes de una expresión antes que otras. Las operaciones entre paréntesis se realizan siempre antes que las de fuera. Sin embargo, entre paréntesis se mantiene el prioridad estándar de los operadores.

Cuando las expresiones contienen operadores de más de una categoría, los operadores aritméticos se evalúan primero, los de comparación después y los lógicos los últimos. Todos los operadores de comparación tienen la misma prioridad, es decir, se evalúan en el orden de izquierda a derecha en el que aparecen. Los operadores aritméticos y lógicos se evalúan en el siguiente orden de prioridad.

Aritmético

Comparición

Lógico

Descripción SímboloExponenciación ^Negación unaria -Multiplicación *División /División de número entero \Módulo aritmético ModSuma +Resta -Concatenación de cadenas &

Descripción SímboloIgualdad =Desigualdad <>Menor que <Mayor que >Menor o igual que <=Mayor o igual que >=Equivalencia de objeto Is

Descripción SímboloNegación lógica NotConjunción lógica AndDisyunción lógica OrExclusión lógica Xor

Página 16 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 17: Visual Basic

Cuando aparecen la multiplicación y la división juntas en una expresión, se evalúa cada operación según aparece de izquierda a derecha. Asimismo, cuando aparecen la suma y la resta juntas en una expresión, cada operación se evalúa en orden de aparición de izquierda a derecha.

El operador de concatenación de cadena (&) no es un operador aritmético, pero por prioridad va después de todos los operadores aritméticos y antes que todos los operadores de comparación. El operador Is es un operador de comparación de referencias de objetos. No compara objetos ni sus valores, sólo comprueba para determinar si dos referencias de objetos hacen referencia al mismo objeto.

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Utilizar instrucciones condicionales

Controlar la ejecución del programa Puede controlar el flujo de su secuencia de comandos con instrucciones condicionales y instrucciones de bucle. Mediante instrucciones condicionales, puede escribir código VBScript para tomar decisiones y repetir acciones. Están disponibles las siguientes instrucciones condicionales en VBScript:

Instrucción If...Then...Else Instrucción Select Case

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

La instrucción If...Then...Else se utiliza para evaluar si una condición es True o False y, según el resultado, especificar una o más instrucciones para ejecutar. Normalmente, la condición es una expresión que utiliza un operador de comparación para comparar un valor o variable con otro. Para obtener más información acerca de operadores de comparación, consulte Operadores de comparación. Las instrucciones If...Then...Else se pueden anidar a tantos niveles como necesite.

Ejecutar instrucciones si una condición es True

Para ejecutar sólo una instrucción cuando una condición es True, utilice la sintaxis de línea simple para la instrucción If...Then...Else. El siguiente ejemplo muestra la sintaxis de línea simple. Tenga en cuenta que este ejemplo omite la palabra clave Else.

Sub FixDate()

Equivalencia lógicaEqvImplicación lógica Imp

Visual Basic Scripting Edition

Página 17 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 18: Visual Basic

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

Para ejecutar más de una línea de código, debe utilizar la sintaxis de línea múltiple (o bloque). Esta sintaxis incluye la instrucción 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 condición es True y ejecutar otras si una condición es False

Puede utilizar una instrucción If...Then...Else para definir dos bloques de instrucciones ejecutables: un bloque para ejecutarse si la condición es True, el otro bloque para ejecutarse si la condición es False.

Sub AlertUser(valor) If value = 0 Then AlertLabel.ForeColor = vbRed AlertLabel.Font.Bold = True AlertLabel.Font.Italic = True Else AlertLabel.Forecolor = vbBlack AlertLabel.Font.Bold = False AlertLabel.Font.Italic = False End If End Sub

Decidir entre varias alternativas

Una variación en la instrucción If...Then...Else le permite elegir entre diversas alternativas. Agregar cláusulas ElseIf expande la funcionalidad de la instrucción 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 cláusulas ElseIf como necesite para proporcionar opciones alternativas. El uso extensivo de las cláusulas ElseIf se convierte a menudo engorroso. Un mejor modo de elegir entre diversas alternativas es la instrucción Select Case.

Página 18 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 19: Visual Basic

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 múltiples bloques. Una instrucción Select Case proporciona capacidad similar a la de la instrucción If...Then...Else, pero hace que el código sea más eficaz y legible.

Una estructura Select Case funciona con una expresión de prueba simple que se evalúa una vez, en la parte superior de la estructura. El resultado de la expresión se compara entonces con los valores para cada instrucción 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 evalúa una expresión una vez en la parte superior de la estructura. En contraposición, la estructura If...Then...ElseIf puede evaluar una expresión diferente para cada instrucción ElseIf. Puede reemplazar una estructura If...Then...ElseIf con una estructura Select Case sólo si cada instrucción ElseIf evalúa la misma expresión.

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Repetir código mediante bucles Los bucles le permiten ejecutar un grupo de instrucciones de manera repetida. Algunos bucles repiten instrucciones hasta que una condición es False; otros repiten instrucciones hasta que una condición es True. Existen también bucles que repiten instrucciones un número de veces específico.

Las siguientes instrucciones de repetición están disponibles en VBScript:

Do...Loop: repite mientras una condición es o hasta que sea True. While...Wend: repite mientras una condición es True.

Visual Basic Scripting Edition

Página 19 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 20: Visual Basic

For...Next: utiliza un contador para ejecutar instrucciones un número de veces especificado. For Each...Next: repite un grupo de instrucciones para cada elemento de una colección o de una

matriz.

Utilizar Do Loop

Puede utilizar instrucciones Do...Loop para ejecutar un bloque de instrucciones un número indefinido de veces. Las instrucciones se repiten mientras una condición es True o hasta que una condición sea True.

Repetir instrucciones mientras una condición es True

Utilice la palabra clave While para comprobar una condición en una instrucción Do...Loop. Puede comprobar la condición antes de introducir el bucle (como se muestra en el siguiente ejemplo de ChkFirstWhile), o puede comprobarlo después 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 ejecutarán nunca. En el procedimiento ChkLastWhile, las instrucciones dentro del bucle sólo se ejecutan una vez porque la condición 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 instrucción hasta que una condición sea True

Hay dos maneras de utilizar la palabra clave Until para comprobar una condición en una instrucción Do...Loop. Puede comprobar la condición antes de que entre en el bucle (como se muestra en el siguiente ejemplo de ChkFirstUntil), o puede comprobarlo después de que se haya ejecutado el bucle al menos una vez (como se muestra en el ejemplo de ChkLastUntil). Siempre que la condición sea False, se ejecutará el bucle.

Sub ChkFirstUntil() Dim counter, myNum counter = 0 myNum = 20 Do Until myNum = 10

Página 20 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 21: Visual Basic

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 instrucción Do...Loop desde dentro del bucle

Puede salir de un bucle Do...Loop con la instrucción Exit Do. Ya que normalmente se desea salir sólo en situaciones concretas, tales como evitar un bucle interminable, debe utilizar la instrucción Exit Do en el bloque de la instrucción True de una instrucción If...Then...Else. Si la condición 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 instrucción If...Then...Else comprueba esta condición, con lo que se impide la repetición 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 instrucción While...Wend se proporciona en VBScript para aquellos que están 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 número de veces específico. Para bucles, utilice una variable de contador cuyo valor se incremente o disminuya con cada repetición del bucle.

El siguiente ejemplo hace que un procedimiento llamado MyProc se ejecute 50 veces. La instrucción Forespecifica la variable de contador x y sus valores de inicio y fin. La instrucción Next incrementa la

Página 21 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 22: Visual Basic

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 instrucción For...Next antes de que el contador alcance su valor final con la instrucción Exit For. Ya que normalmente se desea salir sólo en situaciones concretas, como cuando se produce un error, debe utilizar la instrucción Exit For en el bloque de la instrucción True de una instrucción If...Then...Else. Si la condición 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 número de veces especificado, un bucle For Each...Next repite un grupo de instrucciones para cada elemento de una colección de objetos o de una matriz. Esto es especialmente útil si no sabe cuántos elementos hay en una colección.

En el siguiente ejemplo de código 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"> <!--

Página 22 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 23: Visual Basic

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 = "Text"><p> <Input Type = "Text"><p> <Input Type = "Text"><p> <Input Type = "Text"><p> <Input Type = "Botón" NAME="cmdChange" VALUE="Haga clic aquí"><p> </FORM> </CENTER> </BODY> </HTML>

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

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 ningún 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 instrucción Sub debe incluir un conjunto de paréntesis vacío ().

El siguiente procedimiento Sub utiliza dos funciones de VBScript intrínsecas o incorporadas, MsgBox e InputBox, para pedir al usuario información. Después, muestra los resultados del cálculo efectuado a partir de esa información. El cálculo se realiza en un procedimiento Function creado con VBScript. El procedimiento Function se muestra después del siguiente comentario.

Visual Basic Scripting Edition

Página 23 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 24: Visual Basic

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 también 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 ningún argumento, su instrucción Function debe incluir un conjunto de paréntesis vacío. Functiondevuelve un valor asignando un valor a su nombre en una o más instrucciones del procedimiento. El tipo de retorno de un procedimiento Function es siempre Variant.

En el siguiente ejemplo, la función Celsius calcula grados Celsius a partir de grados Fahrenheit. Cuando se llama a la función desde el procedimiento ConvertTemp Sub, se pasa a la función una variable que contiene el valor del argumento. El resultado del cálculo se devuelve al procedimiento de llamada y se muestra en un cuadro de diálogo.

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 posición para los datos que desea pasar a su procedimiento. Puede darles a sus argumentos cualquier nombre de variable válido. Cuando crea un procedimiento con la instrucción Sub o la instrucción Function, se deben incluir paréntesis después del nombre del procedimiento. Cualquier argumento se coloca dentro de estos paréntesis, separados por comas. Así, en el siguiente ejemplo, fDegrees es un marcador de posición para el valor que se va a pasar a la función Celsius para su conversión.

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 código

Un procedimiento Function en su código siempre debe utilizarse en la parte derecha de una asignación de variable o en un expresión. Por ejemplo:

Página 24 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 25: Visual Basic

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 instrucción Call no es necesaria, pero si la utiliza, debe delimitar cualquier argumento entre paréntesis.

El siguiente ejemplo muestra dos llamadas al procedimiento MyProc. Uno utiliza la instrucción Call en el código y el otro no. Los dos realizan exactamente la misma tarea.

Call MyProc(firstarg, secondarg) MyProc firstarg, secondarg

Tenga en cuenta que los paréntesis se omiten en la llamada cuando no se utiliza la instrucción Call .

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Convenciones de codificación de VBScript Las convenciones de codificación son sugerencias que pueden ayudarle a escribir código mediante Microsoft Visual Basic Scripting Edition. Las convenciones de codificación pueden incluir:

Convenciones de nomenclatura para objetos, variables y procedimientos Convenciones de comentarios Formato de texto y directrices de sangrías

La razón principal para utilizar un conjunto de convenciones de codificación es estandarizar la estructura y estilo de codificación de una secuencia de comandos o de un conjunto de secuencias de comandos de manera que usted y otros puedan leer y entender el código fácilmente. Utilizar buenas convenciones de código da como resultado código de origen preciso, legible, coherente con otras convenciones de lenguaje e intuitivo.

Convenciones de nomenclatura para constantes

Las versiones anteriores de VBScript no tenían ningún mecanismo para crear constantes definidas por el usuario. Las constantes, si se utilizaban, se implementaban como variables y se distinguían de otras variables utilizando todos los caracteres en mayúscula. Las palabras múltiples se separaban utilizando el carácter de subrayado. Por ejemplo:

Visual Basic Scripting Edition

Página 25 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 26: Visual Basic

USER_LIST_MAX NEW_LINE

Aunque esto es aún una forma aceptada de identificar sus constantes, quizá desee utilizar un esquema de nomenclatura alternativo, ahora que puede crear verdaderas constantes mediante la instrucción Const. Esta convención utiliza un formato mixto de mayúsculas y minúsculas 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 código VBScript.

Ámbito de la variable

Las variables deben definirse siempre con el menor ámbito posible. Las variables de VBScript pueden tener el siguiente ámbito.

Prefijos de ámbito variable

A medida que aumenta el tamaño 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 tamaño de los nombres de variable.

Subtipo Prefijo EjemploBoolean bln blnFoundByte byt bytRasterDataDate (hora) dtm dtmStartDouble dbl dblToleranceError err errOrderNumInteger int intQuantityLong lng lngDistanceObject obj objCurrentSingle sng sngAverageString str strFirstName

Ámbito Donde se declara la variable VisibilidadNivel de procedimiento Procedimiento Event, Function o Sub Visible en el procedimiento donde se

declaraNivel de secuencia de comandos

Sección HEAD de una página HTML, fuera de cualquier procedimiento

Visible en cada procedimiento de la secuencia de comandos

Ámbito Prefijo EjemploNivel de procedimiento Ninguno dblVelocityNivel de secuencia de comandos s sblnCalcInProgress

Página 26 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 27: Visual Basic

Nombres descriptivos de variable y de procedimiento

El cuerpo de una variable o procedimiento debe utilizar una combinación de mayúsculas y minúsculas y debe ser tan descriptivo como sea necesario. Además, los nombres de procedimiento deben comenzar por un verbo, como InitNameArray o CloseDialog.

Para términos utilizados con frecuencia o largos, se recomiendan las abreviaturas estándar para ayudar a mantener una longitud razonable del nombre. En general, los nombres de variable mayores de 32 caracteres pueden ser difíciles de leer. Cuando utilice abreviaturas, asegúrese 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 confusión.

Convenciones de nomenclatura para objetos

La siguiente tabla muestra las convenciones recomendadas para los objetos con los que puede encontrarse mientras programa en VBScript.

Convenciones de comentarios de código

Todos los procedimientos deben comenzar por un breve comentario que describa lo que hacen. Esta descripción no debe describir los detalles de implementación (cómo 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 código y cualquier comentario de línea necesarios describen la implementación.

Los argumentos que se pasan a un procedimiento deben describirse cuando su propósito no es evidente y cuando el procedimiento espera que los argumentos estén comprendidos en un intervalo específico. Los valores de retorno para las funciones y variables que cambia un procedimiento, especialmente a través de argumentos de referencia, deben también describirse al comienzo de cada procedimiento.

Tipo de objeto Prefijo EjemploPanel 3D pnl pnlGroupBotón animado ani aniMailBoxCasilla de verificación chk chkReadOnlyCuadro combinado, cuadro de lista desplegable cbo cboEnglishBotón de comando cmd cmdExitDiálogo común dlg dlgFileOpenMarco fra fraLanguageBarra de desplazamiento horizontal hsb hsbVolumeImagen img imgIconEtiqueta lbl lblHelpMessageLínea lin linVerticalCuadro de lista lst lstPolicyCodesBotón de número spn spnPagesCuadro de texto txt txtLastNameBarra de desplazamiento vertical vsb vsbRateControl deslizante sld sldScale

Página 27 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 28: Visual Basic

Los comentarios del encabezado del procedimiento deben incluir los siguientes encabezados de sección. Para ver un ejemplo, consulte la sección siguiente "Dar formato a su código".

Recuerde los siguientes puntos:

Cada instrucción de variable importante debe incluir un comentario de línea 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 línea sólo se necesiten para detalles de implementación compleja.

Al comienzo de su secuencia de comandos, debe incluir una introducción que describa la secuencia de comandos, que enumere los objetos, procedimientos, algoritmos, cuadros de diálogo y otras dependencias del sistema. A veces, puede ser útil una porción de pseudocódigo que describa el algoritmo.

Dar formato al código

Se debe conservar el espacio de pantalla lo más posible, siempre que permita dar formato al código para reflejar la estructura lógica y el anidamiento. Aquí tiene unas cuantas sugerencias:

Los bloques anidados estándar deben tener una sangría de cuatro espacios. Para comentarios generales de un procedimiento deben tener una sangría de un espacio. Las instrucciones de nivel superior que sigan a los comentarios generales deben tener una sangría

de cuatro espacios y otros cuatro espacios por cada bloque anidado.

El siguiente código utiliza los convenciones de codificación de VBScript.

'********************************************************* ' Propósito: ubica la primera aparición 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 aparición 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

Encabezado de sección

Contenido del comentario

Propósito Lo que el procedimiento hace (no cómo).Suposiciones Lista de cualquier variable o control externo, o cualquier otro elemento cuyo

estado afecte a este procedimiento.Efectos Lista del efecto del procedimiento en cada variable o control externo, u otro

elemento.Entradas Explicación de cada argumento que no sea evidente. Cada argumento debe estar

en una línea distinta con comentarios de línea.Valores de retorno Explicación del valor devuelto.

Página 28 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 29: Visual Basic

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: Versión de tema 5.6.9309.1546

VBScript y formularios Validación simple

Puede utilizar Visual Basic Scripting Edition para realizar buena parte del procesamiento de formularios que normalmente realizaría en un servidor. También puede realizar tareas que no podrían llevarse a cabo en el servidor.

Aquí tenemos un ejemplo de validación del cliente simple. El código HTML muestra un cuadro de texto y un botón. Si utiliza Microsoft® Internet Explorer para visualizar la página resultante del código siguiente, verá un pequeño cuadro de texto con un botón junto a él.

<HTML> <HEAD><TITLE>Validación 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 número entre 1 y 10." Else MsgBox "Gracias." End If Else MsgBox "Escriba un valor numérico." End If End Sub--> </SCRIPT> </HEAD> <BODY> <H3>Validación simple</H3><HR> <form id="ValidForm" action="nothing.asp" onsubmit="Validar(); return false;" languaEscriba un número entre 1 y 10:

Visual Basic Scripting Edition

Página 29 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 30: Visual Basic

<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 página 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 código 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 múltiples para formar controles, deseará hacer lo que se ha hecho aquí. Primero, declarar una variable. Después, utilizar la instrucción Set para asignar el formulario a la variable elFormulario. Una instrucción de asignación normal, como Dim, no funciona en este caso; debe utilizar Set para conservar la referencia a un objeto.

Utilizar valores numéricos

Tenga en cuenta que el ejemplo comprueba directamente el valor con un número; para ello utiliza la función IsNumeric para confirmar que la cadena del cuadro de texto es un número. Aunque VBScript convierte automáticamente cadenas y números, es siempre una buena costumbre comprobar el subtipo de datos de un valor escrito por un usuario y utilizar funciones de conversión siempre que sea necesario. Cuando realice una suma con valores de cuadro de texto, convierta los valores de manera explícita en números porque el operador de signo más (+) representa a la suma y a la concatenación 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 validación simple utiliza un control de botón sencillo. Si se utilizó un control Submit, el ejemplo nunca verá los datos que ha de comprobar —todo iría inmediatamente al servidor. Evitar el control Submit le permite comprobar los datos, pero no los envía al servidor. Para hacerlo necesita una línea de código 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 número entre 1 y 10." Else MsgBox "Gracias." elFormulario.Submit ' Datos correctos; enviar al servidor. End If Else MsgBox "Escriba un valor numérico." End If End Sub --> </SCRIPT>

Página 30 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 31: Visual Basic

Para enviar los datos al servidor, cuando los datos son correctos el código llama al método Submit en el objeto de formulario. Desde aquí, el servidor controla los datos como haría con otros; la diferencia es que los datos son correctos antes de llegar allí. Encontrará información completa acerca del método Submit y otros métodos en la documentación del Modelo de objetos de secuencias de comandos de Internet Explorer, que se puede encontrar en la página Web de Microsoft® (http://www.microsoft.com/spanish/).

Hasta ahora, sólo ha visto los objetos <FORM> de HTML estándar. Internet Explorer también le permite obtener la máxima ventaja de los controles ActiveX® (anteriormente llamados controles OLE) y objetos Java™.

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

VBScript en Internet Explorer Una página sencilla de VBScript

VBScript y formularios

Utilizar VBScript con objetos

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

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 página resultante de la siguiente porción de código.

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

Visual Basic Scripting Edition

Visual Basic Scripting Edition

Página 31 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 32: Visual Basic

<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 página:

<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 métodos como con cualquiera de los controles de formulario. La siguiente porción de código, 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 botón 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 código asigna referencias a los controles y valores dentro de los formularios como en el ejemplo de Validación simple.

Varios controles ActiveX están disponibles para su uso con Internet Explorer. Puede encontrar información completa acerca de las propiedades, métodos 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 más información acerca de la etiqueta <OBJECT> en la página Guía del autor y referencia HTML de Internet Explorer 4.0.

Página 32 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 33: Visual Basic

Nota Las versiones anteriores de Internet Explorer necesitaban llaves ({}) alrededor del atributo classid y no estaban seguían la especificación W3C. Utilizar llaves con la versión actual genera el mensaje "Esta página utiliza una versión caducada de la etiqueta <OBJECT>".

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Introducción a las expresiones regulares La información contenida en estas páginas pretende proporcionar una introducción general a las expresiones regulares.

Aunque se ha intentado tratar cada tema de forma independiente, la mayor parte de la información incluida se basa en una característica o concepto presentado previamente. Por lo tanto, es aconsejable que los lea atentamente y por orden para conseguir una compresión global óptima del material.

La introducción a las expresiones regulares consta de los siguientes temas:

Expresiones regulares

Antecedentes

Usos de las expresiones regulares

Sintaxis de expresión regular

Construir una expresión regular

Orden de precedencia

Caracteres ordinarios

Caracteres especiales

Caracteres no imprimibles

Coincidencia de caracteres

Cuantificadores

Delimitadores

Visual Basic Scripting Edition

Página 33 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 34: Visual Basic

Alternancia y agrupamiento

Referencias inversas

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Expresiones regulares A menos que haya trabajado con expresiones regulares antes, es posible que no esté familiarizado con el término y el concepto. Sin embargo, probablemente sepa más acerca de este tema de lo que supone.

Piense en la manera en que busca archivos en el disco duro. La mayor parte de las veces utiliza los caracteres ? y * para encontrar los archivos que busca. El carácter ? equivale a un carácter único en un nombre de archivo, mientras que * equivale a cero o más caracteres. Mediante un modelo como 'dato?.dat' encontraría los siguientes archivos:

dato1.dat

dato2.dat

datox.dat

datoN.dat

Si utiliza el carácter * en lugar de ? aumentará el número de archivos encontrados. 'dato*.dat' equivale a todos los archivos siguientes:

datos.dat

dato1.dat

dato2.dat

dato12.dat

datox.dat

datoXYZ.dat

Aunque este método de búsqueda de archivos puede ser extremadamente útil, también es muy limitado. La capacidad restringida de los caracteres comodín ? y * proporciona una idea de lo que se puede

Visual Basic Scripting Edition

Página 34 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 35: Visual Basic

conseguir mediante las expresiones regulares, aunque éstas son mucho más eficaces y flexibles.

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Antecedentes El origen de las expresiones regulares se remonta a las primeras investigaciones acerca del funcionamiento de sistema nervioso humano. Warren McCulloch y Walter Pitts, ambos neurofisiólogos, desarrollaron una fórmula matemática para describir las redes neuronales.

En 1956, el matemático estadounidense Stephen Kleene, basándose en el trabajo anterior de McCulloch y Pitts, publicó un artículo titulado Representation of Events in Nerve Nets (Representación de los sucesos en las redes nerviosas) que introducía el concepto de las expresiones regulares. Kleene utilizó el término "expresiones regulares" para describir lo que denominaba "el álgebra de los conjuntos regulares", de ahí su nombre.

Posteriormente, su trabajo influyó en algunos de los primeros intentos en el campo de los algoritmos de búsqueda computacional realizados por Ken Thompson, el principal inventor de Unix. Las expresiones regulares se aplicaron en la práctica por primera vez en el editor de Unix qed.

Y el resto, como suele decirse, es historia. Las expresiones regulares han constituido un importante componente de los editores basados en texto y las herramientas de búsqueda desde el principio.

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Usos de las expresiones regulares En una operación típica de búsqueda y sustitución, el usuario debe escribir exactamente el texto que está buscando. Esta técnica puede ser adecuada para tareas simples de búsqueda y reemplazo en texto estático, pero carece de flexibilidad y hace difícil, sino imposible, la búsqueda de texto dinámico.

Mediante las expresiones regulares es posible:

Comprobar un modelo incluido en una cadena. Por ejemplo, es posible comprobar si existe un

Visual Basic Scripting Edition

Visual Basic Scripting Edition

Página 35 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 36: Visual Basic

modelo de número de teléfono o de tarjeta de crédito dentro de una cadena de entrada. Esto se denomina validación de datos.

Reemplazar texto. Se puede utilizar una expresión regular para identificar texto específico en un documento y quitarlo por completo o reemplazarlo con otro texto.

Extraer una subcadena de una cadena en función de la coincidencia de un modelo. Puede buscar texto específico dentro de un documento o un campo de entrada.

Por ejemplo, si necesita realizar una búsqueda en todo un sitio Web para quitar material obsoleto y reemplazar algunas etiquetas de formato HTML, puede usar una expresión regular con el fin de comprobar si el material o las etiquetas de formato HTML que busca existen en un archivo determinado. De esta manera podrá limitar la búsqueda a aquellos archivos que contengan el material que debe quitarse o modificarse. A continuación, podrá utilizar una expresión regular para quitar el material obsoleto y, finalmente, podrá utilizar expresiones regulares para buscar y reemplazar las etiquetas que sea necesario sustituir.

Otro ejemplo de la utilidad de las expresiones regulares se produce en un lenguaje que no se distingue por su capacidad para el tratamiento de cadenas. VBScript, un subconjunto de Visual Basic, incluye un completo conjunto de funciones de tratamiento de cadenas. Esto no ocurre en JScript, ni tampoco en C. Las expresiones regulares proporcionan una mejora sustancial en las capacidades de tratamiento de cadenas de JScript. Sin embargo, las expresiones regulares también pueden utilizarse de una forma más eficaz en VBScript, lo que permite realizar el tratamiento de varias cadenas en una expresión única.

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Sintaxis de expresión regular Una expresión regular es un modelo de texto formado por caracteres ordinarios (por ejemplo, letras de la a a la z) y caracteres especiales, conocidos como metacaracteres. El modelo describe una o varias cadenas coincidentes al buscar en un cuerpo de texto. La expresión regular se utiliza como plantilla para cotejar un modelo de caracteres con la cadena que se está buscando.

A continuación se incluyen algunos ejemplos de expresiones regulares comunes:

En la tabla siguiente se incluye una lista completa de los metacaracteres y su comportamiento en el contexto de las expresiones regulares:

Visual Basic Scripting Edition

JScript VBScript Coincidencias/^\[ \t]*$/ "^\[ \t]*$" Coincide con una línea en blanco./\d{2}-\d{5}/ "\d{2}-\d{5}" Valida un número de identificador que

consta de dos dígitos, un guión y otros cinco dígitos.

/<(.*)>.*<\/\1>/ "<(.*)>.*<\/\1>" Coincide con una etiqueta HTML.

Página 36 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 37: Visual Basic

Carácter Descripción\ Marca el carácter siguiente como un carácter especial, un literal, una referencia inversa

o un código de escape octal. Por ejemplo, 'n' coincide con el carácter "n". '\n' coincide con un carácter de nueva línea. La secuencia '\\' coincide con "\" y "\(" coincide con "(".

^ Coincide con la posición al comienzo de la cadena de entrada. Si se establece la propiedad Multiline del objeto RegExp, ^ también coincide con la posición que sigue a '\n' o '\r'.

$ Coincide con la posición al final de la cadena de entrada. Si se establece la propiedad Multiline del objeto RegExp, $ también coincide con la posición que antecede a '\n' o '\r'.

* Coincide con la subexpresión precedente cero o más veces. Por ejemplo, zo* coincide con "z" y "zoo". * es equivalente a {0,}.

+ Coincide con la subexpresión precedente una o más veces. Por ejemplo, 'zo+' coincide con "zo" y "zoo", pero no con "z". + es equivalente a {1,}.

? Coincide con la subexpresión precedente cero o una vez. Por ejemplo, "da(do)?" coincide con "da" en "da" o en "dado". ? es equivalente a {0,1}

{n} 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,} 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*'.

{n,m} m y n son enteros no negativos, donde n <= m. Coincide al menos n veces y m como máximo. Por ejemplo, "o{1,3}" coincide con las tres primeras oes en "gooooool". 'o{0,1}' es equivalente a 'o?'. Tenga en cuenta que no puede poner un espacio entre la coma y los números.

? Cuando este carácter sigue inmediatamente a cualquiera de los otros cuantificadores (*, +, ?, {n}, {n,}, {n,m}), el modelo de coincidencia es no expansivo. Un modelo no expansivo coincide lo mínimo posible con la cadena buscada, mientras que el modelo expansivo predeterminado coincide tanto como sea posible con la cadena buscada. Por ejemplo, en la cadena "oooo", 'o+?' coincide con una única "o", mientras que en 'o+' coinciden con todas las oes.

. Coincide con cualquier carácter único excepto "\n". Para coincidir con cualquier carácter incluido '\n', utilice un modelo como '[.\n]'.

(modelo) Coincide con el modelo y captura la coincidencia. La coincidencia capturada se puede recuperar desde la colección Matches resultante, mediante la colección SubMatches de VBScript o las propiedades $0…$9 de JScript. Para que coincidan los caracteres paréntesis, ( ), utilice '\(' o '\)'.

(?:modelo) Coincide con el modelo pero no captura la coincidencia, es decir, es una coincidencia sin captura que no se almacena para un posible uso posterior. Es útil para la combinación de partes de un modelo con el carácter disyuntivo "or" (|). Por ejemplo, 'industr(?:ia|ias) es una expresión más económica que 'industria|industrias'.

(?=modelo) La búsqueda anticipada positiva coincide con la cadena de búsqueda en cualquier punto donde empiece una cadena que coincida con el modelo. Es una coincidencia sin captura, es decir, no se captura la coincidencia para un posible uso posterior. Por ejemplo 'Windows (?=95|98|NT|2000)' coincide con "Windows" en "Windows 2000" pero no con "Windows" en "Windows 3.1". La búsqueda anticipada no consume caracteres, es decir, después de que se produzca una coincidencia, la búsqueda de la siguiente cadena empieza inmediatamente después de la última coincidencia, no después de los caracteres que componen la cadena de búsqueda anticipada.

Página 37 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 38: Visual Basic

(?!modelo) La búsqueda anticipada negativa coincide con la cadena de búsqueda en cualquier punto donde empiece una cadena que no coincida con el modelo. Es una coincidencia sin captura, es decir, no se captura la coincidencia para un posible uso posterior. Por ejemplo 'Windows (?!95|98|NT|2000)' coincide con "Windows" en "Windows 3.1" pero no con "Windows" en "Windows 2000". La búsqueda anticipada no consume caracteres, es decir, después de que se produzca una coincidencia, la búsqueda de la siguiente cadena empieza inmediatamente después de la última coincidencia, no después de los caracteres que componen la cadena de búsqueda anticipada.

x|y 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".

[xyz] Un conjunto de caracteres. Coincide con cualquiera de los caracteres incluidos. Por ejemplo, '[abc]' coincide con 'a' en "plan".

[^xyz] Un conjunto de caracteres negativo. Coincide con cualquier carácter no incluido. Por ejemplo, '[^abc]' coincide con 'p' en "plan".

[a-z] Un intervalo de caracteres. Coincide con cualquier carácter en el intervalo especificado. Por ejemplo, '[a-z]' coincide con cualquier carácter alfabético en minúsculas en el intervalo desde 'a' hasta 'z'.

[^a-z] Un intervalo de caracteres negativo. Coincide con cualquier carácter que no esté en el intervalo especificado. Por ejemplo, '[^a-z]' coincide con cualquier carácter que no esté en el intervalo desde 'a' hasta 'z'.

\b Coincide con un límite de palabra, es decir, la posición entre una palabra y un espacio. Por ejemplo, 'er\b' coincide con 'er' en "ceder" pero no con 'er' en "verbo".

\B Coincide con algo que no sea un límite de palabra. 'er\B' coincide con 'er' en "verbo" pero no con 'er' en "ceder".

\cx Coincide con el carácter de control indicado por x. Por ejemplo, \cM coincide con Control-M (un carácter retorno de carro). El valor de x debe estar en el intervalo A-Z o a-z. Si no, se supone que c es un carácter literal 'c'.

\d Coincide con un carácter de dígito. Equivalente a [0-9]. \D Coincide con un carácter que no es un dígito. Equivalente a [^0-9]. \f Coincide con un carácter avance de página. Equivalente a \x0c y \cL.\n Coincide con un carácter de nueva línea. Equivalente a \x0a y \cJ.\r Coincide con un carácter de retorno de carro. Equivalente a \x0d y \cM.\s Coincide con cualquier carácter de espacio en blanco: carácter espacio, tabulación,

avance de página, etc. Equivalente a [ \f\n\r\t\v].\S Coincide con cualquier carácter distinto de espacio en blanco. Equivalente a

[^ \f\n\r\t\v]. \t Coincide con un carácter de tabulación. Equivalente a \x09 y \cI.\v Coincide con un carácter de tabulación vertical. Equivalente a \x0b y \cK.\w Coincide con cualquier carácter de palabra incluido el guión bajo (_). Equivalente a

'[A-Za-z0-9_]'. \W Coincide con cualquier carácter que no sea de palabra. Equivalente a '[^A-Za-z0-9_]'. \xn Coincide con n, donde n es un valor de escape hexadecimal. Los valores de escape

hexadecimales deben tener una longitud de exactamente dos dígitos. Por ejemplo, '\x41' coincide con "A". '\x041' es equivalente a '\x04' & '1'. Permite utilizar códigos ASCII en expresiones regulares.

\num Coincide con num, donde num es un entero positivo. Una referencia inversa a las coincidencias capturadas. Por ejemplo, '(.)\1' coincide con dos caracteres idénticos consecutivos.

Página 38 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 39: Visual Basic

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Construir una expresión regular Las expresiones regulares se construyen de la misma manera que las expresiones aritméticas. Es decir, se combinan expresiones pequeñas mediante varios metacaracteres y operadores a fin de crear expresiones de mayor tamaño.

Para construir una expresión regular, debe situar los distintos componentes del modelo de expresión entre un par de delimitadores. En JScript, los delimitadores son un par de caracteres de barra inclinada (/). Por ejemplo:

/expresión/

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

"expresión"

En los dos ejemplos anteriores, el modelo de expresión regular (expresión) se almacena en la propiedad Pattern del objeto RegExp.

Una expresión regular puede estar compuesta de caracteres individuales, conjuntos de caracteres, intervalos de caracteres, opciones entre caracteres o cualquier combinación de todos estos componentes.

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

\n Identifica tanto un valor de escape octal como una referencia inversa. Si a \n le preceden al menos n subexpresiones capturadas, n es una referencia inversa. En otro caso, n es un valor de escape octal si n es un dígito octal (0-7).

\nm Identifica tanto un valor de escape octal como una referencia inversa. Si a \nm le preceden al menos nm subexpresiones capturadas, nm es una referencia inversa. Si a \nm le preceden al menos n capturas, n es una referencia inversa seguida por el literal m. Si no existe ninguna de las condiciones precedentes, \nm coincide con el valor de escape octal nm cuando n y m son dígitos octales (0-7).

\nml Coincide con el valor de escape octal nml cuando n es un dígito octal (0-3) y m y l son dígitos octales (0-7).

\un Coincide con n, donde n es un carácter Unicode expresado en la forma de cuatro dígitos hexadecimales. Por ejemplo, \u00A9 coincide con el símbolo de copyright (©).

Visual Basic Scripting Edition

Página 39 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 40: Visual Basic

Orden de precedencia Una vez que haya creado una expresión regular, ésta se evalúa de una manera muy similar a una expresión aritmética, es decir, de izquierda a derecha y con un orden de precedencia.

La siguiente tabla muestra, de mayor a menor, el orden de precedencia de los distintos operadores de expresión regular.

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Caracteres ordinarios Los caracteres ordinarios son todos aquellos caracteres imprimibles y no imprimibles que no se han designado explícitamente como metacaracteres. Esto incluye todos los caracteres alfabéticos en mayúscula y minúscula, todos los dígitos, todos los símbolos de puntuación y otros símbolos.

La forma más sencilla de expresión regular consiste en un carácter sencillo y ordinario que coincida consigo mismo en una cadena de búsqueda. Por ejemplo, un modelo de carácter único 'A' coincide con cualquier aparición de la letra 'A' en la cadena en la que se está buscando. A continuación se incluyen algunos ejemplos de modelos de expresiones regulares de un único carácter:

/a/ /7/ /M/

Las expresiones regulares de carácter único equivalentes de VBScript son:

"a" "7" "M"

Puede combinar varios caracteres únicos para formar una expresión mayor. Por ejemplo, la siguiente expresión regular de JScript se ha creado mediante la combinación de las expresiones de carácter único

Visual Basic Scripting Edition

Operadores Descripción\ Escape(), (?:), (?=), [] Paréntesis y corchetes*, +, ?, {n}, {n,}, {n,m} Cuantificadores^, $, \cualquierMetacaracter Delimitadores y secuencias| Alternancia

Visual Basic Scripting Edition

Página 40 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 41: Visual Basic

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

/a7M/

La expresión equivalente de VBScript es:

"a7M"

Observe que no se utiliza ningún operador de concatenación. Lo único que debe hacer es colocar un carácter detrás de otro.

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Caracteres especiales Hay varios metacaracteres que requieren un tratamiento especial al intentar que coincidan. Para ello debe utilizar un carácter de escape, es decir, anteponerles un carácter de barra invertida (\). Las tablas siguientes muestran dichos caracteres especiales y su significado.

Visual Basic Scripting Edition

Carácter especial

Comentarios

$ Coincide con la posición al final de una cadena de entrada. Si se establece la propiedad Multiline del objeto RegExp, $ también coincide con la posición que antecede a '\n' o '\r'. Para que coincida el carácter $, ( ), use \$.

( ) Marca el comienzo y el final de una subexpresión. Las subexpresiones pueden capturarse para su uso posterior. Para que coincidan estos caracteres, utilice \( y \).

* Coincide con la subexpresión precedente cero o más veces. Para que coincida el carácter *, use \*.

+ Coincide con la subexpresión precedente una o más veces. Para que coincida el carácter +, use \+.

. Coincide con cualquier carácter único excepto el carácter de nueva línea \n. Para que coincida, utilice \.

[ Marca el comienzo y el final de una expresión de corchete. Para que [ coincida, use \[. ? Coincide con la subexpresión precedente cero o una vez, o indica un cuantificador no

expansivo. Para que coincida el carácter ?, use \?.\ Marca el carácter siguiente como un carácter especial, un literal, una referencia inversa

o un código de escape octal. Por ejemplo, 'n' coincide con el carácter 'n'. '\n' coincide con un carácter de nueva línea. La secuencia '\\' coincide con "\" y '\(' coincide con "(".

^ Coincide con la posición del comienzo de una cadena de entrada, excepto cuando se usa en una expresión de corchetes, donde niega el conjunto de caracteres. Para que el carácter ^ coincida consigo mismo, use \^.

Página 41 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 42: Visual Basic

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

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.

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Coincidencia de caracteres El carácter punto (.) coincide con cualquier carácter imprimible o no imprimible único de una cadena, a excepción del carácter de nueva línea (\n). La siguiente expresión regular de JScript coincide con 'aac', 'abc', 'acc', 'adc', etc., así como con 'a1c', 'a2c', a-c' y a#c':

/a.c/

La expresión regular equivalente de VBScript es:

{ Marca el comienzo de una expresión de cuantificador. Para que { coincida, use \{.| Indica una opción entre dos elementos. Para que | coincida, use \|.

Visual Basic Scripting Edition

Carácter Significado\cx Coincide con el carácter de control indicado por x. Por ejemplo, \cM coincide con

Control-M (un carácter retorno de carro). El valor de x debe estar en el intervalo A-Z o a-z. Si no, se supone que c es un carácter literal 'c'.

\f Coincide con un carácter avance de página. Equivalente a \x0c y \cL.\n Coincide con un carácter de nueva línea. Equivalente a \x0a y \cJ.\r Coincide con un carácter de retorno de carro. Equivalente a \x0d y \cM.\s Coincide con cualquier carácter de espacio en blanco: carácter espacio, tabulación,

avance de página, etc. Equivalente a [ \f\n\r\t\v].\S Coincide con un carácter que no sea de espacio en blanco. Equivalente a [^ \f\n\r\t\v]. \t Coincide con un carácter de tabulación. Equivalente a \x09 y \cI.\v Coincide con un carácter de tabulación vertical. Equivalente a \x0b y \cK.

Visual Basic Scripting Edition

Página 42 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 43: Visual Basic

"a.c"

Si desea que coincida una cadena que contiene un nombre de archivo en el que un punto (.) forma parte de la cadena de entrada, anteponga un carácter de barra invertida (\) al punto en la expresión regular. Por ejemplo, la siguiente expresión regular de JScript coincide con 'nombreArchivo.ext':

/nombreArchivo\.ext/

En VBScript la expresión equivalente aparecería como se muestra a continuación:

"nombreArchivo\.ext"

Sin embargo, estas expresiones tienen muchas limitaciones. Sólo permiten que la expresión coincida con cualquier carácter único. En muchas ocasiones, es aconsejable hacer que coincidan caracteres especificados de una lista. Por ejemplo, en el caso de un texto que contenga encabezados de capítulo expresados numéricamente como Capítulo 1, Capítulo 2, etc., es aconsejable buscar dichos encabezados.

Expresiones de corchete

Para crear una lista de caracteres coincidentes, coloque uno o varios caracteres individuales entre corchetes ([ y ]). Cuando los caracteres se encierran entre corchetes, la lista se denomina expresión de corchete. Dentro de los corchetes, los caracteres ordinarios se representan a sí mismos, es decir, coinciden con una aparición de sí mismos en el texto. La mayor parte de los caracteres especiales pierden su significado cuando se incluyen en una expresión de corchete. A continuación se muestran algunas excepciones:

El carácter ']' finaliza una lista si no es el primer elemento. Para que el carácter ']' coincida en una lista, colóquelo en primer lugar inmediatamente después del carácter '[' de apertura.

El carácter '\' continúa siendo el carácter de escape. Para que el carácter '\' coincida, use '\\'.

Los caracteres encerrados en una expresión de corchete sólo coinciden con el carácter único correspondiente a la posición de la expresión regular en la que aparece la expresión de corchete. La siguiente expresión regular de JScript coincide con 'Capítulo 1', 'Capítulo 2', 'Capítulo 3', 'Capítulo 4' y 'Capítulo 5':

/Capitulo [12345]/

Para que los mismos encabezados de capítulos coincidan en VBScript, use la siguiente expresión:

"Capitulo [12345]"

Observe que la palabra 'Capítulo' y el espacio que sigue ocupan una posición fija respecto a los caracteres encerrados entre corchetes. Así pues, la expresión de corchete se utiliza para especificar sólo el conjunto de caracteres que coincide con la posición de carácter único inmediatamente posterior a la palabra 'Capítulo' y a un espacio. Es decir, la décima posición de carácter.

Si desea expresar los caracteres coincidentes con un intervalo en lugar de utilizar los propios caracteres, puede separar los caracteres inicial y final del intervalo mediante un guión (-). El valor de carácter de los caracteres individuales determina su orden relativo dentro de un intervalo. La siguiente expresión regular de JScript contiene una expresión de intervalo equivalente a la lista entre corchetes mostrada en el ejemplo anterior.

Página 43 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 44: Visual Basic

/Capitulo [1-5]/

La expresión equivalente en VBScript aparecería como se muestra a continuación:

"Capitulo [1-5]"

Al especificar un intervalo de esta forma, los valores inicial y final se incluyen en el intervalo. Es importante destacar que el valor inicial debe preceder al valor final de acuerdo con la ordenación Unicode.

Si desea incluir el carácter guión en la expresión de corchete, realice una de las siguientes acciones:

Colóquele delante una barra inversa:

[\-]

Coloque el guión al comienzo o al final de la lista entre corchetes. Las siguientes expresiones coinciden con las letras en minúsculas y con el guión:

[-a-z] [a-z-]

Cree un intervalo en el que el valor del carácter inicial sea menor que el guión y el carácter final sea igual o mayor que el guión. Las siguientes expresiones regulares cumplen este requisito:

[!--] [!-~]

También puede buscar todos los caracteres no incluidos en la lista o intervalo; para ello, coloque el carácter acento circunflejo (^) al comienzo de la lista. En caso de que dicho carácter aparezca en cualquier otra posición dentro de la lista, coincidirá consigo mismo, es decir, no tendrá ningún significado especial. La siguiente expresión regular de JScript coincide con los encabezados de capítulo mayores que 5:

/Capitulo [^12345]/

En VBScript use:

"Capitulo [^12345]"

En los ejemplos anteriores, la expresión coincide con cualquier dígito que ocupe la novena posición excepto 1, 2, 3, 4 o 5. Por ejemplo, 'Capítulo 7' es una coincidencia, al igual que 'Capítulo 9'.

Las expresiones anteriores podrían representarse mediante el carácter guión (-). En JScript:

/Capitulo [^1-5]/

o en VBScript:

"Capitulo [^1-5]"

Página 44 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 45: Visual Basic

Las expresiones de corchete suelen utilizarse para especificar coincidencias de cualquier carácter alfabético en mayúsculas o minúsculas, o dígito. La siguiente expresión de JScript especifica este tipo de coincidencia:

/[A-Za-z0-9]/

La expresión equivalente en VBScript es:

"[A-Za-z0-9]"

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Cuantificadores En algunas ocasiones no se conoce el número de caracteres que deben coincidir. Para solucionar este tipo de problema, las expresiones regulares admiten el concepto de cuantificadores. Estos cuantificadores permiten especificar el número de veces que un componente dado de la expresión regular debe aparecer para que la coincidencia sea verdadera.

La tabla siguiente muestra los distintos cuantificadores y su significado.

En documentos de gran tamaño, podría haber fácilmente más de nueve capítulos, por lo que se necesita un sistema para tratar números de capítulo de dos o tres dígitos. Los cuantificadores le permitirán hacerlo. La siguiente expresión regular de JScript coincide con encabezados de capítulo con cualquier número de dígitos:

Visual Basic Scripting Edition

Carácter Descripción* Coincide con la subexpresión precedente cero o más veces. Por ejemplo, 'zo*' coincide

con "z" y "zoo". * es equivalente a {0,}.+ Coincide con la subexpresión precedente una o más veces. Por ejemplo, 'zo+' coincide

con "zo" y "zoo", pero no con "z". + es equivalente a {1,}.? Coincide con la subexpresión precedente cero o una vez. Por ejemplo, 'da(do)?'

coincide con "da" en "da" o en "dado". ? es equivalente a {0,1}{n} 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,} 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*'.

{n,m} m y n son enteros no negativos, donde n <= m. Coincide al menos n veces y m como máximo. Por ejemplo, 'o{1,3}' coincide con las tres primeras oes en "gooooool". 'o{0,1}' es equivalente a 'o?'. Tenga en cuenta que no puede poner un espacio entre la coma y los números.

Página 45 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 46: Visual Basic

/Capítulo [1-9][0-9]*/

La siguiente expresión regular de VBScript busca la coincidencia de manera idéntica:

"Capítulo [1-9][0-9]*"

Observe que el cuantificador aparece después de la expresión de intervalo. Por lo tanto, se aplica a toda la expresión de intervalo que, en este caso, sólo especifica dígitos del 0 al 9, inclusive.

El cuantificador '+' no se usa en este caso, ya que no es necesario que haya un dígito en las posiciones segunda o siguiente. El carácter '?' tampoco se utiliza, ya que limita los números de capítulo a sólo dos dígitos. Al menos debe coincidir un dígito después de 'Capítulo' y un carácter de espacio.

Si sabe que el número de capítulos está limitado a 99 únicamente, puede utilizar la siguiente expresión de JScript para especificar al menos un dígito, pero no más de dos.

/Capítulo [0-9]{1,2}/

En VBScript, use la siguiente expresión regular:

"Capítulo [0-9]{1,2}"

La desventaja de la expresión anterior es que, en el caso de que exista un número de capítulo mayor que 99, continuará coincidiendo con los dos primeros dígitos. Otra desventaja es que si alguien creara un Capítulo 0, éste coincidiría. A continuación se muestran expresiones de JScript más adecuadas para que sólo coincidan dos dígitos:

/Capítulo [1-9][0-9]?/

o

/Capítulo [1-9][0-9]{0,1}/

En VBScript, use las expresiones equivalentes que se muestran a continuación:

"Capítulo [1-9][0-9]?"

o

"Capítulo [1-9][0-9]{0,1}"

Los cuantificadores '*', '+' y '?' se denominan expansivos, es decir, coinciden con la mayor cantidad de texto posible. En algunas ocasiones no es aconsejable que esto ocurra. A veces es preferible obtener una coincidencia mínima.

Supongamos, por ejemplo, que busca en un documento HTML la aparición de un título de capítulo encerrado en una etiqueta H1. El texto aparece en el documento como:

<H1>Capítulo1 - Introducción a las expresiones regulares</H1>

La siguiente expresión coincide con todos los elementos comprendidos entre el símbolo menor que (<)

Página 46 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 47: Visual Basic

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

/<.*>/

La expresión regular equivalente de VBScript es:

"<.*>"

Si sólo deseaba una coincidencia con la etiqueta H1 de apertura, utilice la siguiente expresión no expansiva:

/<.*?>/

o

"<.*?>"

Al colocar el signo '?' después de un cuantificador '*', '+' o '?', la expresión se transforma de coincidencia expansiva a no expansiva, o mínima.

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Delimitadores Hasta este momento, los ejemplos que ha visto sólo muestran cómo buscar encabezados de capítulo en todas las posiciones en que aparezcan. Cualquier aparición de la cadena 'Capítulo' seguida por un espacio y por un número podría ser un encabezado de capítulo real o, también, podría ser una referencia cruzada a otro capítulo. Puesto que los encabezados de capítulo verdaderos siempre aparecen al comienzo de una línea, deberá idear una manera de buscar sólo los encabezados y no las referencias cruzadas.

Los delimitadores le permitirán lograrlo. Mediante los delimitadores es posible fijar una expresión regular al principio o al final de una línea. También permiten crear expresiones regulares que ocurran dentro, al final o al principio de una palabra. La tabla siguiente incluye la lista de delimitadores de expresión regular y su significado:

Visual Basic Scripting Edition

Carácter Descripción^ Coincide con la posición al comienzo de la cadena de entrada. Si se establece la

propiedad Multiline del objeto RegExp, ^ también coincide con la posición que sigue a '\n' o '\r'.

$ Coincide con la posición al final de la cadena de entrada. Si se establece la propiedad Multiline del objeto RegExp, $ también coincide con la posición que precede a '\n' o

Página 47 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 48: Visual Basic

No es posible usar un cuantificador junto con un delimitador. Puesto que no puede haber más de una posición inmediatamente antes o después de un límite de palabra o nueva línea, no se permiten expresiones como '^*'.

Para que un texto coincida al comienzo de una línea de texto, use el carácter '^' al comienzo de la expresión regular. No confunda este uso de '^' con su utilización dentro de una expresión de corchete. No tienen nada que ver.

Para que un texto coincida al final de una línea de texto, use el carácter '$' al final de la expresión regular.

Para utilizar delimitadores al buscar encabezados de capítulo, la siguiente expresión regular de JScript coincide con un encabezado de capítulo situado en el comienzo de una línea al que siguen un máximo de dos dígitos:

/^Capítulo [1-9][0-9]{0,1}/

En VBScript la misma expresión regular aparecería como:

"^Capítulo [1-9][0-9]{0,1}"

No sólo existe un verdadero encabezado de capítulo al comienzo de la línea, sino que es el único elemento, por lo que también debe encontrarse al final de la línea. La siguiente expresión permite garantizar que la coincidencia especificada sólo coincide con capítulos, no con referencias cruzadas. Para conseguirlo, es necesario crear una expresión que sólo coincida al comienzo o al final de una línea del texto.

/^Capítulo [1-9][0-9]{0,1}$/

En VBScript use:

"^Capítulo [1-9][0-9]{0,1}$"

La coincidencia con límites de palabra difiere en algunos aspectos, pero agrega una capacidad muy importante a las expresiones regulares. El límite de palabra es la posición entre una palabra y un espacio. Los límites que no son de palabra ocupan cualquier otra posición. La siguiente expresión de JScript coincide con los tres primeros caracteres de la palabra 'Capítulo', ya que estos aparecen detrás de un límite de palabra:

/\bCap/

o en VBScript:

"\bCap"

La posición del operador '\b' es esencial en este caso. Si está situado al comienzo de la cadena que se va

'\r'.\b Coincide con un límite de palabra, es decir, la posición entre una palabra y un espacio. \B Coincide con algo que no sea un límite de palabra.

Página 48 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 49: Visual Basic

a comparar, busca la coincidencia al principio de la palabra; si está situado al final, busca la coincidencia al final de la palabra. Por ejemplo, las siguientes expresiones coinciden con el segmento 'ulo' de la palabra 'Capítulo', ya que ésta aparece antes de un límite de palabra:

/ulo\b/

y

"ulo\b"

Las siguientes expresiones coinciden con el segmento 'apí' de la palabra 'Capítulo', pero no como en 'apícola':

/\Bapí/

y

"\Bapí"

Esto se debe a que 'apí' ocurre en un límite que no es de palabra en la palabra 'Capítulo' y en un límite de palabra en 'apícola'. En lo que respecta al operador de límite que no es de palabra, la posición no es importante, ya que la coincidencia no está relacionada con el comienzo o el final de una palabra.

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Alternancia y agrupamiento Mediante la alternancia es posible utilizar el carácter '|' de modo que se pueda elegir entre dos o más alternativas. Al expandir la expresión regular del encabezado de capítulo, se pueden abarcar más elementos, no sólo los encabezados de capítulo. Sin embargo, este sistema no es tan sencillo como parece. Cuando se utiliza la alternancia, la comparación se establece con la expresión de mayor tamaño posible situada a cualquier lado del carácter '|'. Podría parecer que las siguientes expresiones para JScript y VBScript coinciden con las palabras 'Capítulo' o 'Sección', seguidas de uno o dos dígitos, que aparezcan al comienzo o al final de una línea:

/^Capítulo|Sección [1-9][0-9]{0,1}$/ "^Capítulo|Sección [1-9][0-9]{0,1}$"

Desgraciadamente, estas expresiones regulares coinciden con la palabra 'Capítulo' al comienzo de la línea o con la palabra 'Sección' (y cualquier número que siga) al final de la línea. Si la cadena de entrada es 'Capítulo 22', la expresión anterior sólo coincide con la palabra 'Capítulo'. Si la cadena de entrada es 'Sección 22', la expresión coincide con la palabra 'Sección 22'. Pero eso no era lo previsto en este caso, de modo que debe haber un método para que dicha expresión regular se ajuste mejor a lo que está

Visual Basic Scripting Edition

Página 49 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 50: Visual Basic

intentando conseguir; de hecho, este mecanismo existe.

Puede utilizar paréntesis para limitar el ámbito de la alternancia, es decir, garantizar que sólo se aplica a las dos palabras, 'Capítulos' y 'Sección'. Sin embargo, los paréntesis también pueden provocar problemas, ya que igualmente se usan para crear subexpresiones, algo que se tratará posteriormente en la sección acerca de ellas. Si agrega paréntesis en los lugares apropiados a las expresiones regulares mostradas anteriormente, podrá conseguir que coincidan con 'Capítulo 1' y 'Sección 3'.

En las siguientes expresiones regulares se emplean paréntesis para agrupar 'Capítulo' y 'Sección', lo que permitirá que la expresión funcione correctamente. En JScript:

/^(Capítulo|Sección) [1-9][0-9]{0,1}$/

En VBScript:

"^(Capítulo|Sección) [1-9][0-9]{0,1}$"

Estas expresiones funcionarán correctamente, a menos que se produzca una interesante consecuencia. Al colocar paréntesis alrededor de 'Capítulo|Sección' se establece el agrupamiento apropiado, pero también se ocasiona que cualquiera de las dos palabras coincidentes se capturen para su uso posterior. Puesto que sólo hay un conjunto de paréntesis de la expresión anterior, sólo existe una subcoincidencia capturada. Es posible hacer referencia a esta subcoincidencia mediante la colección Submatches de VBScript o las propiedades $0…$9 del objeto RegExp de JScript.

En algunas ocasiones es aconsejable capturar una subcoincidencia, en otras no. En los ejemplos anteriores, únicamente debe utilizar los paréntesis para agrupar una opción entre las palabras 'Capítulo' o 'Sección'. No es necesario que se haga referencia a dicha coincidencia posteriormente. De hecho, a menos que sea realmente necesario capturar subcoincidencias, es preferible no utilizarlas. Las expresiones regulares serán más eficaces, ya que no tendrán que utilizar el tiempo y la memoria necesarias para almacenar las subcoincidencias.

Puede usar '?:' antes del modelo de expresión regular entre paréntesis a fin de impedir que la coincidencia se guarde para su uso posterior. La siguiente modificación de las expresiones regulares anteriores proporciona la misma capacidad sin guardar la subcoincidencia. En JScript:

/^(?:Capítulo|Sección) [1-9][0-9]{0,1}$/

En VBScript:

"^(?:Capítulo|Sección) [1-9][0-9]{0,1}$"

Además de los metacaracteres '?:', hay otros dos metacaracteres de no captura empleados para lo que se denomina búsquedas anticipadas. La búsqueda anticipada positiva, especificada mediante ?=, coincide con la cadena de búsqueda en cualquier punto donde empiece un modelo de expresión regular coincidente entre paréntesis. La búsqueda anticipada negativa, especificada mediante '?!', coincide con la cadena de búsqueda en cualquier punto donde empiece una cadena que no coincida con el modelo de expresión regular.

Por ejemplo, supongamos que un documento contiene referencias a Windows 3.1, Windows 95, Windows 98 y Windows NT. Supongamos también que para actualizar el documento debe buscar todas las referencias a Windows 95, Windows 98 y Windows NT, y cambiarlas por Windows 2000. Puede

Página 50 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 51: Visual Basic

utilizar la siguiente expresión regular de JScript, que constituye un ejemplo de una búsqueda anticipada positiva, para buscar Windows 95, Windows 98 y Windows NT:

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

Para conseguir la misma coincidencia en VBScript, use la siguiente expresión:

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

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

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Referencias inversas Una de las características más importantes de las expresiones regulares es la capacidad de almacenar una parte de un modelo buscado para volver a utilizarlo posteriormente. Como recordará, al poner entre paréntesis un modelo de expresión regular o una parte de un modelo, parte de la expresión se almacena en un búfer temporal. Si desea evitar que se guarde esa parte de la expresión regular, utilice los metacaracteres de no captura '?:', '?=' o '?!'.

Cada subcoincidencia capturada se almacena como se encontró de izquierda a derecha en un modelo de expresiones regulares. Los números de búfer donde se almacenan las subcoincidencias comienzan por 1 y continúan hasta un máximo de 99 subexpresiones. Se puede tener acceso a cada búfer diferente mediante '\n', donde n equivale a uno o dos dígitos decimales que identifican a un búfer específico.

Una de las aplicaciones más sencillas y útiles de las referencias inversas permite localizar la aparición de dos palabras idénticas juntas en un texto. Por ejemplo, en la siguiente frase:

¿Está está subiendo el precio de de la gasolina todavía más más?

Tal como está escrita, es evidente que en la frase anterior hay varias palabras duplicadas. Sería aconsejable diseñar una manera de corregirla sin tener que buscar los duplicados de cada una de las palabras. La siguiente expresión regular de JScript emplea una expresión única para ello.

/\b([a-z]+) \1\b/gi

La expresión equivalente de VBScript es:

Visual Basic Scripting Edition

Página 51 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 52: Visual Basic

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

En este caso, todos los elementos de la expresión están entre paréntesis. La expresión capturada incluye uno o varios caracteres alfabéticos, como se especificaba en '[a-z]+'. La segunda parte de la expresión regular es la referencia a la subcoincidencia capturada previamente, es decir, la segunda aparición de la palabra que se había encontrado justo antes con respecto a la expresión entre paréntesis. '\1' se utiliza para especificar la primera subcoincidencia. Los metacaracteres de límite de palabra garantizan que sólo se detectarán palabras independientes. Si no fuera así, esta expresión identificaría de forma incorrecta frases como "es emitido" o "esto es".

En la expresión de JScript, la etiqueta global ('g') situada tras la expresión general indica que ésta se aplica a todas las coincidencias que se puedan encontrar en la cadena de entrada. La no distinción de mayúsculas y minúsculas se especifica mediante la etiqueta de no distinción ('i') situada al final de la expresión. La etiqueta de multilínea especifica que las posibles coincidencias pueden ocurrir en cualquiera de los lados de un carácter de nueva línea. En VBScript, no es posible establecer en la expresión las distintas etiquetas, sino que deben definirse explícitamente mediante las propiedades del objeto RegExp.

Mediante la expresión regular mostrada anteriormente, el código de JScript siguiente puede utilizar la información de subcoincidencia para reemplazar una aparición de dos palabras idénticas consecutivas en una cadena de texto con una única aparición de la misma palabra:

var ss = "¿Está está subiendo el precio de de la gasolina todavía más más??.\n"; var re = /\b([a-z]+) \1\b/gim; //Crea un modelo de expresión regular. var rv = ss.replace(re,"$1"); //Reemplaza dos apariciones con una.

El código de VBScript más aproximado tendría la forma siguiente:

Dim ss, re, rv ss = "¿Está está subiendo el precio de de la gasolina todavía más más?." & vbNewLineSet re = New RegExp re.Pattern = "\b([a-z]+) \1\b" re.Global = True re.IgnoreCase = True re.MultiLine = True rv = re.Replace(ss,"$1")

Observe que en el código de VBScript, las etiquetas globales, de no distinción entre mayúsculas y minúsculas y de multilínea se establecen mediante las propiedades con el nombre apropiado del objeto RegExp.

El uso de $1 dentro del método replace hace referencia a la primera subcoincidencia guardada. Si hubiera habido más de una subcoincidencia, se haría referencia a ella consecutivamente mediante $2, $3, etc.

Otra manera de utilizar las referencias inversas consiste en dividir un indicador de recursos universal (URI, Universal Resource Indicator) en sus distintos componentes. Supongamos que desea dividir el siguiente URI en el protocolo (ftp, http, etc.), la dirección de dominio y la página o ruta de acceso:

http://www.microsoft.com/spain/scripting/default.htm

Las siguientes expresiones regulares proporcionan dicha funcionalidad. En JScript:

Página 52 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 53: Visual Basic

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

En VBScript:

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

La primera subexpresión entre paréntesis se ha diseñado para capturar la parte de protocolo de la dirección Web. Esta subexpresión coincide con cualquier palabra que preceda a dos puntos y dos barras diagonales. La primera subexpresión entre paréntesis captura la parte de dirección de dominio de la dirección. Esta subexpresión coincide con cualquier secuencia de caracteres que no incluya los caracteres '^', '/' o ':'. La tercera subexpresión entre paréntesis captura el número de puerto de un sitio Web, en caso de que se haya especificado. Esta subexpresión coincide con cero o más dígitos que sigan a un signo de dos puntos. Y, finalmente, en la cuarta subexpresión entre paréntesis se captura la información de ruta de acceso y página especificada por la dirección Web. Esta subexpresión coincide con uno o varios caracteres que no sean '#' o el carácter de espacio.

Al aplicar la expresión regular al URI anterior, las subcoincidencias contienen los siguientes elementos:

RegExp.$1 contiene "http"

RegExp.$2 contiene "www.microsoft.com/spanish/"

RegExp.$3 contiene "/spain"

RegExp.$4 contiene "/scripting/default.htm"

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Referencia del lenguaje VBScript Constantes

Errores

Eventos

Funciones

Métodos

Varios

Visual Basic Scripting Edition

Página 53 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 54: Visual Basic

Objetos y colecciones

Operadores

Propiedades

Instrucciones

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Información de la versión En la tabla siguiente se muestra la versión de Microsoft Visual Basic Scripting Edition implementada por cada aplicación host.

En la tabla siguiente se enumeran las características de lenguaje de VBScript y la versión en la que se introdujeron por primera vez çççTrados no deja traducir esto.

Visual Basic Scripting Edition

Aplicación host 1.0 2.0 3.0 4.0 5.0 5.5 5.6Microsoft Internet Explorer 3.0 x Microsoft Internet Information Server 3.0 x Microsoft Internet Explorer 4.0 x Microsoft Internet Information Server 4.0 x Microsoft Windows Scripting Host 1.0 x Microsoft Outlook 98 x Microsoft Visual Studio 6.0 x Microsoft Internet Explorer 5.0 x Servicios de Microsoft Internet Information Server 5.0

x

Microsoft Internet Explorer 5.5 x Microsoft Visual Studio.NET x

Elemento del lenguaje 1.0 2.0 3.0 4.0 5.0 5.5 5.6Función Abs x Operador de suma (+) x Operador And x Función Array x Función Asc x Operador de asignación (=) x Función Atn x

Página 54 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 55: Visual Basic

Instrucción Call x Función CBool x Función CByte x Función CCur x Función CDate x Función CDbl x Función Chr x Función CInt x Objeto Class x Instrucción Class x Método Clear x Función CLng x Constantes de colores x Constantes de comparaciones x Operador de concatenación (&) x Instrucción Const x Función Cos x Función CreateObject x Función CSng x Función CStr x Constantes de fecha y hora x Constantes de formato de fecha x Función Date (función) x Función DateAdd x Función DateDiff x Función DatePart x Función DateSerial x Función DateValue x Función Day x Propiedad Description x Instrucción Dim x Operador de división (/) x Instrucción Do...Loop x Empty x Operador Eqv x Instrucción Erase x Objeto Err x Función Eval x Método Execute x Instrucción Execute x Instrucción ExecuteGlobal x Instrucción Exit x Función Exp x Operador de exponenciación (^) x False x Función Filter x

Página 55 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 56: Visual Basic

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

Página 56 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 57: Visual Basic

Constantes varias x Operador Mod x Función Month x Función MonthName x Constantes de MsgBox x Función MsgBox x Operador de multiplicación (*) x Operador de negación (-) x Operador Not x Función Now x Nothing x Null x Propiedad Number x Función Oct x Instrucción On Error x Instrucción Option Explicit x Operador Or x Propiedad Pattern x Instrucción Private x Instrucción PropertyGet x Instrucción PropertyLet x Instrucción PropertySet x Instrucción Public x Método Raise x Instrucción Randomize x Instrucción ReDim x Objeto RegExp x Instrucción Rem x Función Replace x Método Replace x Función RGB x Función Right x Función Rnd x Función Round x Función RTrim x Función ScriptEngine x Función ScriptEngineBuildVersion x Función ScriptEngineMajorVersion x Función ScriptEngineMinorVersion x Función Second x Instrucción Select Case x Instrucción Set x Función SetLocale x Función Sgn x Función Sin x Propiedad Source x

Página 57 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 58: Visual Basic

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Constantes de VBScript En VBScript están integradas un número de constantes útiles que puede utilizar en su código. Las constantes proporcionan un modo cómodo de utilizar valores específicos sin tener que recordar el propio valor. Utilizar constantes hace que se pueda mantener su código si el valor de cualquier constante

Función Space x Función Split x Función Sqr x Función StrComp x Constantes de cadena x Función String x Función StrReverse x Instrucción Sub x operador de sustracción (-) x Función Tan x Evento Terminate x Método Test x Función Time x Función Timer x Función TimeSerial x Función TimeValue x Función Trim x Constantes de triple estado x True x Función TypeName x Función UBound x Función UCase x Propiedad Value x Constantes de VarType x Función VarType x Constantes de VBScript x Función Weekday x Función WeekdayName x Instrucción While...Wend x Instrucción With x Operador Xor x Función Year x

Visual Basic Scripting Edition

Página 58 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 59: Visual Basic

cambiara alguna vez. Dado que estas constantes están ya definidas en VBScript, no necesita declararlas de manera explícita en su código. Simplemente utilícelas en lugar de los valores que representan.

Aquí están las diversas categorías de constantes proporcionadas en VBScript y una breve descripción de cada una:

Constantes de color Define ocho colores básicos que se pueden utilizar en secuencias de comandos.

Constantes de fecha y hora Define las constantes de fecha y hora utilizadas por las diversas funciones de fecha y hora.

Constantes de formato de fecha Define las constantes utilizadas para dar formato a fechas y horas.

Constantes varias Define las constantes que no corresponden exactamente a ninguna otra categoría.

Constantes para MsgBox Define las constantes utilizadas en la función MsgBox para describir los valores de visibilidad, etiqueta, comportamiento y de retorno de un botón.

Constantes de cadena Define una variedad de caracteres no imprimibles utilizados para el control de cadenas.

Constantes para Tristate Define las constantes utilizadas en las funciones que dan formato a números.

Constantes para VarType Define los diversos subtipos del tipo Variant.

Requisitos

Versión 2

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Constantes de color Dado que estas constantes están integradas en VBScript, no tiene que definirlas antes de utilizarlas. Utilícelas en cualquier parte de su código para representar los valores mostrados para cada una.

Visual Basic Scripting Edition

Constante Valor DescripciónvbBlack &h00 NegrovbRed &hFF RojovbGreen &hFF00 VerdevbYellow &hFFFF AmarillovbBlue &hFF0000 AzulvbMagenta &hFF00FF FucsiavbCyan &hFFFF00 Aguamarina

Página 59 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 60: Visual Basic

Requisitos

Versión 2

Consulte también

Constantes de comparación | Constantes de fecha y hora | Constantes de formato de fecha | Constantes varias | Constantes para MsgBox | Constantes de cadena | Constantes para Tristate | Constantes para VarType

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Constantes de comparación Dado que estas constantes están integradas en VBScript, no tiene que definirlas antes de utilizarlas. Utilícelas en cualquier parte de su código para representar los valores mostrados para cada una.

Requisitos

Versión 2

Consulte también

Constantes de color | Constantes de fecha y hora | Constantes de formato de fecha | Constantes varias | Constantes para MsgBox | Constantes de cadena | Constantes para Tristate | Constantes para VarType

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

vbWhite &hFFFFFF Blanco

Visual Basic Scripting Edition

Constante Valor DescripciónvbBinaryCompare0 Realizar una comparación binaria.vbTextCompare 1 Realizar una comparación textual.

Visual Basic Scripting Edition

Página 60 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 61: Visual Basic

Constantes de fecha y hora Dado que estas constantes están integradas en VBScript, no tiene que definirlas antes de utilizarlas. Utilícelas en cualquier parte de su código para representar los valores mostrados para cada una.

Requisitos

Versión 2

Consulte también

Constantes de color | Constantes de comparación | Constantes de formato de fecha | Constantes varias | Constantes para MsgBox | Constantes de cadena | Constantes para Tristate | Constantes para VarType

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Constantes de formato de fecha Dado que estas constantes están integradas en VBScript, no tiene que definirlas antes de utilizarlas. Utilícelas en cualquier parte de su código para representar los valores mostrados para cada una.

Constante Valor DescripciónvbSunday 1 domingovbMonday 2 lunesvbTuesday 3 martesvbWednesday 4 miércolesvbThursday 5 juevesvbFriday 6 viernesvbSaturday 7 sábadovbUseSystemDayOfWeek 0 Utiliza el día de la semana especificado en la

configuración de su sistema como primer día de la semana.

vbFirstJan1 1 Utiliza la semana en que aparece el 1 de enero (predeterminado).

vbFirstFourDays 2 Utiliza la primera semana que tiene al menos cuatro días en el nuevo año.

vbFirstFullWeek 3 Utiliza la primera semana completa del año.

Visual Basic Scripting Edition

Constante Valor Descripción

Página 61 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 62: Visual Basic

Requisitos

Versión 2

Consulte también

Constantes de color | Constantes de comparación | Constantes de fecha y hora | Constantes varias | Constantes para MsgBox | Constantes de cadena | Constantes para Tristate | Constantes para VarType

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Constantes varias Dado que esta constante está integrada en VBScript, no tiene que definirla antes de utilizarla. Utilícela en cualquier parte de su código para representar los valores mostrados.

Requisitos

Versión 2

Consulte también

vbGeneralDate 0 Muestra una fecha o una hora o ambas. En el caso de números reales, muestra una fecha y una hora. Si no existe parte fraccional, muestra sólo una fecha. Si no existe parte de número entero, muestra sólo una hora. El hecho de mostrar la fecha y la hora depende de la configuración del sistema.

vbLongDate 1 Muestra una fecha con el formato de fecha larga especificado en la configuración regional de su equipo.

vbShortDate 2 Muestra una fecha con el formato de fecha corto especificado en la configuración regional de su equipo.

vbLongTime 3 Muestra una hora con el formato de hora largo especificado en la configuración regional de su equipo.

vbShortTime 4 Muestra una hora con el formato de hora corto especificado en la configuración regional de su equipo.

Visual Basic Scripting Edition

Constante Valor DescripciónvbObjectError -2147221504 Los números de error definidos por el usuario deben ser

mayores que este valor, por ejemplo,

Err.Raise Number = vbObjectError + 1000

Página 62 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 63: Visual Basic

Constantes de color | Constantes de comparación | Constantes de fecha y hora | Constantes de formato de fecha | Constantes para MsgBox | Constantes de cadena | Constantes para Tristate | Constantes para VarType

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Constantes para MsgBox Las siguientes constantes se utilizan con la función MsgBox para identificar qué botones e iconos aparecerán en un cuadro de diálogo y qué botón es el predeterminado. Además, se puede especificar la modalidad de MsgBox. Ya que estas constantes están integradas en VBScript, no tiene que definirlas antes de utilizarlas. Utilícelas en cualquier parte de su código para representar los valores mostrados para cada una.

Las siguientes constantes se utilizan con la función MsgBox para identificar qué botón ha seleccionado un usuario. Estas constantes están disponibles sólo cuando su proyecto hace referencia explícita a la

Visual Basic Scripting Edition

Constante Valor DescripciónvbOKOnly 0 Muestra sólo el botón Aceptar.vbOKCancel 1 Muestra los botones Aceptar y Cancelar.vbAbortRetryIgnore 2 Muestra los botones Anular, Reintentar e Ignorar.vbYesNoCancel 3 Muestra los botones Sí, No y Cancelar.vbYesNo 4 Muestra los botones Sí y No.vbRetryCancel 5 Muestra los botones Reintentar y Cancelar.vbCritical 16 Muestra el icono Mensaje crítico.vbQuestion 32 Muestra el icono Consulta de advertencia.vbExclamation 48 Muestra el icono Mensaje de aviso.vbInformation 64 Muestra el icono Mensaje de información.vbDefaultButton1 0 El primer botón es el predeterminado.vbDefaultButton2 256 El segundo botón es el predeterminado.vbDefaultButton3 512 El tercer botón es el predeterminado.vbDefaultButton4 768 El cuarto botón es el predeterminado.vbApplicationModal 0 Aplicación modal. El usuario debe responder al cuadro de

diálogo antes de continuar trabajando en la aplicación actual.vbSystemModal 4096 Sistema modal. En sistemas Win16, se suspenden todas las

aplicaciones hasta que el usuario responde al cuadro de diálogo. En sistemas Win32, esta constante proporciona un cuadro de mensaje de aplicación modal que permanece siempre visible en primer plano ante cualquier otro programa que esté en ejecución.

Página 63 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 64: Visual Basic

biblioteca de tipos apropiada que contiene estas definiciones de constantes. En VBScript, debe declarar de manera explícita estas constantes en su código.

Requisitos

Versión 2

Consulte también

Constantes de color | Constantes de comparación | Constantes de fecha y hora | Constantes de formato de fecha | Constantes varias | Constantes de cadena | Constantes para Tristate | Constantes para VarType

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Constantes de cadena Dado que estas constantes están integradas en VBScript, no tiene que definirlas antes de utilizarlas. Utilícelas en cualquier parte de su código para representar los valores mostrados para cada una.

Constante Valor DescripciónvbOK 1 Se hizo clic en el botón Aceptar.vbCancel 2 Se hizo clic en el botón Cancelar.vbAbort 3 Se hizo clic en el botón Anular.vbRetry 4 Se hizo clic en el botón Reintentar.vbIgnore 5 Se hizo clic en el botón Ignorar.vbYes 6 Se hizo clic en el botón Sí.VbNo 7 Se hizo clic en el botón No.

Visual Basic Scripting Edition

Constante Valor DescripciónvbCr Chr(13) Retorno de carro.vbCrLf Chr(13) & Chr

(10)Combinación de retorno de carro y avance de línea.

vbFormFeed Chr(12) Avance de página. Sin utilidad en Microsoft Windows.vbLf Chr(10) Avance de línea.vbNewLine Chr(13) & Chr

(10) o Chr(10)Carácter de nueva línea específico de la plataforma. El que sea apropiado para la plataforma.

vbNullChar Chr(0) Carácter que tiene el valor 0.vbNullString Cadena que tiene

el valor 0No es lo mismo que una cadena de longitud cero (""). Se utiliza para llamar a procedimientos externos.

vbTab Chr(9) Tabulación horizontal.

Página 64 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 65: Visual Basic

Requisitos

Versión 2

Consulte también

Constantes de color | Constantes de comparación | Constantes de fecha y hora | Constantes de formato de fecha | Constantes varias | Constantes para MsgBox | Constantes para Tristate | Constantes para VarType

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Constantes para Tristate Dado que estas constantes están integradas en VBScript, no tiene que definirlas antes de utilizarlas. Utilícelas en cualquier parte de su código para representar los valores mostrados para cada una.

Requisitos

Versión 2

Consulte también

Constantes de color | Constantes de comparación | Constantes de fecha y hora | Constantes de formato de fecha | Constantes varias | Constantes para MsgBox | Constantes de cadena | Constantes para VarType

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

vbVerticalTab Chr(11) Tabulación vertical. No es útil en Microsoft Windows.

Visual Basic Scripting Edition

Constante Valor DescripciónvbUseDefault -2 Utiliza el valor predeterminado de la configuración regional del equipo.vbTrue -1 True (verdadero)vbFalse 0 False (falso)

Visual Basic Scripting Edition

Página 65 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 66: Visual Basic

Constantes para VarType Estas constantes están disponibles sólo cuando su proyecto hace referencia explícita a la biblioteca de tipos apropiada que contiene estas definiciones de constantes. En VBScript, debe declarar de manera explícita estas constantes en su código.

Requisitos

Versión 2

Consulte también

Constantes de color | Constantes de comparación | Constantes de fecha y hora | Constantes de formato de fecha | Constantes varias | Constantes para MsgBox | Constantes de cadena | Constantes para Tristate

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Errores

Constante Valor DescripciónvbEmpty 0 No inicializada (valor predeterminado)vbNull 1 No contiene ningún dato válidovbInteger 2 Subtipo IntegervbLong 3 Subtipo LongvbSingle 4 Subtipo SinglevbSingle 5 Subtipo DoublevbCurrency 6 Subtipo CurrencyvbDate 7 Subtipo DatevbString 8 Subtipo StringvbObject 9 ObjetovbError 10 Subtipo ErrorvbBoolean 11 Subtipo BooleanvbVariant 12 Variant (utilizada sólo para matrices de variantes)vbDataObject13 Objeto de acceso a datosvbDecimal 14 Subtipo DecimalvbByte 17 Subtipo BytevbArray 8192 Matriz

Visual Basic Scripting Edition

Página 66 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 67: Visual Basic

En esta sección

Errores en tiempo de ejecución de VBScript

Errores de sintaxis de VBScript

Secciones relacionadas

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Errores en tiempo de ejecución de VBScript Los errores en tiempo de ejecución de VBScript se producen cuando la secuencia de comandos de VBScript intenta realizar una acción que el sistema no puede ejecutar. Ocurren cuando la secuencia de comandos está en ejecución, las expresiones de variable se están evaluando y la memoria se está asignando dinámicamente.

Visual Basic Scripting Edition

Número de error Descripción429 El componente ActiveX no puede crear el objeto 507 Error de excepción 449 Argumento no opcional 17 No se puede realizar la operación solicitada 430 Esta clase no acepta Automatización 506 Clase no definida 11 División por cero 48 Error al cargar biblioteca DLL 5020 Se esperaba ')' en la expresión regular 5019 Se esperaba ']' en la expresión regular 432 No se encontró el nombre del archivo o de la clase durante la operación de

Automatización 92 Bucle For no inicializado 5008 Asignación no válida 51 Error interno 505 Referencia no válida o sin calificar 481 Imagen no válida 5 Argumento o llamada a procedimiento no válida 5021 Intervalo no válido en el juego de caracteres 94 Uso no válido de Null 448 Argumento con nombre no encontrado 447 El objeto no acepta la configuración regional actual

Página 67 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 68: Visual Basic

Consulte también

Errores de sintaxis de VBScript

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Errores de sintaxis de VBScript Los errores de sintaxis de VBScript se producen cuando la estructura de una de las instrucciones de VBScript infringe una o varias reglas gramaticales del lenguaje de secuencia de comandos de VBScript. Se generan durante la etapa de compilación del programa, antes de que éste haya comenzado a ejecutarse.

445 El objeto no acepta esta acción 438 El objeto no acepta esta propiedad o método 451 El objeto no es una colección 504 Objeto no seguro para creación 503 Objeto no seguro para inicialización 502 Objeto no seguro para secuencias de comandos 424 Se requiere un objeto 91 La variable de objeto no está establecida 7 Memoria insuficiente 28 Espacio de pila insuficiente 14 Espacio para cadenas insuficiente 6 Desbordamiento 35 No se ha definido Sub o Function 9 Subíndice fuera del intervalo 5017 Error de sintaxis en expresión regular 462 El servidor remoto no existe o no está disponible 10 Esta matriz es fija o se encuentra temporalmente bloqueada 13 No coinciden los tipos 5018 Cuantificador inesperado 500 Variable no definida 458 La variable utiliza un tipo de Automatización no aceptado en VBScript 450 Número de argumentos erróneo o asignación de propiedad no válida

Visual Basic Scripting Edition

Número de error Descripción1052 No puede haber múltiples propiedades o métodos predeterminados en una clase 1044 No se puede utilizar paréntesis al llamar a Sub

Página 68 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 69: Visual Basic

1053 La inicialización o finalización de la clase no tiene argumentos 1058 La especificación 'Default' sólo puede estar en Property Get 1057 La especificación 'Default' también debe indicar 'Public' 1005 Se esperaba '(' 1006 Se esperaba ')' 1011 Se esperaba '=' 1021 Se esperaba 'Case' 1047 Se esperaba 'Class' 1025 Se esperaba final de instrucción 1014 Se esperaba 'End' 1023 Se esperaba una expresión 1015 Se esperaba 'Function' 1010 Se esperaba un identificador 1012 Se esperaba 'If' 1046 Se esperaba 'In' 1026 Se esperaba una constante entera 1049 Se esperaba Let, Set o Get en la declaración de la propiedad 1045 Se esperaba una constante literal 1019 Se esperaba 'Loop' 1020 Se esperaba 'Next' 1050 Se esperaba 'Property' 1022 Se esperaba 'Select' 1024 Se esperaba una instrucción 1016 Se esperaba 'Sub' 1017 Se esperaba 'Then' 1013 Se esperaba 'To' 1018 Se esperaba 'Wend' 1027 Se esperaba 'While' o 'Until' 1028 Se esperaba 'While', 'Until' o final de instrucción 1029 Se esperaba 'With' 1030 Identificador demasiado largo 1014 Carácter no válido 1039 Instrucción 'Exit' no válida 1040 Variable de control de bucle 'for' no válida 1013 Número no válido 1037 Uso de la palabra clave 'Me' no válido 1038 'loop' sin 'do' 1048 Debe definirse en una clase 1042 Debe ser la primera instrucción de la línea 1041 Nombre redefinido 1051 El número de argumentos debe ser constante en la especificación de las

propiedades 1001 Memoria insuficiente 1054 Set o Let debe tener al menos un argumento para la propiedad 1002 Error de sintaxis 1055 Se esperaba 'Next'

Página 69 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 70: Visual Basic

Consulte también

Errores en tiempo de ejecución de VBScript

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Eventos En esta sección

Evento Initialize

Evento Terminate

Secciones relacionadas

Referencia del lenguaje VBScript

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Evento Initialize Ocurre cuando se crea una instancia de la clase asociada.

Private Sub Class_Initialize() instrucciones End Sub

La parte instrucciones está formada por un número de instrucciones de código (una, varias o ninguna) que se ejecutarán cuando se inicialice la clase.

Observaciones

1015 Constante de cadena sin terminar

Visual Basic Scripting Edition

Visual Basic Scripting Edition

Página 70 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 71: Visual Basic

El siguiente ejemplo ilustra el uso del evento Initialize.

Class TestClass Private Sub Class_Initialize ' Configurar evento Initialize. MsgBox("TestClass iniciado") End Sub Private Sub Class_Terminate ' Establecer evento Terminate. MsgBox("TestClass terminado") End Sub End Class Set X = New TestClass ' Crear una instancia de TestClass. Set X = Nothing ' Destruir la instancia.

Requisitos

Versión 5

Consulte también

Objeto Class | Instrucción Class | Evento Terminate

Se aplica a: Objeto Class

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Evento Terminate Ocurre cuando se termina una instancia de la clase asociada.

Private Sub Class_Terminate() instrucciones End Sub

La parte instrucciones está formada por un número de instrucciones de código (una, varias o ninguna) que se ejecutarán cuando se inicialice la clase.

Observaciones

El siguiente ejemplo ilustra el uso del evento Terminate.

Class TestClass Private Sub Class_Initialize ' Configurar evento Initialize. MsgBox("TestClass iniciado")

Visual Basic Scripting Edition

Página 71 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 72: Visual Basic

End Sub Private Sub Class_Terminate ' Establecer evento Terminate. MsgBox("TestClass terminado") End Sub End Class Set X = New TestClass ' Crear una instancia de TestClass. Set X = Nothing ' Destruir la instancia.

Requisitos

Versión 5

Consulte también

Objeto Class | Instrucción Class | Evento Initialize

Se aplica a: Objeto Class

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Funciones La tabla siguiente contiene las funciones de VBScript.

Visual Basic Scripting Edition

Abs Array Asc AtnCBool CByte CCur CDateCDbl Chr CInt CLngConversions Cos CreateObject CSngDate DateAdd DateDiff DatePartDateSerial DateValue Day Matemáticas

derivadasEval Exp Filter FormatCurrencyFormatDateTime FormatNumber FormatPercent GetLocaleGetObject GetRef Hex HourInputBox InStr InStrRev Int, FixsIsArray IsDate IsEmpty IsNullIsNumeric IsObject Join LBoundLCase Left Len LoadPictureLog LTrim, RTrim y Trims Matemáticas MidMinute Month MonthName MsgBoxNow Oct Replace RGB

Página 72 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 73: Visual Basic

Secciones relacionadas

Referencia del lenguaje VBScript

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función Abs Devuelve el valor absoluto de un número.

Abs(número)

El argumento número puede ser cualquier expresión numérica válida. Si número contiene Null, se devuelve Null; si es una variable sin inicializar, se devuelve cero.

Observaciones

El valor absoluto de un número es su magnitud sin signo. Por ejemplo, Abs(-1) y Abs(1) devuelven 1.

El siguiente ejemplo utiliza la función Abs para calcular el valor absoluto de un número:

Dim MiNumero MiNumero = Abs(50.3) ' Devuelve 50.3. MiNumero = Abs(-50.3) ' Devuelve 50.3.

Requisitos

Versión 1

Consulte también

Función Sgn

Right Rnd Round ScriptEngineScriptEngineBuildVersionScriptEngineMajorVersion ScriptEngineMinorVersion SecondSetLocale Sgn Sin SpaceSplit Sqr StrComp StringTan Time Timer TimeSerialTimeValue TypeName UBound UCaseVarType Weekday WeekdayName Year

Visual Basic Scripting Edition

Página 73 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 74: Visual Basic

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función Array Devuelve un tipo Variant que contiene una matriz.

Array(lista_argumentos)

El argumento lista_argumentos necesario es una lista de valores delimitados por coma que se asignan a los elementos de una matriz contenida en el tipo Variant. Si no se especifican ningún argumento, se crea una matriz de longitud cero.

Observaciones

La notación utilizada para hacer referencia a un elemento de una matriz está formada por el nombre de la variable seguido de un paréntesis que contiene un número de índice que indica el elemento deseado. En el siguiente ejemplo, la primera instrucción crea una variable denominada A. La segunda instrucción asigna una matriz a la variable A. La última instrucción asigna el valor contenido en el segundo elemento de la matriz a otra variable.

Dim A A = Array(10,20,30) B = A(2) ' B es ahora 30.

Nota Una variable que no se declara como una matriz aún puede contener una matriz. Aunque una variable de tipo Variant que contiene una matriz es conceptualmente diferente de una variable de matriz que contiene elementos de tipo Variant, el acceso a los elementos de la matriz se realiza del mismo modo.

Requisitos

Versión 2

Consulte también

Instrucción Dim

© 2001 Microsoft Corporation. Reservados todos los derechos.

Visual Basic Scripting Edition

Página 74 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 75: Visual Basic

Build: Versión de tema 5.6.9309.1546

Función Asc Devuelve el código de carácter ANSI que corresponde a la primera letra de una cadena.

Asc(cadena)

El argumento cadena es cualquier Expresión de cadena válida. Si la cadena no contiene caracteres, se producirá un error en tiempo de ejecución.

Observaciones

En el siguiente ejemplo, Asc devuelve el código de carácter ANSI de la primera letra de cada cadena:

Dim MiNumero MiNumero = Asc("A") ' Devuelve 65. MiNumero = Asc("a") ' Devuelve 97. MiNumero = Asc("Apple") ' Devuelve 65.

Nota La función AscB se utiliza con los datos de tipo byte contenidos en una cadena. En lugar de devolver el código de carácter del primer carácter, AscB devuelve el primer byte. Se proporciona AscW para plataformas de 32 bits que utilizan caracteres Unicode. Esta función devuelve el código de carácter Unicode (ancho), con lo que se evita la conversión de Unicode en ANSI.

Requisitos

Versión 1

Consulte también

Función Chr

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función Atn Devuelve el arcotangente de un número.

Visual Basic Scripting Edition

Visual Basic Scripting Edition

Página 75 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 76: Visual Basic

Atn(número)

El argumento número puede ser cualquier expresión numérica válida.

Observaciones

La función Atn toma la razón de dos lados de un triángulo recto (número) y devuelve el ángulo correspondiente en radianes. La razón es la longitud del lado opuesto al ángulo dividido por la longitud del lado adyacente al ángulo. El intervalo del resultado es de -pi /2 a pi/2 radianes.

Para convertir grados en radianes, multiplique los grados por pi/180. Para convertir radianes en grados, multiplique los radianes por 180/pi.

El siguiente ejemplo utiliza Atn para calcular el valor de pi:

Dim pi pi = 4 * Atn(1) ' Calcula el valor de pi.

Nota Atn es la función trigonométrica inversa de Tan, que toma un ángulo como su argumento y devuelve la razón de dos lados de un triángulo recto. No confunda Atn con la cotangente, que es el inverso simple de una tangente (1/tangent).

Requisitos

Versión 1

Consulte también

Función Cos | Funciones matemáticas derivadas | Función Sin | Función Tan

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función CBool Devuelve una expresión que se ha convertido en tipo Variant de subtipo Boolean.

CBool(expresión)

El argumento expresión es cualquier expresión válida.

Observaciones

Visual Basic Scripting Edition

Página 76 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 77: Visual Basic

Si expresión es cero, se devuelve False; si no, se devuelve True. Si expresión no se puede interpretar como un valor numérico, se produce un error en tiempo de ejecución.

El siguiente ejemplo utiliza la función CBool para convertir una expresión en Boolean. Si la expresión se evalúa como un valor distinto de cero, CBool devuelve True; si no, devuelve False.

Dim A, B, Comprobar A = 5: B = 5 ' Inicializa variables. Comprobar = CBool(A = B) ' Comprueba si contiene True. A = 0 ' Define variable. Comprobar = CBool(A) ' Comprueba si contiene False.

Requisitos

Versión 1

Consulte también

Función CByte | Función CCur | Función CDate | Función CDbl | Función CInt | Función CLng | Función CSng | Función CStr

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función CByte Devuelve una expresión que se ha convertido en tipo Variant de subtipo Byte.

CByte(expresión)

El argumento expresión es cualquier expresión válida.

Observaciones

En general, puede documentar su código mediante las funciones de conversión de subtipo para mostrar que el resultado de alguna operación se debe expresar como un tipo de dato particular en vez de como el tipo de dato predeterminado. Por ejemplo, utilice CByte para forzar un valor aritmético de tipo byte en los casos en que normalmente aparecen valores aritméticos de moneda, precisión simple, precisión doble o entero.

Utilice la función CByte para proporcionar conversiones de tipo internacional de cualquier otro tipo de datos a un subtipo Byte. Por ejemplo, los distintos separadores decimales se reconocen apropiadamente según la configuración regional de su sistema, de la misma manera que los separadores de miles.

Visual Basic Scripting Edition

Página 77 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 78: Visual Basic

Si expresión queda fuera del intervalo apropiado para el subtipo Byte, se produce un error. El siguiente ejemplo utiliza la función CByte para convertir una expresión en un byte:

Dim MiDouble, MiByte MiDouble = 125.5678 ' MiDouble es de tipo Double. MiByte = CByte(MiDouble) ' MiByte contiene 126.

Requisitos

Versión 1

Consulte también

Función CBool | Función CCur | Función CDate | Función CDbl | Función CInt | Función CLng | Función CSng | Función CStr

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función CCur Devuelve una expresión que se ha convertido en tipo Variant de subtipo Currency.

CCur(expresión)

El argumento expresión es cualquier expresión válida.

Observaciones

En general, puede documentar su código mediante las funciones de conversión de subtipo para mostrar que el resultado de alguna operación se debe expresar como un tipo de dato particular en vez de como el tipo de dato predeterminado. Por ejemplo, utilice CCur para forzar un valor aritmético de tipo currency en los casos en que normalmente aparecen valores aritméticos de tipo entero.

Debería utilizar la función CCur para proporcionar conversiones de tipo internacional de cualquier otro tipo de datos a un subtipo Currency Por ejemplo, los distintos separadores decimales se reconocen apropiadamente según la configuración regional de su sistema.

El siguiente ejemplo utiliza la función CCur para convertir una expresión en tipo Currency:

Dim MiDouble, MiCurr MiDouble = 543.214588 ' MiDouble es de tipo Double. MiCurr = CCur(MiDouble * 2) ' Convierte el resultado de multiplicar MiDouble por 2

Visual Basic Scripting Edition

Página 78 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 79: Visual Basic

Requisitos

Versión 1

Consulte también

Función CBool | Función CByte | Función CDate | Función CDbl | Función CInt | Función CLng | Función CSng | Función CStr

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función CDate Devuelve una expresión que se ha convertido en tipo Variant de subtipo Date.

CDate(fecha)

El argumento fecha es cualquier expresión de fecha válida.

Observaciones

Utilice la función IsDate para determinar si la fecha se puede convertir en una fecha o una hora. CDate reconoce literales de fecha y literales de hora así como algunos números que están dentro del intervalo de fechas aceptables. Cuando se convierte un número en una fecha, toda la parte del número se convierte en una fecha. Cualquier parte fraccional del número se convierte en una hora del día, a partir de medianoche.

CDate reconoce formatos de fecha según la configuración regional de su sistema. Puede que no se determine el orden correcto del día, mes y año si se proporciona en un formato diferente del de una de las configuraciones de fecha reconocidas. Además, no se reconocerá un formato de fecha largo si también contiene la cadena del día de la semana.

El siguiente ejemplo utiliza la función CDate para convertir una cadena en una fecha. En general, no se recomiendan el uso de fechas y horas como cadenas (como se muestra en este ejemplo). Utilice los literales de fecha y hora (como #10/19/1962#, #4:45:23 PM#) en su lugar.

MiFecha = "19 de Octubre de 1962" ' Define una fecha. MiFechaCorta = CDate(MiFecha ) ' Convierte en tipo de datos Date. MiHora = "4:35:47 PM" ' Define una hora. MiHoraCorta = CDate(MiHora) ' Convierte en tipo de datos Date.

Requisitos

Visual Basic Scripting Edition

Página 79 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 80: Visual Basic

Versión 1

Consulte también

Función IsDate

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función CDbl Devuelve una expresión que se ha convertido en tipo Variant de subtipo Double.

CDbl(expresión)

El argumento expresión es cualquier expresión válida.

Observaciones

En general, puede documentar su código mediante las funciones de conversión de subtipo para mostrar que el resultado de alguna operación se debe expresar como un tipo de dato particular en vez de como el tipo de dato predeterminado. Por ejemplo, utilice CDbl o CSng para forzar un valor aritmético de tipo precisión doble o precisión simple en los casos en que normalmente aparecen valores aritméticos de moneda o entero.

Utilice la función CDbl para proporcionar conversiones de tipo internacional de cualquier otro tipo de datos a un subtipo Double. Por ejemplo, los distintos separadores decimales y de miles se reconocen apropiadamente según la configuración regional de su sistema.

Este ejemplo utiliza la función CDbl para convertir una expresión en un tipo Double.

Dim MiCurr, MiDouble MiCurr = CCur(234.456784) ' MiCurr es de tipo Currency (234.4567). MiDouble = CDbl(MiCurr * 8.2 * 0.01) ' Convierte el resultado en tipo Double (19.

Requisitos

Versión 1

Consulte también

Función CBool | Función CByte | Función CCur | Función CDate | Función CInt | Función CLng | Función CSng | Función CStr

Visual Basic Scripting Edition

Página 80 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 81: Visual Basic

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función Chr Devuelve el carácter asociado con el código de carácter ANSI especificado.

Chr(códigocar)

El argumento códigocar es un número que identifica a un carácter.

Observaciones

Los números del 0 al 31 son los mismos que los códigos ASCII estándar no imprimibles. Por ejemplo, Chr(10) devuelve un carácter de avance de línea.

El siguiente ejemplo utiliza la función Chr para devolver el carácter asociado con el código de carácter especificado:

Dim MiChar MiChar = Chr(65) ' Devuelve A. MiChar = Chr(97) ' Devuelve a. MiChar = Chr(62) ' Devuelve >. MiChar = Chr(37) ' Devuelve %.

Nota La función ChrB se utiliza con los datos tipo byte contenidos en una cadena. En lugar de devolver un carácter, que puede ser uno o dos bytes, ChrB devuelve siempre un solo byte. Se proporciona ChrW para plataformas de 32 bits que utilizan caracteres Unicode. Su argumento es un código de carácter Unicode (ancho), con lo que se evita la conversión de ANSI en Unicode.

Requisitos

Versión 1

Consulte también

Función Asc

© 2001 Microsoft Corporation. Reservados todos los derechos.

Visual Basic Scripting Edition

Página 81 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 82: Visual Basic

Build: Versión de tema 5.6.9309.1546

Función CInt Devuelve una expresión que se ha convertido en tipo Variant de subtipo Integer.

CInt(expresión)

El argumento expresión es cualquier expresión válida.

Observaciones

En general, puede documentar su código mediante las funciones de conversión de subtipo para mostrar que el resultado de alguna operación se debe expresar como un tipo de dato particular en vez de como el tipo de dato predeterminado. Por ejemplo, utilice Clnt o CLng para forzar un valor aritmético de tipo entero en los casos en que normalmente aparecen valores aritméticos de moneda, precisión simple o precisión doble.

Utilice la función CInt para proporcionar conversiones de tipo internacional de cualquier otro tipo de datos a un subtipo Integer. Por ejemplo, los distintos separadores decimales se reconocen apropiadamente según la configuración regional de su sistema, de la misma manera que los separadores de miles.

Si expresión queda fuera del intervalo apropiado para el subtipo Integer, se produce un error.

El siguiente ejemplo utiliza la función CInt para convertir un valor en un tipo Integer:

Dim MiDouble, MiInt MiDouble = 2345.5678 ' MiDouble es de tipo Double. MiInt = CInt(MiDouble) ' MiInt contiene 2346.

Nota CInt difiere de las funciones Fix e Int, que truncan, más que redondean, la parte fraccional de un número. Cuando la parte fraccional es exactamente 0,5 la función CInt la redondea siempre al número par más cercano. Por ejemplo, 0,5 se redondea a 0 y 1,5 se redondea a 2.

Requisitos

Versión 1

Consulte también

Función CBool | Función CByte | Función CCur | Función CDate | Función CDbl | Función CLng | Función CSng | Función CStr | Funciones Int y Fix

Visual Basic Scripting Edition

Página 82 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 83: Visual Basic

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función CLng Devuelve una expresión que se ha convertido en tipo Variant de subtipo Long.

CLng(expresión)

El argumento expresión es cualquier expresión válida.

Observaciones

En general, puede documentar su código mediante las funciones de conversión de subtipo para mostrar que el resultado de alguna operación se debe expresar como un tipo de dato particular en vez de como el tipo de dato predeterminado. Por ejemplo, utilice Clnt o CLng para forzar un valor aritmético de tipo entero en los casos en que normalmente aparecen valores aritméticos de moneda, precisión simple o precisión doble.

Utilice la función CLng para proporcionar conversiones de tipo internacional de cualquier otro tipo de datos a un subtipo Long. Por ejemplo, los distintos separadores decimales se reconocen apropiadamente según la configuración regional de su sistema, de la misma manera que los separadores de miles.

Si expresión queda fuera del intervalo aceptable para el subtipo Long, se produce un error.

El siguiente ejemplo utiliza la función CLng para convertir un valor en tipo Long:

Dim MiVal1, MiVal2, MiLong1, MiLong2 MiVal1 = 25427.45: MiVal2 = 25427.55 ' MiVal1 y MiVal2 son de tipo Double. MiLong1 = CLng(MiVal1) ' MiLong1 contiene 25427. MiLong2 = CLng(MiVal2) ' MiLong2 contiene 25428.

Nota CLng difiere de las funciones Fix e Int, que truncan, más que redondean, la parte fraccional de un número. Cuando la parte fraccional es exactamente 0,5 la función CLng la redondea siempre al número par más cercano. Por ejemplo, 0,5 se redondea a 0 y 1,5 se redondea a 2.

Requisitos

Versión 1

Consulte también

Función CBool | Función CByte | Función CCur | Función CDate | Función CDbl | Función CInt | Función CSng | Función CStr | Funciones Int y Fix

Visual Basic Scripting Edition

Página 83 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 84: Visual Basic

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Funciones de conversión Función Asc

Función CBool

Función CByte

Función CCur

Función CDate

Función CDbl

Función Chr

Función CInt

Función CLng

Función CSng

Función CStr

Función Hex

Función Oct

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función Cos

Visual Basic Scripting Edition

Visual Basic Scripting Edition

Página 84 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 85: Visual Basic

Devuelve el coseno de un ángulo.

Cos(número)

El argumento número puede ser cualquier expresión numérica válida que exprese un ángulo en radianes.

Observaciones

La función Cos toma un ángulo y devuelve la razón de dos lados de un triángulo recto. La razón es la longitud del lado adyacente al ángulo dividido por la longitud de la hipotenusa. El resultado está en el intervalo de -1 a 1.

Para convertir grados en radianes, multiplique los grados por pi /180. Para convertir radianes en grados, multiplique los radianes por 180/pi.

El siguiente ejemplo utiliza la función Cos para devolver el coseno de un ángulo:

Dim MiAngulo, MiSecante MiAngulo = 1.3 ' Define el ángulo en radianes. MiSecante = 1 / Cos(MiAngulo) ' Calcula la secante.

Requisitos

Versión 1

Consulte también

Función Atn | Funciones matemáticas derivadas | Función Sin | Función Tan

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función CreateObject Crea y devuelve una referencia a un objeto de automatización.

CreateObject(servidor.tipo [, ubicación])

Argumentos

servidor Necesario. Nombre de la aplicación que proporciona el objeto.

tipo

Visual Basic Scripting Edition

Página 85 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 86: Visual Basic

Necesario. Tipo o clase del objeto que se va a crear. ubicación

Opcional. Nombre del servidor de red donde se va a crear el objeto.

Observaciones

Los servidores de automatización proporcionan al menos un tipo de objeto. Por ejemplo, una aplicación de procesamiento de texto puede proporcionar un objeto de aplicación, un objeto de documento y un objeto de barra de herramientas.

Para crear un objeto de automatización, asigne el objeto devuelto por CreateObject a una variable de objeto:

Dim HojaExcel Set HojaExcel = CreateObject("Hoja.Excel")

Este código inicia la aplicación que crea el objeto (en este caso, una hoja de cálculo de Microsoft Excel). Una vez que se ha creado el objeto, haga referencia a él en código utilizando la variable de objeto que haya definido. Tal y como se muestra en el siguiente ejemplo, puede acceder a las propiedades y métodos del nuevo objeto utilizando la variable de objeto, HojaExcel y otros objetos Excel, incluyendo el objeto de la aplicación y ActiveSheet.Colección de celdas:

' Hacer Excel visible en el objeto de la aplicación. ExcelSheet.Application.Visible = True ' Ubicar algún texto en la primera celda de la hoja. ExcelSheet.ActiveSheet.Cells(1,1).Value = "Esta es la columna A, fila 1" ' Guardar la hoja. ExcelSheet.SaveAs "C:\DOCS\TEST.XLS" ' Cerrar Excel con el método Abandonar en el objeto de la aplicación. ExcelSheet.Application.Quit ' Liberar la variable de objeto. Set ExcelSheet = Nothing

Crear un objeto en un servidor remoto sólo se puede conseguir cuando se desactiva la seguridad de Internet. Puede crear un objeto en un equipo de red remoto pasando el nombre del equipo al argumento servidor de CreateObject. Dicho nombre es el mismo que el de la parte del nombre del equipo de un nombre de recurso compartido. Para un recurso de red compartido denominado "\\miservidor\public", el servidor es "miservidor". Además, puede especificar servidor utilizando el formato DNS o una dirección IP.

La siguiente porción de código devuelve el número de versión de una instancia de Excel ejecutándose en un equipo de red remoto denominado "miservidor":

Function GetVersion Dim XLApp Set XLApp = CreateObject("Excel.Application", "MiServidor") GetVersion = XLApp.Version End Function

Se produce un error si el servidor remoto especificado no existe o no se puede encontrar.

Requisitos

Página 86 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 87: Visual Basic

Versión 2

Consulte también

Función GetObject

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función CSng Devuelve una expresión que se ha convertido en tipo Variant de subtipo Single.

CSng(expresión)

El argumento expresión es cualquier expresión válida.

Observaciones

En general, puede documentar su código mediante las funciones de conversión de tipos de datos para mostrar que el resultado de alguna operación se debe expresar como un tipo de dato particular en vez de como el tipo de dato predeterminado. Por ejemplo, utilice CDbl o CSng para forzar un valor aritmético de tipo precisión doble o precisión simple en los casos en que normalmente aparecen valores aritméticos de moneda o entero.

Utilice la función CSng para proporcionar conversiones de tipo internacional de cualquier otro tipo de datos a un subtipo Single. Por ejemplo, los distintos separadores decimales se reconocen apropiadamente según la configuración regional de su sistema, de la misma manera que los separadores de miles.

Si expresión queda fuera del intervalo aceptable para el subtipo Single, se produce un error.

El siguiente ejemplo utiliza la función CSng para convertir un valor en tipo Single:

Dim MiDouble1, MiDouble2, MiSingle1, MiSingle2 ' MiDouble1 y MiDouble2 son de tipoMiDouble1 = 75.3421115: MiDouble2 = 75.3421555 MiSingle1 = CSng(MiDouble1) ' MiSingle1 contiene 75.34211. MiSingle2 = CSng(MiDouble2) ' MiSingle2 contiene 75.34216.

Requisitos

Versión 1

Visual Basic Scripting Edition

Página 87 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 88: Visual Basic

Consulte también

Función CBool | Función CByte | Función CCur | Función CDate | Función CDbl | Función CInt | Función CLng | Función CStr

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función CStr Devuelve una expresión que se ha convertido en tipo Variant de subtipo String.

CStr(expresión)

El argumento expresión es cualquier expresión válida.

Observaciones

En general, puede documentar su código mediante las funciones de conversión de subtipo para mostrar que el resultado de alguna operación se debe expresar como un tipo de dato particular en vez de como el tipo de dato predeterminado. Por ejemplo, utilice CStr para forzar el resultado que se va a expresar como String.

Debe utilizar la función CStr en lugar de Str para proporcionar conversiones de tipo internacional de cualquier otro tipo de datos a un subtipo String. Por ejemplo, los distintos separadores decimales se reconocen apropiadamente según la configuración regional de su sistema.

Los datos de expresión determinan lo que se devuelve según la siguiente tabla:

El siguiente ejemplo utiliza la función CStr para convertir un valor numérico en un tipo String:

Dim MiDouble, MiCadena MiDouble = 437.324 ' MiDouble es de tipo Double. MiCadena = CStr(MiDouble) ' MiCadena contiene "437.324".

Visual Basic Scripting Edition

Si expresión es CStr devuelveBoolean Una cadena que contiene True o False. Date Una cadena que contiene una fecha en el formato de fecha corto de su sistema.Null Un error en tiempo de ejecución.Empty Una cadena de longitud cero ("").Error Una cadena que contiene la palabra Error seguida del número de error.Otro numérico Una cadena que contiene el número.

Página 88 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 89: Visual Basic

Requisitos

Versión 1

Consulte también

Función CBool | Función CByte | Función CCur | Función CDate | Función CDbl | Función CInt | Función CLng | Función CSng

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función Date Devuelve la fecha actual del sistema.

Date

Observaciones

El siguiente ejemplo utiliza la función Date para devolver la fecha actual del sistema:

Dim MiFecha MiFecha = Date ' MiFecha contiene la fecha actual del sistema.

Requisitos

Versión 1

Consulte también

Función CDate | Función Now | Función Time

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Visual Basic Scripting Edition

Visual Basic Scripting Edition

Página 89 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 90: Visual Basic

Función DateAdd Devuelve una fecha a la que se le ha agregado un intervalo de tiempo especificado.

DateAdd(intervalo, número, fecha)

Argumentos

intervalo Necesario. Expresión de cadena que es el intervalo que desea agregar. Consulte la sección Valores para ver los valores.

número Necesario. Expresión numérica que es el número de intervalo que desea agregar. La expresión numérica puede ser positiva, para fechas futuras, o negativa, para fechas pasadas.

fecha Necesario. Tipo Variant o literal que representa la fecha a la que se agrega el intervalo.

Valores

El argumento intervalo puede tener los siguientes valores:

Observaciones

Puede utilizar la función DateAdd para sumar un intervalo de tiempo especificado a una fecha o restárselo. Por ejemplo, puede utilizar DateAdd para calcular una fecha de 30 días a partir de hoy o una hora de 45 minutos desde ahora. Para agregar días a fecha, puede utilizar el Día del Año ("y"), Día ("d") o Día de la semana ("w").

La función DateAdd no devolverá una fecha que no sea válida. El siguiente ejemplo suma un mes al 31 de enero:

NewDate = DateAdd("m", 1, "31-ene-95")

En este caso, DateAdd devuelve 28-feb-95, no 31-feb-95. Si fecha es 31-ene-96, devuelve 29-feb-96 porque 1996 es un año bisiesto.

Valor Descripciónyyyy Añoq Trimestrem Mesy Día del añod Díaw Día de la semanaww Semana del añoh Horan Minutos Segundo

Página 90 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 91: Visual Basic

Si la fecha calculada fuera anterior al año 100, se produciría un error.

Si el número no es un valor Long, se redondea al número entero más cercano antes de evaluarse.

Requisitos

Versión 2

Consulte también

Función DateDiff | Función DatePart

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función DateDiff Devuelve el número de intervalos entre dos fechas.

DateDiff(intervalo, fecha1, fecha2 [,primerdíadelasemana[, primerasemanadelaño]])

La sintaxis de la función DateDiff se compone de:

Argumentos

intervalo Necesario. Expresión de cadena que es el intervalo que desea utilizar para calcular las diferencias entre fecha1 y fecha2. Consulte la sección Valores para ver los valores.

fecha1, fecha2 Necesario. Expresiones de fecha. Dos fechas que desee utilizar en el cálculo.

primerdíadelasemana Opcional. Constante que especifica el día de la semana. Si no se especifica, se asume el domingo. Consulte la sección Valores para ver los valores.

primerasemanadelaño Opcional. Constante que especifica la primera semana del año. Si no se especifica, la primera semana se asume que es la semana del 1 de enero. Consulte la sección Valores para ver los valores.

Valores

El argumento intervalo puede tener los siguientes valores:

Visual Basic Scripting Edition

Valor Descripción

Página 91 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 92: Visual Basic

El argumento primerdíadelasemana puede tener los siguientes valores:

El argumento primerasemanadelaño puede tener los siguientes valores:

Observaciones

Puede utilizar la función DateDiff para determinar cuántos intervalos de tiempo especificados existen entre dos fechas. por ejemplo, podría utilizar DateDiff para calcular el número de días entre dos fechas o el número de semanas entre hoy y el final del año.

Para calcular el número de días entre fecha1 y fecha2, puede utilizar Día del año ("y") o Día ("d"). Cuando el intervalo es Día de la semana ("w"), DateDiff devuelve el número de semanas entre las dos fechas. Si fecha1 es un lunes, DateDiff cuenta el número de lunes hasta fecha2. Cuenta fecha2 pero no fecha1. Si intervalo es Semana ("ww"), sin embargo, la función DateDiff devuelve el número de semanas del calendario entre dos fechas. Cuenta el número de domingos entre fecha1 y fecha2. DateDiffcuenta fecha2 si es un domingo; pero no cuenta fecha1, aunque sea un domingo.

Si fecha1 hace referencia a un punto en el tiempo posterior a fecha2, la función DateDiff devuelve un número negativo.

yyyy Añoq Trimestrem Mesy Día del añod Díaw Día de la semanaww Semana del añoh Horan Minutos Segundo

Constante Valor DescripciónvbUseSystem 0 Usa valores de API de idioma nacional (NLS).vbSunday 1 domingo (valor predeterminado)vbMonday 2 lunesvbTuesday 3 martesvbWednesday4 miércolesvbThursday 5 juevesvbFriday 6 viernesvbSaturday 7 sábado

Constante Valor DescripciónvbUseSystem 0 Usa valores de API de idioma nacional (NLS).vbFirstJan1 1 Comienza con la semana del 1 de enero (valor predeterminado).vbFirstFourDays 2 Comienza con la semana que tiene al menos cuatro días en el nuevo

año.vbFirstFullWeek 3 Comienza con la primera semana completa del nuevo año.

Página 92 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 93: Visual Basic

El argumento primerdíadelasemana afecta a los cálculos que utilizan los símbolos de intervalo "w" y "ww".

Si fecha1 o fecha2 es un literal de fecha, el año especificado se convierte en parte permanente de dicha fecha. Sin embargo, si fecha1 o fecha2 está entre comillas (" ") y se omite el año, el año actual se inserta en el código cada vez que se evalúa la expresión fecha1 o fecha2. Esto hace que sea posible escribir el código que se puede utilizar en años diferentes.

Cuando se compara el 31 de diciembre con el 1 de enero del año inmediatamente siguiente, DateDiff para Año ("yyyy") devuelve 1 incluso aunque sólo haya pasado un día.

El siguiente ejemplo utiliza la función DateDiff para mostrar el número de días entre una fecha dada y el día de hoy:

Function DiffADate(theDate) DiffADate = "Días a partir de hoy: " & DateDiff("d", Ahora, theDate) End Function

Requisitos

Versión 2

Consulte también

Función DateAdd | Función DatePart

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función DatePart Devuelve la parte especificada de una fecha dada.

DatePart(intervalo, fecha[, primerdíadelasemana[, primerasemanadelaño]])

Argumentos

intervalo Necesario. Expresión de cadena que es el intervalo de tiempo que desea devolver. Consulte la sección Valores para ver los valores.

fecha Necesario. Expresión de fecha que desea evaluar.

primerdíadelasemana

Visual Basic Scripting Edition

Página 93 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 94: Visual Basic

Opcional. Constante que especifica el día de la semana. Si no se especifica, se asume el domingo. Consulte la sección Valores para ver los valores.

primerasemanadelaño Opcional. Constante que especifica la primera semana del año. Si no se especifica, se asume que la primera semana es la del 1 de enero. Consulte la sección Valores para ver los valores.

Valores

El argumento intervalo puede tener los siguientes valores:

El argumento primerdíadelasemana puede tener los siguientes valores:

El argumento primerasemanadelaño puede tener los siguientes valores:

Observaciones

Puede utilizar la función DatePart para evaluar una fecha y devolver un intervalo de tiempo específico. Por ejemplo, podría utilizar DatePart para calcular el día de la semana o la hora actual.

Valor Descripciónyyyy Añoq Trimestrem Mesy Día del añod Díaw Día de la semanaww Semana del añoh Horan Minutos Segundo

Constante Valor DescripciónvbUseSystemDayOfWeek0 Usa valores de API de idioma nacional (NLS).vbSunday 1 domingo (predeterminado)vbMonday 2 lunesvbTuesday 3 martesvbWednesday 4 miércolesvbThursday 5 juevesvbFriday 6 viernesvbSaturday 7 sábado

Constante Valor DescripciónvbUseSystem 0 Usa valores de API de idioma nacional (NLS).vbFirstJan1 1 Comienza con la semana del 1 de enero (valor predeterminado).vbFirstFourDays 2 Comienza con la semana que tiene al menos cuatro días en el nuevo

año.vbFirstFullWeek 3 Comienza con la primera semana completa del nuevo año.

Página 94 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 95: Visual Basic

El argumento primerdíadelasemana afecta a los cálculos que utilizan los símbolos de intervalo "w" y "ww".

Si fecha es un literal de fecha, el año especificado se convierte en una parte permanente de dicha fecha. Sin embargo, si fecha está entre comillas (" ") y omite el año, se inserta el año actual en su código cada vez que se evalúe la expresión fecha. Esto hace que sea posible escribir código que se pueda utilizar en años diferentes.

Este ejemplo toma una fecha y, utilizando la función DatePart, muestra el trimestre del año al que pertenece.

Function GetQuarter(TheDate) GetQuarter = DatePart("q", TheDate) End Function

Requisitos

Versión 2

Consulte también

Función DateAdd | Función DateDiff

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función DateSerial Devuelve un tipo Variant de subtipo Date para un año, mes y día especificados.

DateSerial(año, mes, día)

Argumentos

año Número entre 100 y 9999, inclusive, o una expresión numérica.

mes Cualquier expresión numérica.

día Cualquier expresión numérica.

Observaciones

Visual Basic Scripting Edition

Página 95 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 96: Visual Basic

Para especificar una fecha, tal como 31 de diciembre de 1991, el intervalo numérico para cada argumento DateSerial debe estar dentro del intervalo aceptable para la unidad; es decir, 1–31 para días y 1–12 para meses. Sin embargo, también puede especificar fechas relativas para cada argumento mediante cualquier expresión numérica que represente algún número de días, meses o años antes o después de una fecha concreta.

El siguiente ejemplo utiliza expresiones numéricas en lugar de números de fecha absolutos. Aquí la función DateSerial devuelve una fecha que es el día antes del primer día (1 – 1) de dos meses antes de agosto (8 – 2) de 10 años antes de 1990 (1990 – 10); en otras palabras, 31 de mayo de 1980.

Dim MiFecha 1, MiFecha 2 MiFecha 1 = DateSerial(1970, 1, 1) ' Devuelve 1 de enero de 1970. MiFecha 2 = DateSerial(1990 - 10, 8 - 2, 1 - 1) ' Devuelve 31 de mayo de 1980.

Para el argumento año, los valores entre 0 y 99, inclusive, se interpretan como los años 1900–1999. Para todos los otros argumentos año, utilice un año de cuatro dígitos completo (por ejemplo, 1800).

Cuando cualquier argumento sobrepase el intervalo aceptado para dicho argumento, se aumenta a la siguiente unidad mayor que resulte apropiada. Por ejemplo, si especifica 35 días, se evalúa como un mes y algunos días, según el mes del año al que se aplique. Sin embargo, si cualquier argumento simple está fuera del intervalo entre -32.768 y 32.767, o si la fecha especificada por los tres argumentos, directamente o por expresión, queda fuera del intervalo de fechas aceptable, se produce un error.

Requisitos

Versión 1

Consulte también

Función Date | Función DateValue | Función Day | Función Month | Función Now | Función TimeSerial | Función TimeValue | Función Weekday | Función Year

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función DateValue Devuelve un tipo Variant de subtipo Date.

DateValue(fecha)

El argumento fecha es normalmente una Expresión de cadena que representa una fecha comprendida entre el 1 de enero del año 100 hasta el 31 de diciembre del año 9999. Sin embargo, fecha también

Visual Basic Scripting Edition

Página 96 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 97: Visual Basic

puede ser cualquier expresión que pueda representar una fecha, una hora o ambas, dentro de dicho intervalo.

Observaciones

Si el argumento fecha incluye información de hora, DateValue no lo devuelve. Sin embargo, si fecha incluye información de hora que no sea válida (tal como "89:98"), se produce un error.

Si fecha es una cadena que incluye sólo números separados por separadores de fecha válidos, DateValue reconoce el orden para el mes, día y año según el formato de fecha corto que haya especificado para su sistema. DateValue también reconoce fechas no ambiguas que contienen nombres de meses, en la forma larga o abreviada. Por ejemplo, además de reconocer 12/30/1991 y 12/30/91, DateValue también reconoce 30 de diciembre de 1991 y 30 dic. 1991.

Si se omite la parte del año fecha, DateValue utiliza el año actual desde la fecha del sistema de su equipo.

El siguiente ejemplo utiliza la función DateValue para convertir una cadena en una fecha. También puede utilizar literales de fecha para asignar directamente una fecha a una variable de tipo Variant, por ejemplo, MiFecha = #9/11/63#.

Dim MiFecha MiFecha = DateValue("11 de septiembre de 1963") ' Devuelve una fecha.

Requisitos

Versión 1

Consulte también

Función CDate | Función DateSerial | Función Day | Función Month | Función Now | Función TimeSerial | Función TimeValue | Función Weekday | Función Year

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función Day Devuelve un número entero entre 1 y 31, inclusive, que representa el día del mes.

Day(fecha)

El argumento fecha es cualquier expresión que pueda representar una fecha. Si fecha contiene Null, se

Visual Basic Scripting Edition

Página 97 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 98: Visual Basic

devuelve Null.

El siguiente ejemplo utiliza la función Day para obtener el día del mes de una fecha especificada:

Dim MiDia MiDia = Day("19 de octubre de 1962") ' MiDia contiene 19.

Requisitos

Versión 1

Consulte también

Función Date | Función Hour | Función Minute | Función Month | Función Now | Función Second | Función Weekday | Función Year

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Funciones matemáticas derivadas Las siguientes funciones matemáticas no intrínsecas se pueden derivar de funciones matemáticas intrínsecas:

Visual Basic Scripting Edition

Función Equivalentes derivadosSecante Sec(X) = 1 / Cos(X)Cosecante Cosec(X) = 1 / Sin(X)Cotangente Cotan(X) = 1 / Tan(X)Seno inverso Arcsin(X) = Atn(X / Sqr(-X * X + 1))Coseno inverso Arccos(X) = Atn(-X / Sqr(-X * X + 1)) + 2 * Atn(1)Secante inversa Arcsec(X) = Atn(X / Sqr(X * X - 1)) + Sgn((X) -1) * (2 * Atn(1))Cosecante inversa Arccosec(X) = Atn(X / Sqr(X * X - 1)) + (Sgn(X) - 1) * (2 * Atn(1))Cotangente inversa Arccotan(X) = Atn(X) + 2 * Atn(1)Seno hiperbólico HSin(X) = (Exp(X) - Exp(-X)) / 2Coseno hiperbólico HCos(X) = (Exp(X) + Exp(-X)) / 2Tangente hiperbólica HTan(X) = (Exp(X) - Exp(-X)) / (Exp(X) + Exp(-X))Secante hiperbólica HSec(X) = 2 / (Exp(X) + Exp(-X))Cosecante hiperbólica HCosec(X) = 2 / (Exp(X) - Exp(-X))Cotangente hiperbólica HCotan(X) = (Exp(X) + Exp(-X)) / (Exp(X) - Exp(-X))Seno hiperbólico inverso HArcsin(X) = Log(X + Sqr(X * X + 1))Coseno hiperbólico inverso HArccos(X) = Log(X + Sqr(X * X - 1))

Página 98 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 99: Visual Basic

Consulte también

Función Atn | Función Cos | Función Exp | Función Log | Función Sin | Función Sqr | Función Tan

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función Eval Evalúa una expresión y devuelve el resultado.

[resultado = ]Eval(expresión)

Argumentos

resultado Opcional. Variable a la que se realiza una asignación de valor de retorno. Si no se especifica el resultado, utilice en su lugar la instrucción Execute.

expresión Necesario. Cadena que contiene cualquier expresión legal de VBScript.

Observaciones

En VBScript, x = y se pueden interpretar de dos formas. La primera es como una instrucción de asignación, donde el valor de y se asigna a x. La segunda es como una expresión que comprueba si x y y tienen el mismo valor. Si es así, resultado es True; si no, resultado es False. El método Eval siempre utiliza la segunda interpretación, mientras que la instrucción Execute utiliza siempre la primera.

Nota En Microsoft® JScript™, no existen confusión entre asignación y comparación, porque el operador de asignación (=) es diferente del operador de comparación (==).

El siguiente ejemplo ilustra el uso de la función Eval:

Sub GuessANumber Dim Guess, RndNum RndNum = Int((100) * Rnd(1) + 1) Guess = CInt(InputBox("Escriba un número:",,0))

Tangente hiperbólica inversa HArctan(X) = Log((1 + X) / (1 - X)) / 2Secante hiperbólica inversa HArcsec(X) = Log((Sqr(-X * X + 1) + 1) / X)Cosecante hiperbólica inversa HArccosec(X) = Log((Sgn(X) * Sqr(X * X + 1) +1) / X)Cotangente hiperbólica inversa HArccotan(X) = Log((X + 1) / (X - 1)) / 2Logaritmo de base N LogN(X) = Log(X) / Log(N)

Visual Basic Scripting Edition

Página 99 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 100: Visual Basic

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

Requisitos

Versión 5

Consulte también

Instrucción Execute

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función Exp Devuelve e (la base de logaritmos naturales) elevada a una potencia.

Exp(número)

El argumento número puede ser cualquier expresión numérica válida.

Observaciones

Si el valor de número sobrepasa 709,782712893, se produce un error. La constante e tiene un valor aproximado de 2,718282.

Nota La función Exp complementa la acción de la función Log y a veces se la denomina el antilogaritmo.

El siguiente ejemplo utiliza la función Exp para devolver e elevado a una potencia:

Dim MiAngulo, MiHSin ' Define el ángulo en radianes. MiAngulo = 1.3 ' Calcula el seno hiperbólico. MiHSin = (Exp(MiAngulo) - Exp(-1 * MiAngulo)) / 2

Requisitos

Visual Basic Scripting Edition

Página 100 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 101: Visual Basic

Versión 1

Consulte también

Funciones matemáticas derivadas | Función Log

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función Filter Devuelve una matriz de base cero que contiene un subconjunto de una matriz de cadena basada en un criterio de filtro especificado.

Filter(Cadenasdeentrada, Valor[, Incluir[, Comparar]])

Argumentos

Cadenasdeentrada Necesario. Matriz unidimensional de cadenas que se van a buscar.

Valor Necesario. Cadena que se va a buscar.

Incluir Opcional. Valor Booleano que indica si se devuelven subcadenas que incluyan o excluyan Valor. Si Incluir es True, Filter devuelve el subconjunto de matrices que contiene Valor como una subcadena. Si Incluir es False, Filter devuelve el subconjunto de la matriz que no contenga Valor como una subcadena.

Comparar Opcional. Valor numérico que indica el tipo de comparación de cadena que se va a utilizar. Consulte la sección Valores para ver los valores.

Valores

El argumento Comparar puede tener los siguientes valores:

Observaciones

Si no se encuentran coincidencias de Valor dentro de Cadenasdeentrada, Filter devuelve una matriz vacía. Se produce un error si Cadenasdeentrada es Null o no es una matriz unidimensional.

Visual Basic Scripting Edition

Constante Valor DescripciónvbBinaryCompare0 Realiza una comparación binaria.vbTextCompare 1 Realiza una comparación textual.

Página 101 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 102: Visual Basic

La matriz devuelta por la función Filter contiene sólo elementos suficientes para contener el número de elementos coincidentes.

El siguiente ejemplo utiliza la función Filter para devolver la matriz que contiene el criterio de búsqueda "Lu":

Dim MiIndice Dim MiMatriz (3) MiMatriz(0) = "domingo" MiMatriz(1) = "lunes" MiMatriz(2) = "martes" MiIndice = Filter(MiMatriz, "Mon") ' MiIndice(0) contiene "lunes".

Requisitos

Versión 2

Consulte también

Función Replace

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función FormatCurrency Devuelve una expresión con formato de moneda con el símbolo de moneda definido en el panel de control del sistema.

FormatCurrency(Expresión[,NúmDígitosDespuésDeDecimal [,IncluirPrimerDígito [,UsarPar

Argumentos

Expresión Necesario. Expresión a la que se va a dar formato.

NúmDígitosDespuésDeDecimal Opcional. Valor numérico que indica cuántos lugares a la derecha del decimal se van a mostrar. El valor predeterminado es -1, que indica que se utiliza la configuración regional del equipo.

IncluirPrimerDígito Opcional. Constante para Tristate que indica si se muestra o no un cero delante en los valores fraccionales. Consulte la sección Valores para ver los valores.

UsarParenParaNúmNegativo Opcional. Constante para Tristate que indica si se escriben o no los valores negativos entre paréntesis. Consulte la sección Valores para ver los valores.

Visual Basic Scripting Edition

Página 102 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 103: Visual Basic

GrupoDígitos Opcional. Constante para Tristate que indica si se agrupan o no los números con el delimitador de grupo especificado en la configuración regional del equipo. Consulte la sección Valores para ver los valores.

Valores

Los argumentos IncluirPrimerDígito, UsarParenParaNúmNegativo y GrupoDígitos tienen los siguientes valores:

Observaciones

Cuando se omiten uno o más argumentos opcionales, la configuración regional del equipo proporciona valores para los argumentos omitidos. La posición del símbolo monetario relativo al valor de moneda se determina a partir de la configuración regional del sistema.

Nota Toda la información de configuración procede de la ficha Moneda de Configuración regional, excepto el cero inicial que procede de la ficha Número.

El siguiente ejemplo utiliza la función FormatCurrency para dar a la expresión el formato de moneda y asignarla a MiCurrency:

Dim MiCurrency MiCurrency = FormatCurrency(1000) ' MiCurrency contiene 1000,00 $.

Requisitos

Versión 2

Consulte también

Función FormatDateTime | Función FormatNumber | Función FormatPercent

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función FormatDateTime

Constante Valor DescripciónTristateTrue -1 True (verdadero)TristateFalse 0 False (falso)TristateUseDefault -2 Utiliza la configuración regional del equipo.

Visual Basic Scripting Edition

Página 103 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 104: Visual Basic

Devuelve una expresión con formato de fecha o de hora.

FormatDateTime(Fecha[, Formato])

Argumentos

Fecha Necesario. Expresión de fecha a la que se va a dar formato.

Formato Opcional. Valor numérico que indica el formato de fecha y hora utilizado. Si se omite, se utiliza vbGeneralDate.

Valores

El argumento Formato tiene los siguientes valores:

Observaciones

El siguiente ejemplo utiliza la función FormatDateTime para dar a la expresión el formato de fecha larga y la asigna a MiFecha Time:

Function GetCurrentDate ' FormatDateTime da a Date formato de fecha larga. GetCurrentDate = FormatDateTime(Date, 1) End Function

Requisitos

Versión 2

Consulte también

Función FormatCurrency | Función FormatNumber | Función FormatPercent

© 2001 Microsoft Corporation. Reservados todos los derechos.

Constante Valor DescripciónvbGeneralDate 0 Muestra una fecha o una hora o ambas. Si existe una parte de fecha, se

muestra como fecha corta. Si existe una parte de hora, se muestra como hora larga. Si están presentes, se muestran ambas partes.

vbLongDate 1 Muestra una fecha con el formato de fecha largo especificado en la configuración regional de su equipo.

vbShortDate 2 Muestra una fecha con el formato de fecha corto especificado en la configuración regional de su equipo.

vbLongTime 3 Muestra una hora con el formato de hora especificado en la configuración regional de su equipo.

vbShortTime 4 Muestra una hora con el formato de 24 horas (hh:mm).

Página 104 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 105: Visual Basic

Build: Versión de tema 5.6.9309.1546

Función FormatNumber Devuelve una expresión con formato de número.

FormatNumber(Expresión [,NúmDígitosDespuésDeDecimal [,IncluirPrimerDígito [,UsarPare

Argumentos

Expresión Necesario. Expresión a la que se va a dar formato.

NúmDígitosDespuésDeDecimal Opcional. Valor numérico que indica cuántos lugares a la derecha del decimal se van a mostrar. El valor predeterminado es -1, que indica que se utiliza la configuración regional del equipo.

IncluirPrimerDígito Opcional. Constante para Tristate que indica si se muestra o no un cero delante en los valores fraccionales. Consulte la sección Valores para ver los valores.

UsarParenParaNúmNegativo Opcional. Constante Tristate que indica si se escriben o no los valores negativos entre paréntesis. Consulte la sección Valores para ver los valores.

GrupoDígitos Opcional. Constante Tristate que indica si se agrupan o no números con el delimitador de grupo especificado en el panel de control. Consulte la sección Valores para ver los valores.

Valores

Los argumentos IncluirPrimerDígito, UsarParenParaNúmNegativo y GrupoDígitos tienen los siguientes valores:

Observaciones

Cuando se omiten uno o más argumentos opcionales, la configuración regional del equipo proporciona valores para los argumentos omitidos.

Nota Toda la información de configuración viene de la ficha Número de Configuración regional.

El siguiente ejemplo utiliza la función FormatNumber para dar formato a un número que tenga cuatro decimales:

Function EjemploDeFormatNumber

Visual Basic Scripting Edition

Constante Valor DescripciónTristateTrue -1 True (verdadero)TristateFalse 0 False (falso)TristateUseDefault -2 Utiliza la configuración regional del equipo.

Página 105 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 106: Visual Basic

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 qEnd Function

Requisitos

Versión 2

Consulte también

Función FormatCurrency | Función FormatDateTime | Función FormatPercent

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función FormatPercent Devuelve una expresión con formato de porcentaje (multiplicado por 100) con un carácter % a la derecha.

FormatPercent(Expresión[,NúmDígitosDespuésDeDecimal [,IncluirPrimerDígito [,UsarPare

La sintaxis de la función FormatPercent tiene las siguientes partes:

Argumentos

Expresión Necesario. Expresión a la que se va a dar formato.

NúmDígitosDespuésDeDecimal Opcional. Valor numérico que indica cuántos lugares a la derecha del decimal se van a mostrar. El valor predeterminado es -1, que indica que se utiliza la configuración regional del equipo.

IncluirPrimerDígito Opcional. Constante para Tristate que indica si se muestra o no un cero delante en los valores fraccionales. Consulte la sección Valores para ver los valores.

UsarParenParaNúmNegativo Opcional. Constante Tristate que indica si se escriben o no valores negativos entre paréntesis. Consulte la sección Valores para ver los valores.

GrupoDígitos Opcional. Constante Tristate que indica si se agrupan o no números con el delimitador de números especificado en el panel de control. Consulte la sección Valores para ver los valores.

Valores

Visual Basic Scripting Edition

Página 106 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 107: Visual Basic

Los argumentos IncluirPrimerDígito, UsarParenParaNúmNegativo y GrupoDígitos tienen los siguientes valores:

Observaciones

Cuando se omiten uno o más argumentos opcionales, la configuración regional del equipo proporciona valores para los argumentos omitidos.

Nota Toda la información de configuración procede de la ficha Número de Configuración regional.

El siguiente ejemplo utiliza la función FormatPercent para dar a una expresión el formato de porcentaje:

Dim MiPorcentaje MiPorcentaje = FormatPercent(2/32) ' MiPorcentaje contiene 6.25%.

Requisitos

Versión 2

Consulte también

Función FormatCurrency | Función FormatDateTime | Función FormatNumber

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función GetLocale Devuelve el valor del Id. de configuración regional actual.

GetLocale()

Observaciones

Una configuración regional es un conjunto de información de preferencias del usuario que incluye su idioma, país o región y convenciones culturales. La configuración regional determina cosas como la

Constante Valor DescripciónTristateTrue -1 True (verdadero)TristateFalse 0 False (falso)TristateUseDefault -2 Utiliza la configuración regional del equipo.

Visual Basic Scripting Edition

Página 107 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 108: Visual Basic

apariencia del teclado, el orden de clasificación alfabética, así como los formatos de fecha, hora, número y moneda.

El valor de retorno puede ser cualquiera de los valores de 32 bits mostrados en el cuadro de Id. de configuración regional:

El siguiente ejemplo ilustra el uso de la función GetLocale. Para utilizar este código, pegue el ejemplo completo entre las etiquetas <BODY> de una página HTML estándar.

Escriba la fecha en formato para Reino Unido: <input type="text" id="UKDate" size="2Aquí 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 configuración regional actual configRegionalactual = GetLocale Sub Button1_onclick Dim original original = SetLocale("en-gb") miFecha = CDate(UKDate.value) ' IE establece siempre la configuración regional como Inglés EE.UU., ' así pues, use la variable configRegionalactual para establecer la ' configuración regional como Inglés EE.UU. original = SetLocale(configRegionalactual) USDate.value = FormatDateTime(miFecha,vbShortDate) End Sub Sub button2_onclick Dim original original = SetLocale("de") miValor = CCur(GermanNumber.value) original = SetLocale("en-gb") USNumber.value = FormatCurrency(miValor) End Sub </script>

Consulte también

Función SetLocale | Cuadro de Id. de configuración regional (LCID)

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Visual Basic Scripting Edition

Página 108 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 109: Visual Basic

Función GetObject Devuelve una referencia a un objeto de automatización desde un archivo.

GetObject([ruta] [, clase])

Argumentos

ruta Opcional. Cadena. Ruta de acceso y nombre completos del archivo que contiene el objeto que se va a recuperar. Si se omite la ruta, se requiere clase.

clase Opcional. Cadena. Clase del objeto.

El argumento clase utiliza la sintaxis nombreAplicación.tipoObjeto y se compone de:

Argumentos

nombreAplicación Requerido. Cadena. Nombre de la aplicación que proporciona el objeto.

tipoObjeto Requerido. Cadena. Tipo o clase de objeto que se va a crear.

Observaciones

Utilice la función GetObject para tener acceso a un objeto de automatización desde un archivo y asignar el objeto a una variable de objeto. Utilice la instrucción Set para asignar el objeto devuelto por GetObject a la variable de objeto. Por ejemplo:

Dim CADObject Set CADObject = GetObject("C:\CAD\SCHEMA.CAD")

Cuando se ejecuta este código, la aplicación asociada con la ruta especificada se inicia y se activa el objeto en el archivo especificado. Si ruta es una cadena de longitud cero (""), GetObject devuelve una instancia de objeto nuevo del tipo especificado. Si omite el argumento ruta, GetObject devuelve un objeto activo actual del tipo especificado. Si no existe ningún objeto del tipo especificado, se produce un error.

Algunas aplicaciones le permiten activar parte de un archivo. Agregue un signo de exclamación (!) al final del nombre de archivo, seguido de una cadena que identifique la parte del archivo que desea activar. Para información acerca de cómo crear esta cadena, consulte la documentación de la aplicación que ha creado el objeto.

Por ejemplo, en una aplicación de dibujo, quizá tenga muchas capas para dibujos almacenados en un archivo. Podría utilizar la siguiente porción de código para activar una capa dentro de un dibujo llamado SCHEMA.CAD:

Set LayerObject = GetObject("C:\CAD\SCHEMA.CAD!Layer3")

Página 109 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 110: Visual Basic

Si no especifica la clase del objeto, la Automatización determina que se inicie la aplicación y que se active el objeto, según el nombre de archivo que proporcione. Sin embargo, algunos archivos pueden admitir más de una clase de objeto. Por ejemplo, un dibujo podría admitir tres tipos de objeto diferentes: un objeto de aplicación, un objeto de dibujo y un objeto de barra de herramientas, todos los cuales forman parte del mismo archivo. Para especificar el objeto que desea activar en un archivo, utilice el argumento opcional clase. Por ejemplo:

Dim MiObjeto Set MiObjeto = GetObject("C:\DRAWINGS\SAMPLE.DRW", "FIGMENT.DRAWING")

En el ejemplo anterior, FIGMENT es el nombre de una aplicación de dibujo y DRAWING es uno de los tipos de objeto que admite. Una vez que se activa el objeto, se hace referencia a él en código mediante la variable de objeto que haya definido. En el ejemplo anterior, tiene acceso a propiedades y métodos del nuevo objeto mediante la variable de objeto MiObjeto. Por ejemplo:

MiObjeto.Line 9, 90 MiObjeto.InsertText 9, 100, "Hola a todos." MiObjeto.SaveAs "C:\DRAWINGS\SAMPLE.DRW"

Nota Utilice la función GetObject cuando exista una instancia actual del objeto o si desea crear el objeto con un archivo ya cargado. Si no existe ninguna instancia actual y no desea que se inicie el objeto con un archivo cargado, utilice la función CreateObject.

Si se ha registrado un objeto como objeto de instancia simple, sólo se crea una instancia del objeto, sin importar cuántas veces se ejecute CreateObject. Con un objeto de instancia simple, GetObject devuelve siempre la misma instancia cuando se ha llamado con sintaxis de cadena de longitud cero ("") y causa un error si se omite el argumento ruta.

Requisitos

Versión 5

Consulte también

Función CreateObject

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función GetRef Devuelve una referencia a un procedimiento que se puede enlazar con un evento.

Set objeto.evento = GetRef(procedimiento)

Visual Basic Scripting Edition

Página 110 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 111: Visual Basic

Argumentos

objeto Requerido. Nombre del objeto con el que se asocia el evento.

evento Requerido. Nombre del evento con el que se va a enlazar la función.

procedimiento Requerido. Cadena que contiene el nombre del procedimiento Sub o Function que se asocia con el evento.

Observaciones

La función GetRef le permite conectar un procedimiento de VBScript (Function o Sub) a cualquier evento de variable en sus páginas DHTML (HTML Dinámico). El modelo de objeto DHTML proporciona información acerca de los eventos que están disponibles para los diversos objetos.

En otros lenguajes de ejecución de secuencias de comandos y de programación, se hace referencia a la funcionalidad proporcionada por GetRef como un indicador de función, es decir, señala a la dirección de un procedimiento que se va a ejecutar cuando tiene lugar el evento especificado.

El siguiente ejemplo ilustra el uso de la función GetRef.

<SCRIPT LANGUAGE="VBScript"> Function PruebaGetRef() Dim Splash Splash = "PruebaGetRef Versión 1.0" & vbCrLf Splash = Splash & Chr(169) & " Su Compañía 1999 " MsgBox Splash End Function Set Window.Onload = GetRef("PruebaGetRef") </SCRIPT>

Requisitos

Versión 5

Consulte también

Instrucción Function | Instrucción Set | Instrucción Sub

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Visual Basic Scripting Edition

Página 111 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 112: Visual Basic

Función Hex Devuelve una cadena que representa el valor hexadecimal de un número.

Hex(número)

El argumento número es cualquier expresión válida.

Observaciones

Si número no es ya un número entero, se redondea hasta el número entero más próximo antes de evaluarse.

Puede representar números hexadecimales directamente si precede los números del intervalo apropiado con &H. Por ejemplo, &H10 representa el valor decimal 16 en la notación hexadecimal.

El siguiente ejemplo utiliza la función Hex para devolver el valor hexadecimal de un número:

Dim MiHex MiHex = Hex(5) ' Devuelve 5. MiHex = Hex(10) ' Devuelve A. MiHex = Hex(459) ' Devuelve 1CB.

Requisitos

Versión 1

Consulte también

Función Oct

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función Hour Devuelve un número entero entre 0 y 23, inclusive, que representa la hora del día.

Si número es Hex devuelveNull Null.Empty Zero (0).Cualquier otro númeroHasta ocho caracteres hexadecimales.

Visual Basic Scripting Edition

Página 112 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 113: Visual Basic

Hour(hora)

El argumento hora es cualquier expresión que pueda representar una hora. Si hora contiene Null, se devuelve Null.

El siguiente ejemplo utiliza la función Hour para obtener la hora actual:

Dim MyTime, MyHour MyTime = Now MyHour = Hour(MyTime) ' contiene el número que representa ' la hora actual.

Requisitos

Versión 1

Consulte también

Función Day | Función Minute | Función Now | Función Second | Función Time

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función InputBox Muestra una pregunta en un cuadro de diálogo, espera a que el usuario escriba texto o haga clic en un botón y devuelve el contenido del cuadro de texto.

InputBox(solicitud[, título][, predeterminado][, xpos][, ypos][, archivoayuda, conte

Argumentos

solicitud Expresión de cadena mostrada como el mensaje en el cuadro de diálogo. La longitud máxima de solicitud es aproximadamente 1024 caracteres, según el ancho de los caracteres utilizados. Si solicitud está formado por más de una línea, puede separar las líneas con un carácter de retorno de carro (Chr(13)), un carácter de nueva línea (Chr(10)) o una combinación de retorno de carro–nueva línea (Chr(13) & Chr(10)) entre cada línea.

título Expresión de cadena mostrada en la barra de título del cuadro de diálogo. Si omite título, el nombre de la aplicación se ubica en la barra de título.

predeterminado Expresión de cadena mostrada en el cuadro de diálogo como respuesta predeterminada si no se proporciona ninguna otra entrada. Si omite predeterminado, el cuadro de texto se muestra vacío.

Visual Basic Scripting Edition

Página 113 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 114: Visual Basic

xpos Expresión numérica que especifica, en twips, la distancia horizontal del borde izquierdo del cuadro de diálogo desde el borde izquierdo de la pantalla. Si se omite xpos, el cuadro de diálogo se centra horizontalmente.

ypos Expresión numérica que especifica, en twips, la distancia vertical del borde superior del cuadro de diálogo desde la parte superior de la pantalla. Si se omite ypos, el cuadro de diálogo se ubica verticalmente aproximadamente a un tercio de la parte inferior de la pantalla.

archivoayuda Expresión de cadena que identifica el archivo de Ayuda que se va a utilizar para proporcionar Ayuda interactiva para el cuadro de diálogo. Si se proporciona archivoayuda, también se debe proporcionar contexto.

contexto Expresión numérica que identifica el número de contexto de Ayuda asignado por el autor de la Ayuda para el tema de Ayuda apropiado. Si se proporciona contexto, archivoayuda se debe proporcionar también.

Observaciones

Cuando se proporcionan archivoayuda y contexto, se agrega un botón de Ayuda automáticamente al cuadro de diálogo.

Si el usuario hace clic en Aceptar o presiona Entrar, la función InputBox devuelve lo que esté en el cuadro de texto. Si el usuario hace clic en Cancelar, la función devuelve una cadena de longitud cero ("").

El siguiente ejemplo utiliza la función InputBox para mostrar un cuadro de entrada de texto y asignar la cadena a la variable Input:

Dim Input Input = InputBox("Escriba su nombre") MsgBox ("Usted escribió: " & Input)

Requisitos

Versión 1

Consulte también

Función MsgBox

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Visual Basic Scripting Edition

Página 114 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 115: Visual Basic

Función InStr Devuelve la posición de la primera aparición de una cadena dentro de otra.

InStr([inicio, ]cadena1, cadena2[, comparar])

Argumentos

inicio Opcional. Expresión numérica que establece la posición de inicio para cada búsqueda. Si se omite, la búsqueda comienza en la primera posición del carácter. Si inicio contiene Null, se produce un error. El argumento inicio es necesario si se especifica comparar.

cadena1 Requerido. Expresión de cadena que se busca.

cadena2 Requerido. Expresión de cadena que se busca.

comparar Opcional. Valor numérico que indica el tipo de comparación que se utilizará cuando se evalúen subcadenas. Consulte la sección Valores para ver los valores. Si se omite, se realiza una comparación binaria.

Valores

El argumento comparar puede tener los siguientes valores:

Valores de retorno

La función InStr devuelve los siguientes valores:

Observaciones

Los siguientes ejemplos utilizan InStr para buscar una cadena:

Dim SearchString, SearchChar, MiPos SearchString ="XXpXXpXXPXXP" ' Cadena en la que buscar.

Constante Valor DescripciónvbBinaryCompare0 Realiza una comparación binaria.vbTextCompare 1 Realiza una comparación textual.

Si InStr devuelvecadena1 es de longitud cero 0cadena1 es Null Nullcadena2 es de longitud cero iniciocadena2 es Null Nullcadena2 no se encuentra 0cadena2 se encuentra dentro de cadena1 Posición en la que se encuentra la coincidenciainicio > Len(cadena2) 0

Página 115 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 116: Visual Basic

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

Nota La función InStrB se utiliza con datos de tipo byte contenidos en una cadena. En lugar de devolver la posición del carácter de la primera aparición de una cadena dentro de otra, InStrB devuelve la posición de byte.

Requisitos

Versión 1

Consulte también

Función InStrRev

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función InStrRev Devuelve la posición de una ocurrencia de una cadena dentro de otra, desde el final de la cadena.

InStrRev(cadena1, cadena2[, inicio[, comparar]])

Argumentos

cadena1 Requerido. Expresión de cadena que se busca.

cadena2 Requerido. Expresión de cadena que se busca.

inicio Opcional. Expresión numérica que establece la posición de inicio para cada búsqueda. Si se omite, se utiliza -1, que significa que la búsqueda comienza en la posición del último carácter. Si inicio contiene Null, se produce un error.

comparar Opcional. Valor numérico que indica el tipo de comparación que se va a usar cuando se evalúen

Visual Basic Scripting Edition

Página 116 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 117: Visual Basic

subcadenas. Si se omite, se realiza una comparación binaria. Consulte la sección Valores para ver los valores.

Valores

El argumento comparar puede tener los siguientes valores:

Valores de retorno

InStrRev devuelve los siguientes valores:

Observaciones

Los siguientes ejemplos utilizan la función InStrRev para buscar una cadena:

Dim SearchString, SearchChar, MiPos SearchString ="XXpXXpXXPXXP" ' Cadena en la que buscar. SearchChar = "P" ' Se busca "P". MiPos = InstrRev(SearchString, SearchChar, 10, 0) ' Una comparación ' binaria que comienza en la ' posición 10. Devuelve 9. MiPos = InstrRev(SearchString, SearchChar, -1, 1) ' Una comparación ' textual que comienza en ' la última posición. Devuelve 12. MiPos = InstrRev(SearchString, SearchChar, 8) ' La comparación es ' binaria de forma predeterminada (se ' omite el último argumento). Devuelve 0.

Nota La sintaxis de la función InStrRev no es la misma que la sintaxis de la función InStr.

Requisitos

Versión 2

Consulte también

Constante Valor DescripciónvbBinaryCompare0 Realiza una comparación binaria.vbTextCompare 1 Realiza una comparación textual.

Si InStrRev devuelvecadena1 es de longitud cero 0cadena1 es Null Nullcadena2 es de longitud cero iniciocadena2 es Null Nullcadena2 no se encuentra 0cadena2 se encuentra dentro de cadena1 Posición en la que se encuentra la coincidenciainicio > Len(cadena2) 0

Página 117 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 118: Visual Basic

Función InStr

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Funciones Int y Fix Devuelve la parte entera de un número.

Int(número) Fix(número)

El argumento número puede ser cualquier expresión numérica válida. Si número contiene Null, se devuelve Null.

Observaciones

Int y Fix eliminan la parte fraccional de número y devuelven el valor de número entero resultante.

La diferencia entre Int y Fix es que si número es negativo, Int devuelve el primer número entero negativo menor o igual que número, mientras que Fix devuelve el primer número entero negativo mayor o igual que número. Por ejemplo, Int convierte -8,4 en -9 y Fix convierte -8,4 en -8.

Fix(número) es equivalente a:

Sgn(número) * Int(Abs(número))

Los siguientes ejemplos ilustran la forma en que las funciones Int y Fix devuelven partes enteras de números:

MiNumero = Int(99,8) ' Devuelve 99. MiNumero = Fix(99,2) ' Devuelve 99. MiNumero = Int(-99,8) ' Devuelve -100. MiNumero = Fix(-99,8) ' Devuelve -99. MiNumero = Int(-99,2) ' Devuelve -100. MiNumero = Fix(-99,2) ' Devuelve -99.

Requisitos

Versión 1

Consulte también

Función CInt | Función Round

Visual Basic Scripting Edition

Página 118 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 119: Visual Basic

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función IsArray Devuelve un valor de tipo booleano que indica si una variable es una matriz.

IsArray(variable)

El argumento variable puede ser cualquier variable.

Observaciones

IsArray devuelve True si la variable es una matriz; si no, devuelve False. IsArray es especialmente útil con variantes que contienen matrices.

El siguiente ejemplo utiliza la función IsArray para comprobar si MiVariable es una matriz:

Dim MiVariable Dim MiMatriz(3) MiMatriz(0) = "Domingo" MiMatriz(1) = "Lunes" MiMatriz(2) = "Martes" MiVariable = IsArray(MiMatriz) ' MiVariable contiene "True".

Requisitos

Versión 1

Consulte también

Función IsDate | Función IsEmpty | Función IsNull | Función IsNumeric | Función IsObject | Función VarType

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Visual Basic Scripting Edition

Visual Basic Scripting Edition

Página 119 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 120: Visual Basic

Función IsDate Devuelve un valor de tipo booleano que indica si una expresión se puede convertir en una fecha.

IsDate(expresión)

El argumento expresión puede ser cualquier expresión de fecha o expresión de cadena reconocible como una fecha o una hora.

Observaciones

IsDate devuelve True si la expresión es una fecha o se puede convertir en una fecha válida; si no, devuelve False. En Microsoft Windows, el intervalo de fechas válidas está comprendido entre el 1 de enero de año 100 d.C. y el 31 de diciembre de 9999 d.C.; los intervalos varían de un sistema operativo a otro.

El ejemplo siguiente utiliza la función IsDate para determinar si una expresión se puede convertir en una fecha:

Dim MiFecha, SuFecha, SinFecha, MiComprobacion MiFecha = "19 de octubre de 1962": SuFecha = #19/10/62#: SinFecha = "Hola" MiComprobacion = IsDate(MiFecha) ' Devuelve True. MiComprobacion = IsDate(SuFecha) ' Devuelve True. MiComprobacion = IsDate(SinFecha) ' Devuelve False.

Requisitos

Versión 1

Consulte también

Función CDate | Función IsArray | Función IsEmpty | Función IsNull | Función IsNumeric | Función IsObject | Función VarType

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función IsEmpty Devuelve un valor de tipo booleano que indica si se ha inicializado una variable.

IsEmpty(expresión)

Visual Basic Scripting Edition

Página 120 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 121: Visual Basic

El argumento expresión puede ser cualquier expresión. Sin embargo dado que IsEmpty se utiliza para determinar si se inicializan las variables individuales, el argumento expresión es muy a menudo un nombre de variable simple.

Observaciones

IsEmpty devuelve True si la variable no está inicializada, o está explícitamente establecida como Empty; si no, devuelve False. False se devuelve siempre si expresión contiene más de una variable.

El siguiente ejemplo utiliza la función IsEmpty para determinar si se ha inicializado una variable:

Dim MiVar, MiComprobacion MiComprobacion = IsEmpty(MiVar) ' Devuelve True. MiVar = Null ' Asigna Null. MiComprobacion = IsEmpty(MiVar) ' Devuelve False. MiVar = Empty ' Asigna Empty. MiComprobacion = IsEmpty(MiVar) ' Devuelve True.

Requisitos

Versión 1

Consulte también

Función IsArray | Función IsDate | Función IsNull | Función IsNumeric | Función IsObject | Función VarType

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función IsNull Devuelve un valor de tipo booleano que indica si una expresión contiene datos no válidos (Null).

IsNull(expresión)

El argumento expresión puede ser cualquier expresión.

Observaciones

IsNull devuelve True si expresión es Null, es decir, contiene datos no válidos; si no, IsNull devuelve False. Si expresión contiene más de una variable, Null en cualquier variable de constituyente hace que se devuelva True para toda la expresión.

Visual Basic Scripting Edition

Página 121 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 122: Visual Basic

El valor Null indica que la variable contiene datos no válidos. Null no es lo mismo que Empty, que indica que una variable no se ha inicializada aún. Tampoco es lo mismo que una cadena de longitud cero (""), a la que a veces se hace referencia como una cadena de tipo null.

Atención Utilice la función IsNull para determinar si una expresión contiene un valor Null. Las expresiones que podría esperar que se evaluaran como True bajo algunas circunstancias, tales como If Var = Null and If Var <> Null, son siempre False. Esto se debe a que cualquier expresión que contiene Null es en sí misma Null y, por tanto, False.

El siguiente ejemplo utiliza la función IsNull para determinar si una variable contiene Null:

Dim MiVar, MiComprobacion MiComprobacion = IsNull(MiVar) ' Devuelve False. MiVar = Null ' Asigna Null. MiComprobacion = IsNull(MiVar) ' Devuelve True. MiVar = Empty ' Asigna Empty. MiComprobacion = IsNull(MiVar) ' Devuelve False.

Requisitos

Versión 1

Consulte también

Función IsArray | Función IsDate | Función IsEmpty | Función IsNumeric | Función IsObject | Función VarType

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función IsNumeric Devuelve un valor de tipo booleano que indica si se puede evaluar una expresión como un número.

IsNumeric(expresión)

El argumento expresión puede ser cualquier expresión.

Observaciones

IsNumeric devuelve True si toda la expresión se reconoce como un número; si no, devuelve False. IsNumeric devuelve False si expresión es una expresión de fecha.

El siguiente ejemplo utiliza la función IsNumeric para determinar si una variable se puede evaluar

Visual Basic Scripting Edition

Página 122 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 123: Visual Basic

como un número:

Dim MiVar, MiComprobacion MiVar = 53 ' Asigna un valor. MiComprobacion = IsNumeric(MiVar) ' Devuelve True. MiVar = "459.95" ' Asigna un valor. MiComprobacion = IsNumeric(MiVar) ' Devuelve True. MiVar = "45 Help" ' Asigna un valor. MiComprobacion = IsNumeric(MiVar) ' Devuelve False.

Requisitos

Versión 1

Consulte también

Función IsArray | Función IsDate | Función IsEmpty | Función IsNull | Función IsObject | Función VarType

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función IsObject Devuelve un valor de tipo booleano que indica si una expresión hace referencia a un objeto de automatización válido.

IsObject(expresión)

El argumento expresión puede ser cualquier expresión.

Observaciones

IsObject devuelve True si expresión es una variable del subtipo Object o un objeto definido por el usuario; si no, devuelve False.

El siguiente ejemplo utiliza la función IsObject para determinar si un identificador representa una variable de objeto:

Dim MiEntero, MiComprobacion, MiObjeto Set MiObjeto = Me MiComprobacion = IsObject(MiObjeto) ' Devuelve True. MiComprobacion = IsObject(MiEntero) ' Devuelve False.

Visual Basic Scripting Edition

Página 123 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 124: Visual Basic

Requisitos

Versión 1

Consulte también

Función IsArray | Función IsDate | Función IsEmpty | Función IsNull | Función IsNumeric | Función Set | Función VarType

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función Join Devuelve una cadena creada al combinar un número de subcadenas contenidas en una matriz.

Join(lista[, delimitador])

Argumentos

lista Requerido. Matriz unidimensional que contiene subcadenas que se van a combinar.

delimitador Opcional. Carácter de cadena utilizado para separar las subcadenas en la cadena de retorno. Si se omite, se utiliza el carácter de espacio (" "). Si delimitador es una cadena de longitud cero, todos los elementos de la lista están concatenados sin ningún delimitador.

Observaciones

El siguiente ejemplo utiliza la función Join para combinar las subcadenas de MiMatriz:

Dim MiCadena Dim MiMatriz(3) MiMatriz(0) = "Sr." MiMatriz(1) = "Juan " MiMatriz(2) = "Pérez " MiMatriz(3) = "Rodríguez" MiCadena = Join(MiMatriz) ' MiCadena contiene "Sr. Juan Pérez Rodríguez".

Requisitos

Versión 2

Consulte también

Visual Basic Scripting Edition

Página 124 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 125: Visual Basic

Función Split

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función LBound Devuelve el índice menor disponible para la dimensión indicada de una matriz.

LBound(matriz[, dimensión])

Argumentos

matriz Nombre de la variable de matriz. Sigue las convenciones de nomenclatura estándar de las variables.

dimensión Número entero que indica qué enlace menor de la dimensión se devuelve. Utilice 1 para la primera dimensión, 2 para la segunda y así sucesivamente. Si se omite dimensión, se supone 1.

Observaciones

La función LBound se utiliza con la función UBound para determinar el tamaño de una matriz. Utilice la función UBound para buscar el límite superior de la dimensión de una matriz.

El enlace menor para cualquier dimensión es siempre 0.

Requisitos

Versión 1

Consulte también

Instrucción Dim | Instrucción ReDim | Función UBound

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Visual Basic Scripting Edition

Visual Basic Scripting Edition

Página 125 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 126: Visual Basic

Función LCase Devuelve una cadena que se ha convertido en minúsculas.

LCase(cadena)

El argumento cadena es cualquier expresión de cadena válida. Si cadena contiene Null, se devuelve Null.

Observaciones

Sólo las letras mayúsculas se convierten en minúsculas; todas las letras minúsculas y los caracteres que no son de letra permanecen sin cambio. El siguiente ejemplo utiliza la función LCase para convertir letras que están en mayúsculas en minúsculas:

Dim MiCadena Dim LCaseString MiCadena = "VBSCript" LCaseString = LCase(MiCadena) ' LCaseString contiene "vbscript".

Requisitos

Versión 1

Consulte también

Función UCase

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función Left Devuelve un número de caracteres especificados desde la parte izquierda de una cadena.

Left(cadena, longitud)

Argumentos

cadena

Visual Basic Scripting Edition

Página 126 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 127: Visual Basic

Expresión de cadena de la que se devuelven los caracteres que están más a la izquierda. Si cadena contiene Null, se devuelve Null.

longitud Expresión numérica que indica cuántos caracteres se van a devolver. Si es 0, se devuelve una cadena de longitud cero (""). Si es mayor o igual que el número de caracteres en cadena, se devuelve toda la cadena.

Observaciones

Para determinar el número de caracteres en cadena, utilice la función Len.

El siguiente ejemplo utiliza la función Left para devolver los tres primeros caracteres de MiCadena:

Dim MiCadena, LeftString MiCadena = "VBSCript" LeftString = Left(MiCadena, 3) ' LeftString contiene "VBS".

Nota La función LeftB se utiliza con datos de tipo byte contenidos en una cadena. En lugar de especificar el número de caracteres que se van a devolver, longitud especifica el número de bytes.

Requisitos

Versión 1

Consulte también

Función Len | Función Mid | Función Right

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función Len Devuelve el número de caracteres de una cadena o el número de bytes necesarios para almacenar una variable.

Len(cadena | variable)

Argumentos

cadena Cualquier expresión de cadena válida. Si cadena contiene Null, se devuelve Null.

Visual Basic Scripting Edition

Página 127 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 128: Visual Basic

variable Cualquier nombre de variable válido. Si variable contiene Null, se devuelve Null.

Observaciones

El siguiente ejemplo utiliza la función Len para devolver el número de caracteres de una cadena:

Dim MiCadena MiCadena = Len("VBSCRIPT") ' MiCadena contiene 8.

Nota La función LenB se utiliza con datos de tipo byte contenidos en una cadena. En lugar de devolver el número de caracteres de una cadena, LenB devuelve el número de bytes utilizados para representar dicha cadena.

Requisitos

Versión 1

Consulte también

Función InStr

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función LoadPicture Devuelve un objeto de imagen. Disponible sólo en plataformas de 32 bits.

LoadPicture(imagen)

El argumento imagen es una expresión de cadena que indica el nombre del archivo de imagen que se va a cargar.

Observaciones

Los formatos de gráficos reconocidos por LoadPicture incluyen archivos de mapa de bits (.bmp), archivos de icono (.ico), archivos de codificación por longitud de línea (.rle), metarchivos (.wmf), metarchivo mejorado (.emf), archivos GIF (.gif) y archivos JPEG (.jpg).

Requisitos

Versión 2

Visual Basic Scripting Edition

Página 128 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 129: Visual Basic

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función Log Devuelve el logaritmo natural de un número.

Log(número)

El argumento número puede ser cualquier expresión numérica válida mayor que 0.

Observaciones

El logaritmo natural es el logaritmo con base e. La constante e es aproximadamente 2,718282.

Puede calcular logaritmos de base -n para cualquier número x si divide el logaritmo natural de x por el logaritmo natural de n como sigue:

Logn(x) = Log(x) / Log(n)

El siguiente ejemplo ilustra una Función personalizada que calcula logaritmos de base 10:

Function Log10(X) Log10 = Log(X) / Log(10) End Function

Requisitos

Versión 1

Consulte también

Funciones matemáticas derivadas | Función Exp

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Visual Basic Scripting Edition

Visual Basic Scripting Edition

Página 129 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 130: Visual Basic

Funciones LTrim, RTrim y Trim Devuelve una copia de una cadena sin espacios iniciales (LTrim), espacios finales (RTrim) o sin ambos (Trim).

LTrim(cadena) RTrim(cadena) Trim(cadena)

El argumento cadena es cualquier expresión de cadena válida. Si cadena contiene Null, se devuelve Null.

Observaciones

El siguiente ejemplo utiliza las funciones LTrim, RTrim y Trim para recortar espacios iniciales, espacios finales y o ambos, respectivamente:

Dim MiVar MiVar = LTrim(" vbscript ") ' MiVar contiene "vbscript ". MiVar = RTrim(" vbscript ") ' MiVar contiene " vbscript". MiVar = Trim(" vbscript ") ' MiVar contiene "vbscript".

Requisitos

Versión 1

Consulte también

Función Left | Función Right

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Funciones matemáticas Función Abs

Función Atn

Función Cos

Función Exp

Visual Basic Scripting Edition

Página 130 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 131: Visual Basic

Función Fix

Función Int

Función Log

Función Rnd

Función Sgn

Función Sin

Función Sqr

Función Tan

Funciones matemáticas derivadas

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función Mid Devuelve un número de caracteres especificado de una cadena.

Mid(cadena, inicio[, longitud])

Argumentos

cadena Expresión de cadena de la que se devuelven caracteres. Si cadena contiene Null, se devuelve Null.

inicio Posición del carácter en cadena en la que comienza la parte que se va a tomar. Si inicio es mayor que el número de caracteres en cadena, Mid devuelve una cadena de longitud cero ("").

longitud Número de caracteres que se va a devolver. Si se omite o si existen menos caracteres del número especificado por longitud en el texto (incluido el carácter en inicio), se devuelven todos los caracteres desde la posición de inicio hasta el final de la cadena.

Observaciones

Para determinar el número de caracteres en cadena, utilice la función Len.

Visual Basic Scripting Edition

Página 131 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 132: Visual Basic

El siguiente ejemplo utiliza la función Mid para devolver seis caracteres, a partir del cuarto carácter, de una cadena:

Dim MiVar MiVar = Mid("¡Qué divertido es VB Script!", 6, 9) ' MiVar contiene "divertido".

Nota La función MidB se utiliza con datos de tipo byte contenidos en una cadena. En lugar de especificar el número de caracteres, los argumentos especifican el número de bytes.

Requisitos

Versión 1

Consulte también

Función Left | Función Len | Funciones LTrim, RTrim, y Trim | Función Right

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función Minute Devuelve un número entero entre 0 y 59, inclusive, que representa el minuto de la hora.

Minute(hora)

El argumento hora es cualquier expresión que pueda representar una hora. Si hora contiene Null, se devuelve Null.

Observaciones

El siguiente ejemplo utiliza la función Minute para devolver el minuto de la hora:

Dim MiVar MiVar = Minute(Now)

Requisitos

Versión 1

Consulte también

Función Day | Función Hour | Función Now | Función Second | Función Time

Visual Basic Scripting Edition

Página 132 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 133: Visual Basic

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función Month Devuelve un número entero entre 1 y 12, inclusive, que representa el mes del año.

Month(fecha)

El argumento fecha es cualquier expresión que pueda representar una fecha. Si fecha contiene Null, se devuelve Null.

Observaciones

El siguiente ejemplo utiliza la función Month para devolver el mes actual:

Dim MiVar MiVar = Month(Now) ' MiVar contiene el número que corresponde ' al mes actual.

Requisitos

Versión 1

Consulte también

Función Date | Función Day | Función Now | Función Weekday | Función Year

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función MonthName Devuelve una cadena que indica el mes especificado.

MonthName(mes[, abreviatura])

Visual Basic Scripting Edition

Visual Basic Scripting Edition

Página 133 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 134: Visual Basic

Argumentos

mes Requerido. La designación numérica del mes. Por ejemplo, enero es 1, febrero es 2 y así sucesivamente.

abreviatura Opcional. Valor de tipo booleano que indica si el nombre del mes se va a abreviar. Si se omite, el valor predeterminado es False, que significa que el nombre del mes no está abreviado.

Observaciones

El siguiente ejemplo utiliza la función MonthName para devolver un nombre de mes abreviado para una expresión de fecha:

Dim MiVar MiVar = MonthName(10, True) ' MiVar contiene "Oct".

Requisitos

Versión 2

Consulte también

Función WeekdayName

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función MsgBox Muestra un mensaje en un cuadro de diálogo, espera a que el usuario haga clic en un botón y devuelve un valor que indica el botón en el que se hizo clic.

MsgBox(solicitud[, botones] [, título] [, archivoayuda, contexto])

Argumentos

solicitud Expresión de cadena mostrada como el mensaje en el cuadro de diálogo. La longitud máxima de solicitud es de aproximadamente 1024 caracteres, según el ancho de los caracteres utilizados. Si prompt está formado por más de una línea, puede separar las líneas con un carácter de retorno de carro (Chr(13)), un carácter de nueva línea (Chr(10)) o la combinación de carácter de retorno de carro–nueva línea (Chr(13) & Chr(10)) entre cada línea.

Visual Basic Scripting Edition

Página 134 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 135: Visual Basic

botones Expresión numérica que es la suma de valores que especifican el número y tipo de botones que se van a mostrar, el estilo de icono que se va a utilizar, la identidad del botón predeterminado y la modalidad del cuadro de mensaje. Consulte la sección Valores para ver los valores. Si se omite, el valor predeterminado para botones es 0.

título Expresión de cadena mostrada en la barra de título del cuadro de diálogo. Si omite título, el nombre de la aplicación se sitúa en la barra de título.

archivoayuda Expresión de cadena que identifica el archivo de Ayuda que se va a utilizar para proporcionar Ayuda interactiva para el cuadro de diálogo. Si se proporciona archivoayuda, también se debe proporcionar contexto. No está disponible en plataformas de 16 bits.

contexto Expresión numérica que identifica el número de contexto de Ayuda asignado por el autor de la Ayuda para el tema de Ayuda apropiado. Si se proporciona contexto, también se debe proporcionar archivoayuda. No está disponible en plataformas de 16 bits.

Valores

Los valores del argumento botones son:

El primer grupo de valores (0–5) describe el número y tipo de botones mostrados en el cuadro de diálogo; el segundo grupo (16, 32, 48, 64) describe el estilo de icono; el tercer grupo (0, 256, 512, 768) determina qué botón es el predeterminado y el cuarto grupo (0, 4096) determina la modalidad del cuadro de mensaje. Cuando agregue números para crear un valor final para el argumento botones, utilice sólo un número para cada grupo.

Valores de retorno

Constante Valor DescripciónvbOKOnly 0 Muestra sólo el botón Aceptar.vbOKCancel 1 Muestra los botones Aceptar y Cancelar.vbAbortRetryIgnore 2 Muestra los botones Anular, Reintentar e Ignorar.vbYesNoCancel 3 Muestra los botones Sí, No y Cancelar.vbYesNo 4 Muestra los botones Sí y No.vbRetryCancel 5 Muestra los botones Reintentar y Cancelar.vbCritical 16 Muestra el icono Mensaje crítico. vbQuestion 32 Muestra el icono Consulta de advertencia.vbExclamation 48 Muestra el icono Mensaje de advertencia.vbInformation 64 Muestra el icono Mensaje de información.vbDefaultButton1 0 El primer botón es el predeterminado.vbDefaultButton2 256 El segundo botón es el predeterminado.vbDefaultButton3 512 El tercer botón es el predeterminado.vbDefaultButton4 768 El cuarto botón es el predeterminado.vbApplicationModal 0 Cuadro de diálogo modal de la aplicación. El usuario debe

responder al cuadro de diálogo antes de continuar trabajando en la aplicación actual.

vbSystemModal 4096 Cuadro de diálogo modal del sistema. Se suspenden todas las aplicaciones hasta que el usuario responda al cuadro de mensaje.

Página 135 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 136: Visual Basic

La función MsgBox tiene los siguientes valores de retorno:

Observaciones

Cuando se proporcionan archivoayuda y contexto, el usuario puede presionar F1 para ver el tema de Ayuda correspondiente al contexto.

Si el cuadro de diálogo muestra un botón Cancelar, presionar la tecla ESC tiene el mismo efecto que hacer clic en Cancelar. Si el cuadro de diálogo contiene un botón Ayuda, se proporciona Ayuda interactiva para el cuadro de diálogo. Sin embargo, no se devuelve ningún valor hasta que se haga clic en uno de los otros botones.

Cuando la función MsgBox se utiliza con Microsoft Internet Explorer, el título de cualquier diálogo presentado siempre contiene "VBScript:" para diferenciarlo de los cuadros de diálogo estándar del sistema.

El siguiente ejemplo utiliza la función MsgBox para mostrar un cuadro de mensaje y devolver un valor que describe el botón en el que se hizo clic:

Dim MiVar MiVar = MsgBox ("Hola a todos.", 65, "Ejemplo de MsgBox") ' MiVar contiene 1 ó 2, según el botón en que se hizo clic.

Requisitos

Versión 1

Consulte también

Función InputBox

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Constante Valor BotónvbOK 1 AceptarvbCancel 2 CancelarvbAbort 3 AnularvbRetry 4 ReintentarvbIgnore 5 IgnorarvbYes 6 SívbNo 7 No

Visual Basic Scripting Edition

Página 136 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 137: Visual Basic

Función Now Devuelve la fecha y hora actuales según la configuración de fecha y hora del sistema de su equipo.

Now

Observaciones

El siguiente ejemplo utiliza la función Now para devolver la fecha y hora actuales:

Dim MiVar MiVar = Now ' MiVar contiene la fecha y hora actuales.

Requisitos

Versión 1

Consulte también

Función Date | Función Day | Función Hour | Función Minute | Función Month | Función Second | Función Time | Función Weekday | Función Year

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función Oct Devuelve una cadena que representa el valor octal de un número.

Oct(número)

El argumento número es cualquier expresión válida.

Observaciones

Si número no es ya un número entero, se redondea al número entero más cercano antes de evaluarse.

Visual Basic Scripting Edition

Si número es devuelve OctNull Null.Empty Zero (0).Cualquier otro númeroHasta 11 caracteres octales,

Página 137 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 138: Visual Basic

Puede representar números octales directamente si precede los números del intervalo apropiado con &O. Por ejemplo, &O10 es la notación octal para el valor decimal 8.

El siguiente ejemplo utiliza la función Oct para devolver el valor octal de un número:

Dim MiOct MiOct = Oct(4) ' Devuelve 4. MiOct = Oct(8) ' Devuelve 10. MiOct = Oct(459) ' Devuelve 713.

Requisitos

Versión 1

Consulte también

Función Hex

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función Replace Devuelve una cadena en la que una subcadena se ha sustituido por otra subcadena un número de veces especificado.

Replace(expresión, buscar, reemplazarCon[, inicio[, número[, comparar]]])

Argumentos

expresión Requerido. Expresión de cadena que contiene la subcadena que se va a reemplazar.

buscar Requerido. Subcadena que se busca.

reemplazarCon Requerido. Subcadena de reemplazo.

inicio Opcional. Posición dentro de expresión donde va a comenzar la subcadena de búsqueda. Si se omite, se supone 1. Se debe utilizar junto con número.

número Opcional. Número de sustituciones de subcadena que se va a realizar. Si se omite, el valor predeterminado es -1, que significa hacer todas las sustituciones posibles. Se debe utilizar junto con inicio.

comparar

Visual Basic Scripting Edition

Página 138 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 139: Visual Basic

Opcional. Valor numérico que indica el tipo de comparación que se va a utilizar cuando se evalúen subcadenas. Consulte la sección Valores para ver los valores. Si se omite, el valor predeterminado es 0, que significa realizar una comparación binaria.

Valores

El argumento comparar puede tener los siguientes valores:

Valores de retorno

Replace devuelve los siguientes valores:

Observaciones

El valor de retorno de la función Replace es una cadena, con sustituciones realizadas, que comienza en la posición especificada por inicio y termina al final de la cadena expresión. No es una copia de la cadena original de principio a fin.

El siguiente ejemplo utiliza la función Replace para devolver una cadena:

Dim MiCadena MiCadena = Replace("XXpXXPXXp", "p", "Y") ' Una comparación binaria que comienza eMiCadena = Replace("XXpXXPXXp", "p", "Y", ' Una comparación textual que comienza e

Requisitos

Versión 2

Consulte también

Función Filter

© 2001 Microsoft Corporation. Reservados todos los derechos.

Constante Valor DescripciónvbBinaryCompare0 Realiza una comparación binaria.vbTextCompare 1 Realiza una comparación textual.

Si Replace devuelveexpresión es de longitud cero Cadena de longitud cero ("").expresión es Null Un error.buscar es de longitud cero Copia de expresión.reemplazarcon es de longitud cero Copia de expresión con todas las apariciones de buscar

eliminadas.inicio > Len(expresión) Cadena de longitud cero.número es 0 Copia de expresión.

Página 139 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 140: Visual Basic

Build: Versión de tema 5.6.9309.1546

Función RGB Devuelve un número entero que representa un valor de color RGB.

RGB(rojo, verde, azul)

Argumentos

rojo Requerido. Número en el intervalo 0-255 que representa el componente rojo del color.

verde Requerido. Número en el intervalo 0-255 que representa el componente verde del color.

azul Requerido. Número en el intervalo 0-255 que representa el componente azul del color.

Observaciones

Los métodos y propiedades de aplicación que aceptan una especificación de color esperan que dicha especificación sea un número que representa un valor de color RGB. Un valor de color RGB especifica la intensidad relativa de rojo, verde y azul para hacer que se muestre un color específico.

El byte menor contiene el valor para rojo, el byte medio contiene el valor para verde y el byte mayor contiene el valor para azul.

Para aplicaciones que necesitan invertir el orden de bytes, la siguiente función proporcionará la misma información con los bytes invertidos:

Function RevRGB(rojo, verde, azul) RevRGB= CLng(azul + (verde * 256) + (rojo * 65536)) End Function

El valor de cualquier argumento para RGB que sobrepase 255 se supone que es 255.

Requisitos

Versión 2

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Visual Basic Scripting Edition

Visual Basic Scripting Edition

Página 140 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 141: Visual Basic

Función Right Devuelve un número de caracteres especificados desde la parte derecha de una cadena.

Right(cadena, longitud)

Argumentos

cadena Expresión de cadena de la que se devuelven los caracteres que están más a la derecha. Si cadena contiene Null, se devuelve Null.

longitud Expresión numérica que indica cuántos caracteres se van a devolver. Si es 0, se devuelve una cadena de longitud cero. Si es mayor o igual que el número de caracteres en cadena, se devuelve toda la cadena.

Observaciones

Para determinar el número de caracteres en cadena, utilice la función Len.

El siguiente ejemplo utiliza la función Right para devolver un número de caracteres especificado desde la parte derecha de una cadena:

Dim CualqCadena, MiCdn CualqCadena = "Hola a todos" ' Define una cadena. MiCdn = Right(CualqCadena, 1) ' Devuelve "s". MiCdn = Right(CualqCadena, 6) ' Devuelve " todos". MiCdn = Right(CualqCadena, 20) ' Devuelve "Hola a todos".

Nota La función RightB se utiliza con datos de tipo byte contenidos en una cadena. En lugar de especificar el número de caracteres que se van a devolver, longitud especifica el número de bytes.

Requisitos

Versión 1

Consulte también

Función Left | Función Len | Función Mid

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Visual Basic Scripting Edition

Página 141 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 142: Visual Basic

Función Rnd Devuelve un número aleatorio.

Rnd[(número)]

El argumento número puede ser cualquier expresión numérica válida.

Observaciones

La función Rnd devuelve un valor menor que 1 pero mayor o igual que 0. El valor de número determina cómo Rnd genera un número aleatorio:

Para cualquier inicialización dada, se genera la misma secuencia de números ya que cada llamada sucesiva a la función Rnd utiliza el número anterior como inicialización para el siguiente número de la secuencia.

Antes de llamar a Rnd, utilice la instrucción Randomize sin argumento para inicializar el generador de números aleatorios con una inicialización basada en el temporizador del sistema.

Para producir números enteros aleatorios dentro de un intervalo dado, utilice esta fórmula:

Int((upperbound - lowerbound + 1) * Rnd + lowerbound)

Aquí, upperbound es el número mayor del intervalo y lowerbound es el número menor.

Nota Para repetir secuencias de números aleatorios, llame a Rnd con un argumento negativo inmediatamente antes de utilizar Randomize con un argumento numérico. Si utiliza Randomize con el mismo valor que para número no se repetirá la secuencia anterior.

Requisitos

Versión 1

Consulte también

Instrucción Randomize

© 2001 Microsoft Corporation. Reservados todos los derechos.

Si número es Rnd generaMenor que cero El mismo número siempre, utilizando número como inicialización.Mayor que cero El siguiente número aleatorio de la secuencia.Igual que cero El número generado más recientemente.No proporcionado El siguiente número aleatorio de la secuencia.

Página 142 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 143: Visual Basic

Build: Versión de tema 5.6.9309.1546

Función Round Devuelve un número redondeado a un número especificado de lugares decimales.

Round(expresión[, lugaresdecimales])

Argumentos

expresión Requerido. Expresión numérica que se redondea.

lugaresdecimales Opcional. Número que indica cuántos lugares a la derecha del decimal se incluyen en el redondeo. Si se omite, la función Round devuelve números enteros.

Observaciones

El siguiente ejemplo utiliza la función Round para redondear un número a dos lugares decimales:

Dim MiVar, pi pi = 3,14159 MiVar = Round(pi, 2) ' MiVar contiene 3,14.

Requisitos

Versión 2

Consulte también

Funciones Int y Fix

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función ScriptEngine Devuelve una cadena que representa el lenguaje de ejecución de secuencias de comandos en uso.

ScriptEngine

Visual Basic Scripting Edition

Visual Basic Scripting Edition

Página 143 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 144: Visual Basic

Valores de retorno

La función ScriptEngine puede devolver cualquiera de las siguientes cadenas:

Observaciones

El siguiente ejemplo utiliza la función ScriptEngine para devolver una cadena que describe el lenguaje de ejecución de secuencias de comandos en uso:

Function ObtenerInfoScriptEngine Dim s s = "" ' Crea una cadena con la información necesaria. s = ScriptEngine & " Versión " s = s & ScriptEngineMajorVersion & "." s = s & ScriptEngineMinorVersion & "." s = s & ScriptEngineBuildVersion ObtenerInfoScriptEngine = s ' Devuelve el resultado. End Function

Requisitos

Versión 2

Consulte también

Función ScriptEngineBuildVersion | Función ScriptEngineMajorVersion | Función ScriptEngineMinorVersion

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función ScriptEngineBuildVersion Devuelve el número de la versión de compilación del motor de ejecución de secuencias de comandos en uso.

ScriptEngineBuildVersion

Cadena DescripciónVBScript Indica que Microsoft® Visual Basic® Scripting Edition es el motor actual de ejecución de

secuencias de comandos.JScript Indica que Microsoft JScript® es el motor actual de ejecución de secuencias de comandos.VBA Indica que Microsoft Visual Basic para Aplicaciones es el motor actual de ejecución de

secuencias de comandos.

Visual Basic Scripting Edition

Página 144 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 145: Visual Basic

Observaciones

El valor de retorno corresponde exactamente a la información de versión contenida en el archivo DLL del lenguaje de ejecución de secuencias de comandos en uso.

El siguiente ejemplo utiliza la función ScriptEngineBuildVersion para devolver el número de versión de compilación del motor de ejecución de secuencias de comandos:

Function ObtenerInfoScriptEngine Dim s s = "" ' Crea una cadena con la información necesaria. s = ScriptEngine & " versión " s = s & ScriptEngineMajorVersion & "." s = s & ScriptEngineMinorVersion & "." s = s & ScriptEngineBuildVersion ObtenerInfoScriptEngine = s ' Devuelve el resultado. End Function

Requisitos

Versión 2

Consulte también

Función ScriptEngine | Función ScriptEngineMajorVersion | Función ScriptEngineMinorVersion

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función ScriptEngineMajorVersion Devuelve el número de versión mayor del motor de ejecución de secuencias de comandos en uso.

ScriptEngineMajorVersion

Observaciones

El valor de retorno corresponde exactamente a la información de versión contenida en el archivo DLL del lenguaje de ejecución de secuencias de comandos en uso.

El siguiente ejemplo utiliza la función ScriptEngineMajorVersion para devolver el número de versión del motor de ejecución de secuencias de comandos:

Function ObtenerInfoScriptEngine

Visual Basic Scripting Edition

Página 145 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 146: Visual Basic

Dim s s = "" ' Crea una cadena con la información necesaria. s = ScriptEngine & " versión " s = s & ScriptEngineMajorVersion & "." s = s & ScriptEngineMinorVersion & "." s = s & ScriptEngineBuildVersion ObtenerInfoScriptEngine = s ' Devuelve el resultado. End Function

Requisitos

Versión 2

Consulte también

Función ScriptEngine | Función ScriptEngineBuildVersion | Función ScriptEngineMinorVersion

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función ScriptEngineMinorVersion Devuelve el número de versión menor del motor de ejecución de secuencias de comandos en uso.

ScriptEngineMinorVersion

Observaciones

El valor de retorno corresponde exactamente a la información de versión contenida en el archivo DLL del lenguaje de ejecución de secuencias de comandos en uso.

El siguiente ejemplo utiliza la función ScriptEngineMinorVersion para devolver el número de versión menor del motor de ejecución de secuencias de comandos:

Function ObtenerInfoScriptEngine Dim s s = "" ' Crea una cadena con la información necesaria. s = ScriptEngine & " versión " s = s & ScriptEngineMajorVersion & "." s = s & ScriptEngineMinorVersion & "." s = s & ScriptEngineBuildVersion ObtenerInfoScriptEngine = s ' Devuelve el resultado. End Function

Requisitos

Visual Basic Scripting Edition

Página 146 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 147: Visual Basic

Versión 2

Consulte también

Función ScriptEngine | Función ScriptEngineBuildVersion | Función ScriptEngineMajorVersion

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función Second Devuelve un número entero entre 0 y 59, inclusive, que representa el segundo del minuto.

Second(tiempo)

El argumento tiempo es cualquier expresión que pueda representar el tiempo. Si tiempo contiene Null, se devuelve Null.

Observaciones

El siguiente ejemplo utiliza la función Second para devolver el segundo actual:

Dim MiSeg MiSeg = Second(Now) ' MiSeg contiene el número que representa el segundo actual.

Requisitos

Versión 1

Consulte también

Función Day | Función Hour | Función Minute | Función Now | Función Time

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Visual Basic Scripting Edition

Visual Basic Scripting Edition

Página 147 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 148: Visual Basic

Función SetLocale Establece la configuración regional global y devuelve la anterior.

SetLocale(lcid)

El argumento Idconfreg puede ser cualquier valor de 32 bits o cadena corta que identifique únicamente una configuración regional geográfica. Los valores reconocidos se pueden encontrar en el cuadro de Id. de configuración regional.

Observaciones

Si Idconfreg es cero, la configuración regional se establece de manera que coincida con la configuración actual del sistema.

Una configuración regional es un conjunto de información de preferencias del usuario que incluye su idioma, país o región y convenciones culturales. La configuración regional determina cosas como la apariencia del teclado, el orden de clasificación alfabética, así como los formatos de fecha, hora, número y moneda.

El siguiente ejemplo ilustra el uso de la función SetLocale. Para utilizar este código, pegue todo el ejemplo entre las etiquetas <BODY> de una página HTML estándar.

Escriba la fecha en formato para Reino Unido: <input type="text" id="UKDate" size="2Aquí 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 configuración regional actual configRegionalActual = GetLocale Sub Button1_onclick Dim original original = SetLocale("en-gb") mydate = CDate(UKDate.value) ' IE establece siempre la configuración regional como Inglés EE.UU., ' así pues, use la variable configRegionalActual para establecer la ' configuración regional como Inglés EE.UU. original = SetLocale(configRegionalActual) USDate.value = FormatDateTime(miFecha,vbShortDate) End Sub Sub button2_onclick Dim original original = SetLocale("de") miValor = CCur(GermanNumber.value) original = SetLocale("en-gb") USNumber.value = FormatCurrency(miValor) End Sub

Página 148 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 149: Visual Basic

</script>

Consulte también

Función GetLocale | Cuadro de Id. de configuración regional (LCID)

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función Sgn Devuelve un número entero que indica el signo de un número.

Sgn(número)

El argumento número puede ser cualquier expresión numérica válida.

Valores de retorno

La función Sgn tiene los siguientes valores de retorno:

Observaciones

El signo del argumento número determina el valor de retorno de la función Sgn.

El siguiente ejemplo utiliza la función Sgn para determinar el signo de un número:

Dim MiVar1, MiVar2, MiVar3, MiSigno MiVar1 = 12: MiVar2 = -2.4: MiVar3 = 0 MiSigno = Sgn(MiVar1) ' Devuelve 1. MiSigno = Sgn(MiVar2) ' Devuelve -1. MiSigno = Sgn(MiVar3) ' Devuelve 0.

Requisitos

Versión 1

Visual Basic Scripting Edition

Si número es Sgn devuelveMayor que cero1Igual que cero 0Menor que cero -1

Página 149 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 150: Visual Basic

Consulte también

Función Abs

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función Sin Devuelve el seno de un ángulo.

Sin(número)

El argumento número puede ser cualquier expresión numérica válida que expresa un ángulo en radianes.

Observaciones

La función Sin toma un ángulo y devuelve la razón de dos lados de un triángulo recto. La razón es el ángulo dividido por la longitud de la hipotenusa. El resultado está en el intervalo entre -1 y 1.

Para convertir grados en radianes, multiplique los radianes por pi /180. Para convertir los radianes en grados, multiplique los radianes por 180/pi.

El siguiente ejemplo utiliza la función Sin para devolver el seno de un ángulo:

Dim MiAngulo, MiCosecante MiAngulo = 1.3 ' Define el ángulo en radianes. MiCosecante = 1 / Sin(MiAngulo) ' Calcula la cosecante.

Requisitos

Versión 1

Consulte también

Función Atn | Función Cos | Funciones matemáticas derivadas | Función Tan

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Visual Basic Scripting Edition

Página 150 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 151: Visual Basic

Función Space Devuelve una cadena formada por el número de espacios especificado.

Space(número)

El argumento número es el número de espacios que desea que tenga la cadena.

Observaciones

El siguiente ejemplo utiliza la función Space para devolver una cadena formada por un número de espacios especificado:

Dim MiCadena MiCadena = Space(10) ' Devuelve una cadena con 10 espacios. MiCadena = "Hola" & Space(10) & "a todos" ' Inserta 10 espacios entre dos cadenas.

Requisitos

Versión 1

Consulte también

Función String

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función Split Devuelve una matriz unidimensional con base cero que contiene un número de subcadenas especificado.

Split(expresión[, delimitador[, número[, comparar]]])

Argumentos

expresión Necesario. Expresión de cadena que contiene subcadenas y delimitadores. Si expresión es una cadena de longitud cero, Split devuelve una matriz vacía, es decir, una matriz sin elementos ni datos.

Visual Basic Scripting Edition

Visual Basic Scripting Edition

Página 151 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 152: Visual Basic

delimitador Opcional. Carácter de cadena utilizado para identificar límites de subcadenas. Si se omite, se supone que el carácter de espacio (" ") es el delimitador. Si delimitador es una cadena de longitud cero, se devuelve una matriz de elemento único que contiene la cadena expresión completa.

número Opcional. Número de subcadenas que se va a devolver; -1 indica que se devuelven todas las subcadenas.

comparar Opcional. Valor numérico que indica el tipo de comparación que se va a utilizar cuando se evalúen subcadenas. Consulte la sección Valores para ver los valores.

Valores

El argumento comparar puede tener los siguientes valores:

Observaciones

El siguiente ejemplo utiliza la función Split para devolver una matriz de una cadena. La función realiza una comparación textual del delimitador y devuelve todas las subcadenas.

Dim MiCadena, MiMatriz, Msj MiCadena = "VBScriptXisXfun!" MiMatriz = Split(MiCadena, "x", -1, 1) ' MiMatriz(0) contiene "¡Qué divertido". ' MiMatriz(1) contiene "es". ' MiMatriz(2) contiene "VBScript!". Msj = MiMatriz(0) & " " & MiMatriz(1) Msj = Msj & " " & MiMatriz(2) MsgBox Msj

Requisitos

Versión 2

Consulte también

Función Join

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Constante Valor DescripciónvbBinaryCompare0 Realiza una comparación binaria.vbTextCompare 1 Realiza una comparación textual.

Visual Basic Scripting Edition

Página 152 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 153: Visual Basic

Función Sqr Devuelve la raíz cuadrada de un número.

Sqr(número)

El argumento número puede ser cualquier expresión numérica válida mayor o igual que 0.

Observaciones

El siguiente ejemplo utiliza la función Sqr para calcular la raíz cuadrada de un número:

Dim MiSqr MiSqr = Sqr(4) ' Devuelve 2. MiSqr = Sqr(23) ' Devuelve 4,79583152331272. MiSqr = Sqr(0) ' Devuelve 0. MiSqr = Sqr(-4) ' Genera un error en tiempo de ejecución.

Requisitos

Versión 1

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función StrComp Devuelve un valor que indica el resultado de una comparación de cadena.

StrComp(cadena1, cadena2[, comparar])

Argumentos

cadena1 Necesario. Cualquier expresión de cadena válida.

cadena2 Necesario. Cualquier expresión de cadena válida.

comparar Opcional. Valor numérico que indica el tipo de comparación que se va a utilizar cuando se evalúen cadenas. Si se omite, se realiza una comparación binaria. Consulte la sección Valores para ver los valores.

Valores

Visual Basic Scripting Edition

Página 153 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 154: Visual Basic

El argumento comparar puede tener los siguientes valores:

Valores de retorno

La función StrComp tiene los siguientes valores de retorno:

Observaciones

El siguiente ejemplo utiliza la función StrComp para devolver el resultado de una comparación de cadena. Si el tercer argumento es 1, se realiza una comparación textual; si el tercer argumento es 0 o se omite, se realiza una comparación binaria.

Dim MiCdn1, MiCdn2, MiComp MiCdn1 = "ABCD": MiCdn2 = "abcd" ' Define variables. MiComp = StrComp(MiCdn1, MiCdn2, 1) ' Devuelve 0. MiComp = StrComp(MiCdn1, MiCdn2, 0) ' Devuelve -1. MiComp = StrComp(MiCdn2, MiCdn1) ' Devuelve 1.

Requisitos

Versión 1

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función String Devuelve una cadena de caracteres repetidos con la longitud especificada.

String(número, carácter)

Argumentos

Constante Valor DescripciónvbBinaryCompare0 Realiza una comparación binaria.vbTextCompare 1 Realiza una comparación textual.

Si StrComp devuelvecadena1 es menor que cadena2 -1cadena1 es igual que cadena2 0cadena1 es mayor que cadena2 1cadena1 o cadena2 es Null Null

Visual Basic Scripting Edition

Página 154 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 155: Visual Basic

número Longitud de la cadena de retorno. Si número contiene Null, se devuelve Null.

carácter Código de carácter que especifica el carácter o expresión de cadena cuyo primer carácter se utiliza para construir la cadena de retorno. Si carácter contiene Null, se devuelve Null.

Observaciones

Si especifica un número para carácter mayor que 255, String convierte el número en un código de carácter válido mediante la fórmula:

carácter Mod 256

El siguiente ejemplo utiliza la función String para devolver cadenas de caracteres repetidos con la longitud especificada:

Dim MiCadena MiCadena = String(5, "*") ' Devuelve "*****". MiCadena = String(5, 42) ' Devuelve "*****". MiCadena = String(10, "ABC") ' Devuelve "AAAAAAAAAA".

Requisitos

Versión 1

Consulte también

Función Space

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función StrReverse Devuelve una cadena en la que se invierte el orden de caracteres de una cadena especificada.

StrReverse(cadena1)

El argumento cadena1 es la cadena cuyos caracteres se van a invertir. Si cadena1 es una cadena de longitud cero (""), se devuelve una cadena de longitud cero. Si cadena1 es Null, se produce un error.

Observaciones

Visual Basic Scripting Edition

Página 155 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 156: Visual Basic

El siguiente ejemplo utiliza la función StrReverse para devolver una cadena en orden inverso:

Dim MiCdn MiCdn = StrReverse("VBScript") ' MiCdn contiene "tpircSBV".

Requisitos

Versión 2

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función Tan Devuelve la tangente de un ángulo.

Tan(número)

El argumento número puede ser cualquier expresión numérica válida que exprese un ángulo en radianes.

Observaciones

Tan toma un ángulo y devuelve la razón de dos lados de un triángulo recto. La razón es la longitud del lado opuesto al ángulo dividido por el lado adyacente al ángulo.

Para convertir grados en radianes, multiplique los grados por pi /180. Para convertir los radianes en grados, multiplique los radianes por 180/pi.

El siguiente ejemplo utiliza la función Tan para devolver la tangente de un ángulo:

Dim MiAngulo, MiCotangente MiAngulo = 1.3 ' Define un ángulo en radianes. MiCotangente = 1 / Tan(MiAngulo) ' Calcula la cotangente.

Requisitos

Versión 1

Consulte también

Función Atn | Función Cos | Funciones matemáticas derivadas | Función Sin

Visual Basic Scripting Edition

Página 156 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 157: Visual Basic

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

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

Time

Observaciones

El siguiente ejemplo utiliza la función Time para devolver la hora actual del sistema:

Dim MiHora MiHora = Time ' Devuelve la hora actual del sistema.

Requisitos

Versión 1

Consulte también

Función Date

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función Timer Devuelve el número de segundos que han pasado desde las 12:00 a.m. (medianoche).

Timer

Observaciones

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

Visual Basic Scripting Edition

Visual Basic Scripting Edition

Página 157 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 158: Visual Basic

Function TimeIt(N) Dim HoraInicio, HoraFin HoraInicio = Timer For I = 1 To N Next HoraFin = Timer TimeIt = HoraFin - HoraInicio End Function

Requisitos

Versión 5

Consulte también

Instrucción Randomize

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función TimeSerial Devuelve un tipo Variant de subtipo Date que contiene una hora compuesta por una hora, minuto y segundo específicos.

TimeSerial(hora, minuto, segundo)

Argumentos

hora Número entre 0 (12:00 a.m.) y 23 (11:00 p.m.), inclusive, o una expresión numérica.

minuto Cualquier expresión numérica.

segundo Cualquier expresión numérica.

Observaciones

Para especificar una hora, como 11:59:59, el intervalo de números para cada argumento TimeSerial debe estar en el intervalo aceptado para la unidad; es decir, 0–23 para horas y 0–59 para minutos y segundos. Sin embargo, también puede especificar horas relativas para cada argumento mediante cualquier expresión numérica que represente un número de horas, minutos o segundos antes o después de un período determinado.

Visual Basic Scripting Edition

Página 158 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 159: Visual Basic

El siguiente ejemplo utiliza expresiones en lugar de números de hora absolutos. La función TimeSerial devuelve una hora para 15 minutos antes (-15) de seis horas antes de la tarde (12 - 6), es decir, 5:45:00 a.m.

Dim MiHora1 MiHora1 = TimeSerial(12 - 6, -15, 0) ' Devuelve 5:45:00 AM.

Cuando cualquier argumento sobrepasa el intervalo aceptado para dicho argumento, se aumenta hasta la siguiente unidad mayor apropiada. Por ejemplo, si especifica 75 minutos, se evalúa como una hora y 15 minutos. Sin embargo, si cualquier argumento simple está fuera del intervalo de -32.768 a 32.767, o si la hora especificada por los tres argumentos, directamente o por expresión, hace que la fecha quede fuera del intervalo aceptable de fechas, se produce un error.

Requisitos

Versión 1

Consulte también

Función DateSerial | Función DateValue | Función Hour | Función Minute | Función Now | Función Second | Función TimeValue

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función TimeValue Devuelve un tipo Variant de subtipo Date que contiene la hora.

TimeValue(hora)

El argumento hora es normalmente una expresión de cadena que representa una hora desde las 0:00:00 (12:00:00 a.m.) a las 23:59:59 (11:59:59 p.m.), inclusive. Sin embargo, hora puede ser también cualquier expresión que represente una hora dentro de dicho intervalo. Si hora contiene Null, se devuelve Null.

Observaciones

Puede escribir horas válidas mediante un reloj de 12 o de 24 horas. Por ejemplo, "2:24PM" y "14:24" son argumentos válidos de hora. Si el argumento hora contiene información de fecha, TimeValue no devuelve la información de fecha. Sin embargo, si hora incluye información de fecha no válida, se produce un error.

Visual Basic Scripting Edition

Página 159 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 160: Visual Basic

El siguiente ejemplo utiliza la función TimeValue para convertir una cadena en una hora. También puede utilizar literales de fecha para asignar directamente una hora a un tipo Variant (por ejemplo, MiHora = #4:35:17 PM#).

Dim MiHora MiHora = TimeValue("4:35:17 PM") ' MiHora contiene 4:35:17 PM.

Requisitos

Versión 1

Consulte también

Función DateSerial | Función DateValue | Función Hour | Función Minute | Función Now | Función Second | Función TimeSerial

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función TypeName Devuelve una cadena que proporciona información del subtipo del tipo Variant de una variable.

TypeName(variable)

El argumento variable necesario puede ser cualquier variable.

Valores de retorno

La función TypeName tiene los siguientes valores de retorno:

Visual Basic Scripting Edition

Valor DescripciónByte Valor byteInteger Valor enteroLong Valor de número entero largoSingle Valor de punto flotante de precisión simpleDouble Valor de punto flotante de precisión dobleCurrency Valor de monedaDecimal Valor decimalDate Valor de fecha u horaString Valor de cadena de caracteresBoolean Valor booleano: True (verdadero) o False (falso)

Página 160 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 161: Visual Basic

Observaciones

El siguiente ejemplo utiliza la función TypeName para devolver información acerca de una variable:

Dim VarMatriz(4), MiTipo NullVar = Null ' Asigna valor Null. MiTipo = TypeName("VBScript") ' Devuelve "String". MiTipo = TypeName(4) ' Devuelve "Integer". MiTipo = TypeName(37.50) ' Devuelve"Double". MiTipo = TypeName(NullVar) ' Devuelve "Null". MiTipo = TypeName(VarMatriz) ' Devuelve "Variant()".

Requisitos

Versión 2

Consulte también

Función IsArray | Función IsDate | Función IsEmpty | Función IsNull | Función IsNumeric | Función IsObject | Función VarType

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función UBound Devuelve el subíndice más largo disponible para la dimensión indicada de una matriz.

UBound(matriz[, dimensión])

Argumentos

matriz Necesario. Nombre de la variable de matriz. Sigue las convenciones de nomenclatura estándar de

Empty Sin inicializarNull Datos no válidos<object type> Nombre de tipo real de un objetoObject Objeto genéricoUnknown Tipo de objeto desconocidoNothing Variable de objeto que aún no hace referencia a una instancia de objetoError Error

Visual Basic Scripting Edition

Página 161 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 162: Visual Basic

las variables. dimensión

Opcional. Número entero que indica qué límite superior de la dimensión se devuelve. Utilice 1 para la primera dimensión, 2 para la segunda y así sucesivamente. Si se omite dimensión, se toma 1.

Observaciones

La función UBound se utiliza con la función LBound para determinar el tamaño de una matriz. Utilice la función LBound para buscar el límite de la dimensión de una matriz.

El límite inferior para cualquier dimensión es siempre 0. Como resultado, UBound devuelve los siguientes valores para una matriz con estas dimensiones:

Dim A(100,3,4)

Requisitos

Versión 1

Consulte también

Instrucción Dim | Función LBound | Instrucción ReDim

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función UCase Devuelve una cadena que se ha convertido en mayúsculas.

UCase(cadena)

El argumento cadena es cualquier expresión de cadena válida. Si cadena contiene Null, se devuelve Null.

Observaciones

Instrucción Valor de retornoUBound(A, 1) 100UBound(A, 2) 3UBound(A, 3) 4

Visual Basic Scripting Edition

Página 162 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 163: Visual Basic

Sólo las letras minúsculas se convierten en mayúsculas; todas la letras mayúsculas y caracteres sin letra permanecen inalteradas.

El siguiente ejemplo utiliza la función UCase para devolver una cadena en mayúsculas:

Dim MiPalabra MiPalabra = UCase("Hola a todos") ' Devuelve "HOLA A TODOS".

Requisitos

Versión 1

Consulte también

Función LCase

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función VarType Devuelve un valor que indica el subtipo de una variable.

VarType(variable)

El argumento variable puede ser cualquier variable.

Valores de retorno

La función VarType devuelve los siguientes valores:

Visual Basic Scripting Edition

Constante Valor DescripciónvbEmpty 0 Empty (sin inicializar)vbNull 1 Null (datos no válidos)vbInteger 2 EnterovbLong 3 Número entero largovbSingle 4 Número de punto flotante de precisión simplevbDouble 5 Número de punto flotante de precisión doblevbCurrency 6 MonedavbDate 7 FechavbString 8 CadenavbObject 9 Objeto de automatización

Página 163 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 164: Visual Basic

Nota Estas constantes las especifica VBScript. Por ello, pueden usarse los nombres en cualquier parte de su código en lugar de los valores reales.

Observaciones

La función VarType nunca devuelve el valor para la matriz por sí solo. Se agrega siempre a algún otro valor para indicar una cadena de un tipo concreto. El valor para Variant sólo se devuelve cuando se ha agregado al valor para Matriz para indicar que el argumento a la función VarType es una matriz. Por ejemplo, el valor devuelto por una matriz de enteros se calcula como 2 + 8192, o 8194. Si un objeto tiene una propiedad predeterminada, VarType (objeto) devuelve el tipo de la propiedad predeterminada.

El siguiente ejemplo utiliza la función VarType para determinar el subtipo de una variable.

Dim MiComprobacion MiComprobacion = VarType(300) ' Devuelve 2. MiComprobacion = VarType(#10/19/62#) ' Devuelve 7. MiComprobacion = VarType("VBScript") ' Devuelve 8.

Requisitos

Versión 1

Consulte también

Función IsArray | Función IsDate | Función IsEmpty | Función IsNull | Función IsNumeric | Función IsObject | Función TypeName

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función Weekday Devuelve un número entero que representa el día de la semana.

Weekday(fecha, [primerdíadelasemana])

vbError 10 ErrorvbBoolean 11 BooleanovbVariant 12 Variant (usada sólo con matrices de tipo Variant)vbDataObject13 Un objeto de acceso de datosvbByte 17 BytevbArray 8192 Matriz

Visual Basic Scripting Edition

Página 164 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 165: Visual Basic

Argumentos

fecha Cualquier expresión que pueda representar una fecha. Si fecha contiene Null, se devuelve Null.

primerdíadelasemana Una constante que especifica el primer día de la semana. Si se omite, se toma vbSunday.

Valores

El argumento primerdíadelasemana tiene estos valores:

Valores de retorno

La función Weekday puede devolver cualquiera de estos valores:

Observaciones

El siguiente ejemplo utiliza la función Weekday para obtener el día de la semana de una fecha especificada:

Dim MiFecha, MiDiaSemana MiFecha = #19 de octubre de 1962# ' Asigna una fecha. MiDiaSemana = Weekday(MiFecha) ' MiDiaSemana contiene 6 porque MiFecha repres

Requisitos

Versión 1

Consulte también

Constante Valor DescripciónvbUseSystemDayOfWeek0 Usa valores de API de idioma nacional (NLS).vbSunday 1 domingovbMonday 2 lunesvbTuesday 3 martesvbWednesday 4 miércolesvbThursday 5 juevesvbFriday 6 viernesvbSaturday 7 sábado

Constante Valor DescripciónvbSunday 1 domingovbMonday 2 lunesvbTuesday 3 martesvbWednesday 4 miércolesvbThursday 5 juevesvbFriday 6 viernesvbSaturday 7 sábado

Página 165 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 166: Visual Basic

Función Date | Función Day | Función Month | Función Now | Función Year

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función WeekdayName Devuelve una cadena que indica el día de la semana especificado.

WeekdayName(díadelasemana, abreviatura, primerdíadelasemana)

Argumentos

díadelasemana Necesario. La designación numérica para el día de la semana. El valor numérico de cada día depende de la configuración del primerdíadelasemana.

abreviatura Opcional. Valor de tipo booleano que indica si el nombre del día de la semana se va a abreviar. Si se omite, el valor predeterminado es False, lo que significa que el nombre del día de la semana no se abrevia.

primerdíadelasemana Opcional. Valor numérico que indica el primer día de la semana. Consulte la sección Valores para ver los valores.

Valores

El argumento primerdíadelasemana puede tener los siguientes valores:

Observaciones

El siguiente ejemplo utiliza la función WeekDayName para devolver el día especificado:

Visual Basic Scripting Edition

Constante Valores DescripciónvbUseSystemDayOfWeek0 Usa valores de API de idioma nacional (NLS).vbSunday 1 domingo (valor predeterminado)vbMonday 2 lunesvbTuesday 3 martesvbWednesday 4 miércolesvbThursday 5 juevesvbFriday 6 viernesvbSaturday 7 sábado

Página 166 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 167: Visual Basic

Dim MiFecha MiFecha = WeekDayName(6, True) ' MiFecha contiene viernes.

Requisitos

Versión 2

Consulte también

Función MonthName

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Función Year Devuelve un número entero que representa el año.

Year(fecha)

El argumento fecha es cualquier expresión que pueda representar una fecha. Si fecha contiene Null, se devuelve Null.

Observaciones

El siguiente ejemplo utiliza la función Year para obtener el año a partir de una fecha especificada:

Dim MiFecha, MiAño MiFecha = #19 de octubre de 1962# ' Asigna una fecha. MiAño = Year(MiFecha) ' MiAño contiene 1962.

Requisitos

Versión 1

Consulte también

Función Date | Función Day | Función Month | Función Now | Función Weekday

© 2001 Microsoft Corporation. Reservados todos los derechos.

Visual Basic Scripting Edition

Página 167 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 168: Visual Basic

Build: Versión de tema 5.6.9309.1546

Palabras claves de VBScript Empty

False

Nothing

Null

True

Secciones relacionadas

Referencia del lenguaje VBScript

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Empty La palabra clave Empty se utiliza para indicar un valor de variable no inicializada. No es igual que Null.

Consulte también

Null

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Visual Basic Scripting Edition

Visual Basic Scripting Edition

Visual Basic Scripting Edition

Página 168 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 169: Visual Basic

False La palabra clave False tiene un valor igual a 0.

Consulte también

True

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Nothing La palabra clave Nothing en VBScript se utiliza para disociar una variable de objeto de cualquier objeto real. Utilice la sentencia Set para asignar Nothing a una variable de objeto. Por ejemplo:

Set MiObjeto = Nothing

Diversas variables de objeto pueden hacer referencia al mismo objeto real. Cuando se asigna Nothing a una variable de objeto, dicha variable ya no hace referencia a ningún objeto real. Cuando varias variables de objeto hacen referencia al mismo objeto, la memoria y los recursos del sistema asociados con el objeto al que se refiere la variable se liberan sólo después de que todos ellos se han establecido como Nothing, o bien explícitamente mediante Set, o implícitamente después de que la última variable de objeto establecida como Nothing se salga del ámbito.

Consulte también

Instrucción Dim | Instrucción Set

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Null La palabra clave Null se utiliza para indicar que una variable contiene datos que no son válidos. No es

Visual Basic Scripting Edition

Visual Basic Scripting Edition

Página 169 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 170: Visual Basic

igual que Empty.

Consulte también

Empty

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

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

Consulte también

False

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Métodos En esta sección

Método Clear

Método Execute

Método Raise

Método Replace

Método Test

Secciones relacionadas

Visual Basic Scripting Edition

Visual Basic Scripting Edition

Página 170 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 171: Visual Basic

Referencia del lenguaje VBScript

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Método Clear Borra toda la configuración de propiedades del objeto Err.

objeto.Clear

El objeto es siempre el objeto Err.

Observaciones

Utilice Clear para borrar de manera explícita el objeto Err después de que se haya controlado un error. Esto es necesario, por ejemplo, cuando utiliza el control diferido de errores con On Error Resume Next. VBScript llama al método Clear automáticamente siempre que se ejecuta cualquiera de las siguientes instrucciones:

On Error Resume Next Exit Sub Exit Function

El siguiente ejemplo ilustra el uso del método Clear.

On Error Resume Next Err.Raise 6 ' Emite un error de desbordamiento. MsgBox ("Error # " & CStr(Err.Number) & " " & Err.Description) Err.Clear ' Borra el error.

Requisitos

Versión 1

Consulte también

Propiedad Description | Objeto Err | Propiedad Number | Instrucción OnError | Método Raise | Propiedad Source

Se aplica a: Objeto Err

Visual Basic Scripting Edition

Página 171 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 172: Visual Basic

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Método Execute Ejecuta la búsqueda de una expresión regular en una cadena especificada.

objeto.Execute(cadena)

Argumentos

objeto Necesario. Siempre el nombre de un objeto RegExp.

cadena Necesario. La cadena de texto sobre la que se ejecuta la expresión regular.

Observaciones

El modelo real para la búsqueda de la expresión regular se establece con la propiedad Pattern del objeto RegExp.

El método Execute devuelve un conjunto de Coincidencias que contiene un objeto Match para cada coincidencia encontrada en la cadena. Execute devuelve un conjunto vacío de Coincidencias si no se encuentra ninguno.

La siguiente porción de código ilustra el uso del método Execute:

Function RegExpTest(patrn, strng) Dim regEx, Match, Matches ' Crea una variable. Set regEx = New RegExp ' Crea una expresión regular. regEx.Pattern = patrn ' Establece un modelo. regEx.IgnoreCase = True ' Establece la no distinción de mayúsculas y minú regEx.Global = True ' Establece la aplicabilidad global. Set Matches = regEx.Execute(strng) ' Ejecuta la búsqueda. For Each Match in Matches ' Repite el conjunto de coincidencias. RetStr = RetStr & "Coincidencia encontrada en la posición " RetStr = RetStr & Match.FirstIndex & ". El valor de la coincidencia es '" RetStr = RetStr & Match.Value & "'." & vbCRLF Next RegExpTest = RetStr End Function MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))

Requisitos

Versión 5

Visual Basic Scripting Edition

Página 172 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 173: Visual Basic

Consulte también

Método Replace | Método Test

Se aplica a: Objeto Regular Expression (RegExp)

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Método Raise Genera un error en tiempo de ejecución.

objeto.Raise(número, origen, descripción, archivoayuda, contextodeayuda)

Argumentos

objeto Siempre el objeto Err.

número Un subtipo de número entero Long que identifica la naturaleza del error. Los errores de VBScript (tanto los errores definidos por VBScript como los definidos por el usuario) están en el intervalo 0–65535.

origen Una expresión de cadena que da nombre al objeto o la aplicación que originalmente generó el error. Cuando se configura esta propiedad para un objeto automatizado, utilice la forma proyecto.clase. Si no se especifica nada, se utiliza el Id. programático deI proyecto VBScript actual.

descripción Una expresión de cadena que describe el error. Si no se especifica, se examina el valor en número. Si se puede controlar un código de error en tiempo de ejecución de VBScript, se utiliza una cadena proporcionada por VBScript como descripción. Si no existe ningún código de error de VBScript que corresponda a número, se utiliza un mensaje de error genérico.

archivoayuda La ruta completa al archivo de Ayuda en el que se puede encontrar ayuda para este error. Si no se especifica, VBScript utiliza la unidad, ruta y nombre de archivo completo del archivo de Ayuda de VBScript.

contextodeayuda El Id. de contexto que identifica un tema dentro del archivoayuda que proporciona ayuda para el error. Si se omite, se utiliza el Id. de contexto del archivo de Ayuda de VBScript para el error correspondiente a la propiedad de número, si existe.

Valores

Visual Basic Scripting Edition

Página 173 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 174: Visual Basic

Todos los argumentos son opcionales excepto número. Si utiliza Raise, sin embargo, sin especificar algunos argumentos, y la configuración de la propiedad del objeto Err contiene valores que no se han borrado, dichos valores se convierten en los valores para su error.

Cuando se configura la propiedad número como su propio código de error en un Objeto de automatización, usted agrega su número de código de error a la constante vbObjectError. Por ejemplo, para generar el número de error 1050, asigne vbObjectError + 1050 a la propiedad número.

El siguiente ejemplo ilustra el uso del método Raise.

On Error Resume Next Err.Raise 6 ' Emite un error de desbordamiento. MsgBox ("Error # " & CStr(Err.Number) & " " & Err.Description) Err.Clear ' Borra el error.

Requisitos

Versión 1

Consulte también

Método Clear | Propiedad Description | Objeto Err | Propiedad Number | Propiedad Source

Se aplica a: Objeto Err

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Método Replace Reemplaza el texto encontrado en la búsqueda de una expresión normal.

objeto.Replace(cadena1, cadena2)

Argumentos

objeto Necesario. Siempre el nombre de un objeto RegExp.

cadena1 Necesario. Cadena1 es la cadena de texto en la que se producirá el reemplazo de texto.

cadena2 Necesario. Cadena2 es la cadena de texto de reemplazo.

Visual Basic Scripting Edition

Página 174 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 175: Visual Basic

Observaciones

El modelo actual para el texto que se reemplaza se configura con la propiedad Pattern del objeto RegExp.

El método Replace devuelve una copia de la cadena1 con el texto de RegExp.Pattern reemplazado con la cadena2. Si no se encuentra ninguna coincidencia, se devuelve una copia de la cadena1 inalterada.

La siguiente porción de código ilustra el uso del método Replace.

Function ReplaceTest(patrn, replStr) Dim regEx, str1 ' Crea algunas variables. str1 = "El veloz murciélago hindú comía feliz cardillo y kiwi." Set regEx = New RegExp ' Crea una expresión regular. regEx.Pattern = patrn ' Establece el modelo. regEx.IgnoreCase = True ' Hace distinción entre mayúsculas y minúscula ReplaceTest = regEx.Replace(str1, replStr) ' Realiza el reemplazo. End Function MsgBox(ReplaceTest("murciélago", "gato")) ' Reemplaza 'murciélago' por 'gato'.

Además, el método Replace puede reemplazar subexpresiones en el modelo. La siguiente llamada a la función mostrada en el ejemplo anterior intercambia cada pareja de palabras en la cadena original:

MsgBox(ReplaceText("(\S+)(\s+)(\S+)", "$3$2$1")) ' Intercambia parejas de palabras

Requisitos

Versión 5

Consulte también

Método Execute | Método Test

Se aplica a: Objeto Regular Expression (RegExp)

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Método Test Ejecuta la búsqueda de una expresión regular en una cadena específica y devuelve un valor booleano que indica si se encontró un modelo coincidente.

Visual Basic Scripting Edition

Página 175 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 176: Visual Basic

objeto.Test(cadena)

Argumentos

objeto Necesario. Siempre el nombre de un objeto RegExp.

cadena Necesario. La cadena de texto sobre la que se ejecuta la expresión regular.

Observaciones

El modelo real para la búsqueda de la expresión regular se establece mediante la propiedad Pattern del objeto RegExp. La propiedad RegExp.Global no tiene efecto sobre el método Test.

El método Test devuelve True si se encuentra un modelo coincidente y si no es así, False.

La siguiente porción de código ilustra el uso del método Test.

Function RegExpTest(patrn, strng) Dim regEx, retVal ' Crea una variable. Set regEx = New RegExp ' Crea una expresión regular. regEx.Pattern = patrn ' Configura el modelo. regEx.IgnoreCase = False ' Establece la distinción entre mayúsculas y minúsc retVal = regEx.Test(strng) ' Ejecuta la prueba de búsqueda. If retVal Then RegExpTest = "Se encontró una o varias coincidencias." Else RegExpTest = "No se encontró ninguna coincidencia." End If End Function MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))

Requisitos

Versión 5

Consulte también

Método Execute | Método Replace

Se aplica a: Objeto Regular Expression (RegExp)

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Visual Basic Scripting Edition

Página 176 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 177: Visual Basic

Varios En esta sección

Juego de caracteres (0 - 127)

Juego de caracteres (128 - 255)

Cuadro de Id. de configuración regional (LCID)

Secciones relacionadas

Referencia del lenguaje VBScript

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Juego de caracteres (0 - 127) La siguiente tabla muestra del 0 al 127.

Visual Basic Scripting Edition

Código Carácter Código Carácter Código Carácter Código Carácter0 32 [espacio] 64 @ 96 `1 33 ! 65 A 97 a2 34 " 66 B 98 b3 35 # 67 C 99 c4 36 $ 68 D 100 d5 37 % 69 E 101 e6 38 & 70 F 102 f7 39 ' 71 G 103 g8 ** 40 ( 72 H 104 h9 ** 41 ) 73 I 105 i10 ** 42 * 74 J 106 j11 43 + 75 K 107 k12 44 , 76 L 108 l13 ** 45 - 77 M 109 m14 46 . 78 N 110 n15 _ 47 / 79 O 111 o16 _ 48 0 80 P 112 p17 _ 49 1 81 Q 113 q

Página 177 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 178: Visual Basic

** Los valores 8, 9, 10 y 13 se convierten en caracteres de retroceso, tabulación, avance de línea y retorno de carro, respectivamente. No tienen representación gráfica, pero según la aplicación, pueden afectar a la aparencia visual del texto.

� No admitido en la plataforma actual.

Consulte también

Juego de caracteres (128 - 255)

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Juego de caracteres (128 - 255) La siguiente tabla muestra del 128 al 255.

18 _ 50 2 82 R 114 r19 _ 51 3 83 S 115 s20 _ 52 4 84 T 116 t21 _ 53 5 85 U 117 u22 _ 54 6 86 V 118 v23 _ 55 7 87 W 119 w24 _ 56 8 88 X 120 x25 _ 57 9 89 Y 121 y26 _ 58 : 90 Z 122 z27 _ 59 ; 91 [ 123 {28 " 60 < 92 \ 124 |29 " 61 = 93 ] 125 }30 - 62 > 94 ^ 126 ~31 63 ? 95 _ 127 �

Visual Basic Scripting Edition

Código Carácter Código Carácter Código Carácter Código Carácter128 € 160 [espacio] 192 À 224 à129 � 161 ¡ 193 Á 225 á130 ‚ 162 ¢ 194 Â 226 â131 ƒ 163 £ 195 Ã 227 ã132 ‚‚ 164 ¤ 196 Ä 228 ä133 … 165 ¥ 197 Å 229 å134 † 166 ¦ 198 Æ 230 æ135 ‡ 167 § 199 Ç 231 ç

Página 178 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 179: Visual Basic

� No admitido en la plataforma actual.

Consulte también

Juego de caracteres (0 - 127)

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Cuadro de Id. de configuración regional (LCID) La siguiente tabla muestra los Id. de configuración regional (LCID).

136 ˆ 168 ¨ 200 È 231 ç137 ‰ 169 © 201 É 232 è138 Š 170 ª 202 Ê 233 é139 ‹ 171 ‹‹ 203 Ë 234 ê140 Œ 172 ¬ 204 Ì 235 ë141 � 173 205 Í 236 ì142 Ž 174 ® 206 Î 237 í143 � 175 ¯ 207 Ï 238 î144 � 176 ° 208 Ð 239 ï145 ' 177 ± 209 Ñ 240 ð146 ' 178 ² 210 Ò 241 ñ147 " 179 ³ 211 Ó 242 ò148 " 180 ´ 212 Ô 243 ó149 · 181 µ 213 Õ 244 ô150 – 182 ¶ 214 Ö 245 õ151 — 183 · 215 × 246 ö152 ˜ 184 ¸ 216 Ø 247 ÷153 ™ 185 ¹ 217 Ù 248 ø154 š 186 º 218 Ú 249 ù155 › 187 ›› 219 Û 250 ú156 œ 188 ¼ 220 Ü 251 û157 � 189 ½ 221 Ý 252 ü158 ž 190 ¾ 222 Þ 253 ý159 Ÿ 191 ¿ 223 ß 254 þ

Visual Basic Scripting Edition

Descripción de

Cadena corta

Valor hexadecimal

Valor decimal Descripción de

Cadena corta

Valor hexadecimal

Valor decimal

Página 179 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 180: Visual Basic

configuración regional

configuración regional

Afrikaans af 0x0436 1078 Islandés is 0x040F 1039Albanés sq 0x041C 1052 Indonesio in 0x040E 1038Árabe (Emiratos Árabes Unidos)

ar-ae 0x3801 14337 Italiano (Italia)

it 0x0410 1040

Árabe (Bahrain)

ar-bh 0x3C01 15361 Italiano (Suiza)

it-ch 0x0810 2064

Árabe (Argelia)

ar-dz 0x1401 5121 Japonés ja 0x0411 1041

Árabe (Egipto)

ar-eg 0x0C01 3073 Coreano ko 0x0412 1042

Árabe (Irak) ar-iq 0x0801 2049 Letón lv 0x0426 1062Árabe (Jordania)

ar-jo 0x2C01 11265 Lituano lt 0x0427 1063

Árabe (Kuwait)

ar-kw 0x3401 13313 Macedonio mk 0x042F 1071

Árabe (Líbano)

ar-lb 0x3001 12289 Malayo (Malasia)

ms-ml 0x043E 1086

Árabe (Libia) ar-ly 0x1001 4097 Malayo (Brunei)

ms-bn 0x083E 2110

Árabe (Marruecos)

ar-ma 0x1801 6145 Maltés mt 0x043A 1082

Árabe (Omán) ar-om 0x2001 8193 Marathi mr 0x044E 1102Árabe (Qatar) ar-qa 0x4001 16385 Noruego

(Bokmal)no-no 0x0414 1044

Árabe (Arabia Saudí)

ar-sa 0x0401 1025 Noruego (Nynorsk)

no-no 0x0814 2068

Árabe (Siria) ar-sy 0x2801 10241 Polaco pl 0x0415 1045Árabe (Túnez) ar-tn 0x1C01 7169 Portugués

(Portugal)pt 0x0816 2070

Árabe (Yemen)

ar-ye 0x2401 9217 Portugués (Brasil)

pt-br 0x0416 1046

Armenio hy 0x042B 1067 Retorromance rm 0x0417 1047Azerí (Latín) az-az 0x042C 1068 Rumano ro 0x0418 1048Azerí (Cirílico)

az-az 0x082C 2092 Rumano (Moldavia)

ro-mo 0x0818 2072

Vasco eu 0x042D 1069 Ruso ru 0x0419 1049Bielorruso be 0x0423 1059 Ruso

(Moldavia)ru-mo 0x0819 2073

Búlgaro bg 0x0402 1026 Sánscrito sa 0x044F 1103Catalán ca 0x0403 1027 Serbio

(Cirílico)sr-sp 0x0C1A 3098

Chino (China) zh-cn 0x0804 2052 Serbio (Latín) sr-sp 0x081A 2074Chino (Hong Kong S.A.R.)

zh-hk 0x0C04 3076 Setsuana tn 0x0432 1074

Página 180 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 181: Visual Basic

Chino (Macao Z.A.E.)

zh-mo 0x1404 5124 Esloveno sl 0x0424 1060

Chino (Singapur)

zh-sg 0x1004 4100 Eslovaco sk 0x041B 1051

Chino (Taiwan)

zh-tw 0x0404 1028 Serbio sb 0x042E 1070

Croata hr 0x041A 1050 Español (estándar)

es 0x040A 1034

Checo cs 0x0405 1029 Español (Argentina)

es-ar 0x2C0A 11274

Danés da 0x0406 1030 Español (Bolivia)

es-bo 0x400A 16394

Holandés nl 0x0413 1043 Español (Chile)

es-cl 0x340A 13322

Holandés (Bélgica)

nl-be 0x0813 2067 Español (Colombia)

es-co 0x240A 9226

Inglés (Australia)

en-au 0x0C09 3081 Español (Costa Rica)

es-cr 0x140A 5130

Inglés (Belice)

en-bz 0x2809 10249 Español (República Dominicana)

es-do 0x1C0A 7178

Inglés (Canadá)

en-ca 0x1009 4105 Español (Ecuador)

es-ec 0x300A 12298

Ingles (Caribe)

en-cb 0x2409 9222 Español (Guatemala)

es-gt 0x100A 4106

Inglés (Irlanda)

en-ie 0x1809 6153 Español (Honduras)

es-hn 0x480A 18442

Inglés (Jamaica)

en-jm 0x2009 8201 Español (México)

es-mx 0x080A 2058

Inglés (Nueva Zelanda)

en-nz 0x1409 5129 Español (Nicaragua)

es-ni 0x4C0A 19466

Inglés (Filipinas)

en-ph 0x3409 13321 Español (Panamá)

es-pa 0x180A 6154

Inglés (Sudáfrica)

en-za 0x1C09 7177 Español (Perú)

es-pe 0x280A 10250

Inglés (Trinidad)

en-tt 0x2C09 11273 Español (Puerto Rico)

es-pr 0x500A 20490

Inglés (Reino Unido)

en-gb 0x0809 2057 Español (Paraguay)

es-py 0x3C0A 15370

Inglés (Estados Unidos)

en-us 0x0409 1033 Español (El Salvador)

es-sv 0x440A 17418

Estonio et 0x0425 1061 Español (Uruguay)

es-uy 0x380A 14346

Farsi fa 0x0429 1065 Español (Venezuela)

es-ve 0x200A 8202

Finlandés fi 0x040B 1035 Sutu sx 0x0430 1072Faeroés fo 0x0438 1080 Swahili sw 0x0441 1089

Página 181 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 182: Visual Basic

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Objetos y colecciones En esta sección

Objeto Class

Objeto Err

Colección Matches

Francés (estándar)

fr 0x040C 1036 Sueco sv 0x041D 1053

Francés (Bélgica)

fr-be 0x080C 2060 Sueco (Finlandia)

sv-fi 0x081D 2077

Francés (Canadá)

fr-ca 0x0C0C 3084 Tamil ta 0x0449 1097

Francés (Luxemburgo)

fr-lu 0x140C 5132 Tatar tt 0x0444 1092

Francés (Suiza)

fr-ch 0x100C 4108 Tailandés th 0x041E 1054

Gaélico (Irlanda)

gd-ie 0x083C 2108 Turco tr 0x041F 1055

Gaélico (Escocia)

gd 0x043C 1084 Tsonga ts 0x0431 1073

Alemán (Alemania)

de 0x0407 1031 Ucraniano uk 0x0422 1058

Alemán (Austria)

de-at 0x0C07 3079 Urdú ur 0x0420 1056

Alemán (Lichtenstein)

de-li 0x1407 5127 Uzbek (cirílico)

uz-uz 0x0843 2115

Alemán (Luxemburgo)

de-lu 0x1007 4103 Uzbek (latino) uz-uz 0x0443 1091

Alemán (Suiza)

de-ch 0x0807 2055 Vietnamita vi 0x042A 1066

Griego el 0x0408 1032 Chosa xh 0x0434 1076Hebreo he 0x040D 1037 Yiddish ji 0x043D 1085Hindú hi 0x0439 1081 Zulú zu 0x0435 1077Húngaro hu 0x040E 1038

Visual Basic Scripting Edition

Página 182 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 183: Visual Basic

Objeto Match

Objeto Regular Expression (RegExp)

Colección SubMatches

Secciones relacionadas

Referencia del lenguaje VBScript

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Objeto Class El objeto creado mediante la instrucción Class. Proporciona acceso al evento de la clase.

Observaciones

No puede declarar explícitamente una variable como del tipo Class. En el contexto de VBScript, el término "class object" se refiere a cualquier objeto definido mediante la instrucción Class de VBScript.

Una vez que ha creado una definición de clase mediante la instrucción Class, puede crear una instancia de la clase de la siguiente forma:

Dim X Set X = New clase

Dado que VBScript es un lenguaje de enlace tardío, no puede realizar nada de lo siguiente:

Dim X as New clase

ni

Dim X X = New clase

ni

Set X = New Scripting.FileSystemObject

Eventos

Visual Basic Scripting Edition

Página 183 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 184: Visual Basic

Eventos del objeto Class

Requisitos

Versión 5

Consulte también

Instrucción Class | Instrucción Dim | Instrucción Set

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Eventos del objeto Class El objeto Class proporciona acceso a los eventos de la clase.

Eventos

Evento Initialize

Evento Terminate

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Colección Matches Colección de objetos Match de expresión regular.

Observaciones

Una colección Matches contiene objetos Match individuales y sólo se puede crear utilizando el método Execute del objeto RegExp. La única propiedad de la colección Matches es de sólo lectura, igual que las propiedades de objeto Match individuales.

Visual Basic Scripting Edition

Visual Basic Scripting Edition

Página 184 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 185: Visual Basic

Cuando se ejecuta una expresión regular, pueden resultar ninguno o más objetos Match. Cada objeto Match proporciona acceso a la cadena encontrada por la expresión regular, la longitud de la cadena y un índice de donde se encontró la coincidencia.

La siguiente porción de código ilustra cómo obtener una colección Matches de una búsqueda de expresión regular y cómo repetir la colección:

Function RegExpTest(modelo, cadena) Dim regEx, Match, Matches ' Crear variable. Set regEx = New RegExp ' Crear expresión regular. regEx.Pattern = modelo ' Establecer modelo. regEx.IgnoreCase = True ' No establecer distinción entre mayúsculas y minúscula regEx.Global = True ' Establecer aplicabilidad global. Set Matches = regEx.Execute(cadena) ' Ejecutar búsqueda. For Each Match in Matches ' Repetir colección Matches. RetStr = RetStr & "Coincidencia encontrada en posición " RetStr = RetStr & Match.FirstIndex & ". El valor de la coincidencia es '" RetStr = RetStr & Match.Value & "'." & vbCRLF Next RegExpTest = RetStr End Function MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))

Requisitos

Versión 1

Consulte también

Instrucción For Each...Next | Objeto Match | Objeto Regular Expression (RegExp) | Colección SubMatches

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Objeto Err Contiene información acerca de los errores en tiempo de ejecución. Acepta los métodos Raise y Clear para generar y borrar errores en tiempo de ejecución.

Observaciones

El objeto Err es un objeto intrínseco con ámbito global; no es necesario crear una instancia de él en su código. Las propiedades del objeto Err las establece el generador de un error (Visual Basic, un objeto de Automatización o el programador de VBScript).

Visual Basic Scripting Edition

Página 185 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 186: Visual Basic

La propiedad predeterminada del objeto Err es Number. Err.Number contiene un número entero y puede ser utilizado por un Objeto de automatización para devolver un SCODE.

Cuando se produce un error en tiempo de ejecución, las propiedades del objeto Err se llenan con información que identifica únicamente el error y la información que se puede utilizar para controlarlo. Para generar un error en tiempo de ejecución en su código, utilice el método Raise .

Las propiedades del objeto Err se restablecen como cero o como cadenas de longitud cero ("") después de una instrucción On Error Resume Next. El método Clear se puede utilizar para restablecer explícitamente Err.

El siguiente ejemplo ilustra el uso del objeto Err:

On Error Resume Next Err.Raise 6 ' Emite un error de desbordamiento. MsgBox ("Error nº " & CStr(Err.Number) & " " & Err.Description) Err.Clear ' Borra el error.

Propiedades y métodos

Métodos y propiedades del objeto Err

Requisitos

Versión 1

Consulte también

Instrucción On Error

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Métodos y propiedades del objeto Err El objeto Err contiene información sobre los errores en tiempo de ejecución.

Propiedades

Propiedad Description

Propiedad HelpContext

Visual Basic Scripting Edition

Página 186 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 187: Visual Basic

Propiedad HelpFile

Propiedad Number

Propiedad Source

Método

Método Clear

Método Raise

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Objeto Match Proporciona acceso a las propiedades de sólo lectura de una expresión regular coincidente.

Observaciones

Un objeto Match puede ser creado sólo mediante el método Execute del objeto RegExp, que devuelve una colección de objetos Match. Todas las propiedades del objeto Match son de sólo lectura.

Cuando se ejecuta una expresión regular, el resultado puede ser ninguno o varios objetos Match. Cada objeto Match proporciona acceso a la cadena encontrada por la expresión regular, a la longitud de la cadena y a un índice del lugar en que se encontró la coincidencia.

La siguiente porción de código ilustra el uso del objeto Match:

Function RegExpTest(modelo, cadena) Dim regEx, Match, Matches ' Crea una variable. Set regEx = New RegExp ' Crea una expresión regular. regEx.Pattern = modelo ' Establece el modelo. regEx.IgnoreCase = True ' Establece la no distinción entre mayúsculas y minúscu regEx.Global = True ' Establece la aplicabilidad global. Set Matches = regEx.Execute(cadena) ' Ejecuta la búsqueda. For Each Match in Matches ' Repite la colección de coincidencias. RetStr = RetStr & "Coincidencia " & I & " encontrada en la posición " RetStr = RetStr & Match.FirstIndex & ". El valor coincidente es "' RetStr = RetStr & Match.Value & "'." & vbCRLF Next RegExpTest = RetStr End Function MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))

Visual Basic Scripting Edition

Página 187 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 188: Visual Basic

Propiedades

Propiedades del objeto Match

Requisitos

Versión 5

Consulte también

Colección Matches | Objeto Regular Expression (RegExp) | Colección SubMatches

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Propiedades del objeto Match El objeto Match proporciona acceso a las propiedades de sólo lectura de lectura de una expresión regular coincidente.

Propiedades

Propiedad FirstIndex

Propiedad Length

Propiedad Value

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Objeto Regular Expression (RegExp) Proporciona la compatibilidad con expresiones regulares simples.

Visual Basic Scripting Edition

Visual Basic Scripting Edition

Página 188 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 189: Visual Basic

Observaciones

La siguiente porción de código ilustra el uso del objeto RegExp:

Function RegExpTest(modelo, cadena) Dim regEx, Match, Matches ' Crea una variable. Set regEx = New RegExp ' Crea una expresión regular. regEx.Pattern = modelo ' Establece el modelo. regEx.IgnoreCase = True ' Establece la no distinción entre mayúsculas y minúscu regEx.Global = True ' Establece la aplicabilidad global. Set Matches = regEx.Execute(cadena) ' Ejecuta la búsqueda. For Each Match in Matches ' Repite la colección de coincidencias. RetStr = RetStr & "Coincidencia encontrada en la posición " RetStr = RetStr & Match.FirstIndex & ". El valor coincidente es '" RetStr = RetStr & Match.Value & "'." & vbCRLF Next RegExpTest = RetStr End Function MsgBox(RegExpTest("is.", "IS1 is2 IS3 is4"))

Propiedades y métodos

Métodos y propiedades del objeto Regular Expression

Requisitos

Versión 5

Consulte también

Objeto Match | Colección Matches

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Métodos y propiedades del objeto Regular Expression El objeto Regular Expression proporciona la compatibilidad con expresiones regulares simples

Propiedades

Propiedad Global

Visual Basic Scripting Edition

Página 189 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 190: Visual Basic

Propiedad IgnoreCase

Propiedad Pattern

Métodos

Método Execute

Método Replace

Método Test

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Colección SubMatches Colección de cadenas que son subcoincidencias de una expresión regular.

Observaciones

Una colección SubMatches contiene cadenas de subcoincidencias individuales, y sólo se puede crear utilizando el método Execute del objeto RegExp. Las propiedades de la colección SubMatches son de sólo lectura.

Cuando se ejecuta una expresión regular, pueden resultar ninguno o más subcoincidencias cuando las subexpresiones están entre paréntesis. Cada elemento en la colección SubMatches es la cadena encontrada y capturada por la expresión regular.

El siguiente código muestra cómo obtener una colección SubMatches con una búsqueda de expresión regular y cómo tener acceso a cada miembro individual:

Function PruebaDeSubMatch(cadenaEntrada) Dim oExpReg, oCoincidencia, oMatches Set oExpReg = New RegExp ' Busca una dirección de correo electrónico (no es una Expresión regular perfecta oExpReg.Pattern = "(\w+)@(\w+)\.(\w+)" ' Obtiene la colección Matches Set oCoincidencias = oExpReg.Execute(cadenaEntrada) ' Obtiene el primer elemento de la colección Matches Set oCoincidencia = oCoincidencias(0) ' Crea la cadena de resultado. ' El objeto Match es la coincidencia entera - [email protected] retStr = "La dirección de correo electrónico es: " & oCoincidencia & vbNewline ' Obtiene las partes subcoincidente de la dirección.

Visual Basic Scripting Edition

Página 190 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 191: Visual Basic

retStr = retStr & "El alias de correo electrónico es: " & oCoincidencia.SubMatche retStr = retStr & vbNewline retStr = retStr & "La organización es: " & oCoincidencia. SubMatches(1)' xyzzy PruebaDeSubMatch = retStr End Function MsgBox(PruebaDeSubMatch("Por favor envíe un correo electrónico a [email protected]. G

Requisitos

Versión 5.5

Consulte también

Instrucción For Each...Next | Objeto Match | Colección Matches | Objeto Regular Expression (RegExp)

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Operadores En esta sección

Precedencia de operadores

Resumen de operadores

Operadores aritméticos

Operadores de comparación

Operadores de concatenación

Operadores lógicos

Secciones relacionadas

Referencia del lenguaje VBScript

© 2001 Microsoft Corporation. Reservados todos los derechos.

Visual Basic Scripting Edition

Página 191 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 192: Visual Basic

Build: Versión de tema 5.6.9309.1546

Precedencia de operadores Cuando aparecen varias operaciones en una expresión, cada parte se evalúa y se resuelve en un orden determinado llamado prioridad de los operadores. Puede utilizar paréntesis para pasar por alto el orden de prioridad y obligar a evaluar algunas partes de una expresión antes que otras. Las operaciones entre paréntesis se realizan siempre antes que las de fuera. Sin embargo, entre paréntesis se mantiene el prioridad normal de los operadores.

Cuando las expresiones contienen operadores de más de una categoría, los operadores aritméticos se evalúan primero, los de comparación después y los lógicos los últimos. Todos los operadores de comparación tienen la misma prioridad, es decir, se evalúan en el orden de izquierda a derecha en el que aparecen. Los operadores aritméticos y lógicos se evalúan en el siguiente orden de prioridad:

Cuando aparecen la multiplicación y la división juntas en una expresión, se evalúa cada operación según aparece de izquierda a derecha. Asimismo, cuando aparecen la suma y la resta juntas en una expresión, cada operación se evalúa en orden de aparición de izquierda a derecha.

El operador de concatenación de cadena (&) no es un operador aritmético, pero por prioridad va después de todos los operadores aritméticos y antes de todos los operadores de comparación. El operador Is es un operador de comparación de referencias de objetos. No compara objetos ni sus valores; sólo comprueba para determinar si dos referencias de objetos hacen referencia al mismo objeto.

Requisitos

Versión 1

Consulte también

Operador Is | Resumen de operadores

© 2001 Microsoft Corporation. Reservados todos los derechos.

Visual Basic Scripting Edition

Aritmético Comparación LógicoNegación (-) Igualdad (=) NotExponenciación (^) Desigualdad (<>) AndMultiplicación y división (*, /)Menor que (<) OrDivisión de número entero (\) Mayor que (>) XorModelo aritmético (Mod) Menor o igual que (<=) EqvSuma y resta (+, -) Mayor o igual que (>=) ImpConcatenación de cadenas (&) Is &

Página 192 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 193: Visual Basic

Build: Versión de tema 5.6.9309.1546

Resumen de operadores Operadores aritméticos Utilizados para realizar cálculos matemáticos.

Operador de asignación Utilizado para asignar un valor a una propiedad o variable.

Operadores de comparación Utilizados para realizar comparaciones.

Operadores de concatenación Utilizados para combinar cadenas.

Operadores lógicos Utilizados para realizar operaciones lógicas.

Consulte también

Precedencia de operadores

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Operador de suma (+) Suma dos números.

resultado = expresión1 + expresión2

Argumentos

resultado Cualquier variable numérica.

expresión1 Cualquier expresión.

expresión2 Cualquier expresión.

Visual Basic Scripting Edition

Visual Basic Scripting Edition

Página 193 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 194: Visual Basic

Observaciones

Aunque también puede utilizar el operador + para concatenar dos cadenas de caracteres, debería utilizar el operador & para la concatenación para así eliminar la ambigüedad y proporcionar código de autoexplicativo.

Cuando utilice el operador +, quizá no pueda determinar si se producirá la suma o la concatenación de la cadena.

El subtipo subyacente de las expresiones determina el comportamiento del operador + del siguiente modo:

Si una de las dos expresiones es una expresión Null, el resultado es Null. Si ambas expresiones son Empty, el resultado es un subtipo de Integer. Sin embargo, si sólo una expresión es Empty, la otra expresión se devuelve inalterada como resultado.

Requisitos

Versión 1

Consulte también

Operador de concatenación (&) | Operador de resta (-) | Operadores aritméticos | Operador de concatenación | Precedencia de operadores | Resumen de operadores

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Operador And Realiza una conjunción lógica de dos expresiones.

resultado = expresión1 And expresión2

Argumentos

resultado

Si EntoncesAmbas expresiones son numéricas Add.Ambas expresiones son cadenas Concatenate.Una expresión es numérica y la otra es una cadena Add.

Visual Basic Scripting Edition

Página 194 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 195: Visual Basic

Cualquier variable numérica. expresión1

Cualquier expresión. expresión2

Cualquier expresión.

Observaciones

Si, y sólo si, ambas expresiones se evalúan como True, el resultado es True. Si alguna expresión se evalúa como False, el resultado es False. La siguiente tabla ilustra cómo se determina el resultado:

El operador And también realiza una comparación bit a bit de los bits ubicados de forma idéntica en dos expresiones numéricas y establece el bit correspondiente en el resultado de acuerdo con la siguiente tabla:

Requisitos

Versión 1

Consulte también

Operadores lógicos | Operador Not | Precedencia de operadores | Resumen de operadores | Operador Or | Operador Xor

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Si expresión1 es Y expresión2 es El resultado esTrue True TrueTrue False FalseTrue Null NullFalse True FalseFalse False FalseFalse Null FalseNull True NullNull False FalseNull Null Null

Si el bit en expresión1 es Y el bit en expresión2 es El resultado es0 0 00 1 01 0 01 1 1

Página 195 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 196: Visual Basic

Operador de asignación (=) Asigna un valor a una variable o propiedad.

variable = valor

Argumentos

variable Cualquier variable o cualquier propiedad modificable.

valor Cualquier literal de cadena o numérico, constante, o expresión.

Observaciones

El nombre en la parte izquierda del signo igual puede ser una variable escalar simple o un elemento de una matriz. Las propiedades de la parte izquierda del signo igual sólo pueden ser aquellas que son modificables en tiempo de ejecución.

Requisitos

Versión 1

Consulte también

Operadores de comparación | Precedencia de operadores | Resumen de operadores | Instrucción Set

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Operador de concatenación (&) Fuerza la concatenación de cadena de dos expresiones.

resultado = expresión1 & expresión2

Argumentos

resultado Cualquier variable.

Visual Basic Scripting Edition

Visual Basic Scripting Edition

Página 196 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 197: Visual Basic

expresión1 Cualquier expresión.

expresión2 Cualquier expresión.

Observaciones

Siempre que una expresión no sea una cadena, se convierte en un subtipo de String. Si ambas expresiones son Null, el resultado es también Null. Sin embargo, si sólo una expresión es Null, dicha expresión se trata como una cadena de longitud cero ("") cuando esté concatenada con la otra expresión. Cualquier expresión que sea Empty se trata también como una cadena de longitud cero.

Requisitos

Versión 1

Consulte también

Operadores de concatenación | Precedencia de operadores | Resumen de operadores

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Operador de división (/) Divide dos números y devuelve un resultado de coma flotante.

resultado = número1/número2

Argumentos

resultado Cualquier variable numérica.

número1 Cualquier expresión numérica.

número2 Cualquier expresión numérica.

Observaciones

Si una o ambas expresiones son expresiones Null, el resultado es Null. Cualquier expresión que sea Empty se trata como 0.

Visual Basic Scripting Edition

Página 197 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 198: Visual Basic

Requisitos

Versión 1

Consulte también

Operador de multiplicación (*) | Operador de división de número entero (\) | Operadores aritméticos | Precedencia de operadores | Resumen de operadores

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Operador Eqv Realiza una equivalencia lógica de dos expresiones.

resultado = expresión1 Eqv expresión2

Argumentos

resultado Cualquier variable numérica.

expresión1 Cualquier expresión.

expresión2 Cualquier expresión.

Observaciones

Si alguna expresión es Null, el resultado es también Null. Cuando ninguna expresión sea Null, el resultado se determina de acuerdo con la siguiente tabla:

El operador Eqv realiza una comparación bit a bit de los bits ubicados de forma idéntica en dos expresiones numéricas y establece el bit correspondiente en el resultado de acuerdo con la siguiente tabla:

Visual Basic Scripting Edition

Si expresión1 es Y expresión2 es El resultado esTrue True TrueTrue False FalseFalse True FalseFalse False True

Página 198 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 199: Visual Basic

Requisitos

Versión 1

Consulte también

Operador Imp | Operadores lógicos | Precedencia de operadores | Resumen de operadores

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Operador de exponenciación (^) Eleva un número a una potencia.

resultado = número^exponente

Argumentos

resultado Cualquier variable numérica.

número Cualquier expresión numérica.

exponente Cualquier expresión numérica.

Observaciones

El número puede ser negativo sólo si el exponente es un valor de número entero. Cuando se realiza más de una exponenciación en una única expresión, el operador ^ se evalúa tal y como se encuentra de izquierda a derecha.

Si cualquier número o exponente es una expresión Null, el resultado es también Null.

Requisitos

Si el bit en expresión1 es Y el bit en expresión2 es El resultado es0 0 10 1 01 0 01 1 1

Visual Basic Scripting Edition

Página 199 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 200: Visual Basic

Versión 1

Consulte también

Operadores aritméticos | Precedencia de operadores | Resumen de operadores

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Operador Imp Realiza una implicación lógica de dos expresiones.

resultado = expresión1 Imp expresión2

Argumentos

resultado Cualquier variable numérica.

expresión1 Cualquier expresión.

expresión2 Cualquier expresión.

Observaciones

La siguiente tabla ilustra cómo se determina el resultado:

El operador Imp realiza una comparación bit a bit de los bits ubicados de manera idéntica en dos expresiones numéricas y establece el bit correspondiente en el resultado de acuerdo con la siguiente tabla:

Visual Basic Scripting Edition

Si expresión1 es Y expresión2 es Entonces resultado esTrue True TrueTrue False FalseTrue Null NullFalse True TrueFalse False TrueFalse Null TrueNull True TrueNull False NullNull Null Null

Página 200 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 201: Visual Basic

Requisitos

Versión 1

Consulte también

Operador Eqv | Operadores lógicos | Precedencia de operadores | Resumen de operadores

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Operador de división de número entero (\) Divide dos números y devuelve un resultado de número entero.

resultado = número1\número2

Argumentos

resultado Cualquier variable numérica.

número1 Cualquier expresión numérica.

número2 Cualquier expresión numérica.

Observaciones

Antes de que se realice la división, las expresiones numéricas se redondean como expresiones del subtipo Byte, Integer, o Long.

Si cualquier expresión es Null, el resultado es también Null. Cualquier expresión que sea Empty se trata como 0.

Requisitos

Si el bit en expresión1 es Y el bit en expresión2 es Entonces resultado es0 0 10 1 11 0 01 1 1

Visual Basic Scripting Edition

Página 201 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 202: Visual Basic

Versión 1

Consulte también

Operador de multiplicación (*) | Operador de división (/) | Operadores aritméticos | Precedencia de operadores | Resumen de operadores

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Operador Is Compara dos variables de referencia de objeto.

resultado = objeto1 Is objeto2

Argumentos

resultado Cualquier variable numérica.

objeto1 Cualquier nombre de objeto.

objeto2 Cualquier nombre de objeto.

Observaciones

Si objeto1 y objeto2 hacen referencia al mismo objeto, el resultado es True; si no, el resultado es False. Dos variables pueden hacer referencia al mismo objeto de diversas maneras.

En el siguiente ejemplo, se ha establecido que A haga referencia al mismo objeto que B:

Set A = B

El siguiente ejemplo hace que A y B hagan referencia al mismo objeto que C:

Set A = C Set B = C

Requisitos

Versión 1

Visual Basic Scripting Edition

Página 202 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 203: Visual Basic

Consulte también

Operadores de comparación | Precedencia de operadores | Resumen de operadores

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Operador Mod Divide dos números y devuelve sólo el resto.

resultado = número1 Mod número2

Argumentos

resultado Cualquier variable numérica.

número1 Cualquier expresión numérica.

número2 Cualquier expresión numérica.

Observaciones

El operador del módulo, o resto, divide número1 por número2 (y redondea los números de punto flotante como números enteros) y devuelve sólo el resto como resultado. Por ejemplo, en la siguiente expresión, A (que es resultado) es igual a 5.

A = 19 Mod 6.7

Si cualquier expresión es Null, el resultado es también Null. Cualquier expresión que sea Empty se trata como 0.

Requisitos

Versión 1

Consulte también

Operadores aritméticos | Precedencia de operadores | Resumen de operadores

Visual Basic Scripting Edition

Página 203 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 204: Visual Basic

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Operador de multiplicación (*) Multiplica dos números.

resultado = número1*número2

Argumentos

resultado Cualquier variable numérica.

número1 Cualquier expresión numérica.

número2 Cualquier expresión numérica.

Observaciones

Si una o ambas expresiones son expresiones Null, el resultado es Null. Si una expresión es Empty, se trata como si fuera 0.

Requisitos

Versión 1

Consulte también

Operador de división de número entero (\) | Operadores aritméticos | Precedencia de operadores | Resumen de operadores

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Operador Not Realiza la negación lógica de una expresión.

Visual Basic Scripting Edition

Visual Basic Scripting Edition

Página 204 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 205: Visual Basic

resultado = Not expresión

Argumentos

resultado Cualquier variable numérica.

expresión Cualquier expresión.

Observaciones

La siguiente tabla ilustra cómo se determina el resultado:

Además, el operador Not invierte los valores de bits de cualquier variable y establece el bit correspondiente en el resultado de acuerdo con la siguiente tabla:

Requisitos

Versión 1

Consulte también

Operador And | Operadores lógicos | Precedencia de operadores | Resumen de operadores | Operador Or | Operador Xor

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Operador Or Realiza una disyunción lógica de dos expresiones.

resultado = expresión1 Or expresión2

Si expresión es Entonces resultado esTrue FalseFalse TrueNull Null

Bit en expresión Bit en resultado0 11 0

Visual Basic Scripting Edition

Página 205 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 206: Visual Basic

Argumentos

resultado Cualquier variable numérica.

expresión1 Cualquier expresión.

expresión2 Cualquier expresión.

Observaciones

Si alguna o ambas expresiones se evalúa como True, el resultado es True. La siguiente tabla ilustra cómo se determina el resultado:

El operador Or también realiza una comparación bit a bit de los bits ubicados de manera idéntica en dos expresiones numéricas y establece el bit correspondiente en el resultado de acuerdo con la siguiente tabla:

Requisitos

Versión 1

Consulte también

Operador And | Operadores lógicos | Operador Not | Precedencia de operadores | Resumen de operadores | Operador Xor

© 2001 Microsoft Corporation. Reservados todos los derechos.

Si expresión1 es Y expresión2 es Entonces resultado esTrue True TrueTrue False TrueTrue Null TrueFalse True TrueFalse False FalseFalse Null NullNull True TrueNull False NullNull Null Null

Si el bit en expresión1 es Y el bit en expresión2 es Entonces resultado es0 0 00 1 11 0 11 1 1

Página 206 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 207: Visual Basic

Build: Versión de tema 5.6.9309.1546

Operador de resta (-) Busca la diferencia entre dos números o indica el valor negativo de una expresión numérica.

Sintaxis 1

resultado = número1-número2

Sintaxis 2

-número

Argumentos

resultado Cualquier variable numérica.

número Cualquier expresión numérica.

número1 Cualquier expresión numérica.

número2 Cualquier expresión numérica.

Observaciones

En la Sintaxis 1, el operador - es la resta aritmética utilizada para buscar la diferencia entre dos números. En la Sintaxis 2, el operador - se utiliza como la negación unaria para indicar el valor negativo de una expresión.

Si una o ambas expresiones son del tipo Null, el resultado es Null. Si una expresión es Empty, se trata como si fuera 0.

Requisitos

Versión 1

Consulte también

Operador de suma (+) | Operadores aritméticos | Precedencia de operadores | Resumen de operadores

© 2001 Microsoft Corporation. Reservados todos los derechos.

Visual Basic Scripting Edition

Página 207 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 208: Visual Basic

Build: Versión de tema 5.6.9309.1546

Operador Xor Realiza una exclusión lógica de dos expresiones.

resultado = expresión1 Xor expresión2

Argumentos

resultado Cualquier variable numérica.

expresión1 Cualquier expresión.

expresión2 Cualquier expresión.

Observaciones

Si una, y sólo una, de las expresiones se evalúa como True, el resultado es True. Sin embargo, si cualquier expresión es Null, el resultado es también Null. Cuando ninguna expresión es Null, el resultado se determina de acuerdo con la siguiente tabla:

El operador Xor también realiza una comparación bit a bit de los bits ubicados en la misma posición en dos expresiones numéricas y establece el bit correspondiente en el resultado de acuerdo con la siguiente tabla:

Requisitos

Versión 1

Consulte también

Operador And | Operadores lógicos | Operador Not | Precedencia de operadores | Resumen de

Visual Basic Scripting Edition

Si expresión1 es Y expresión2 es Entonces resultado esTrue True FalseTrue False TrueFalse True TrueFalse False False

Si el bit en expresión1 es Y el bit en expresión2 es Entonces resultado es0 0 00 1 11 0 11 1 0

Página 208 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 209: Visual Basic

operadores | Operador Or

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Operadores aritméticos Operador ^

Operador *

Operador /

Operador \

Operador Mod

Operador +

Operador -

Operadores de concatenación

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Operadores de comparación Se utilizan para comparar expresiones.

resultado = expresión1 operadorDeComparación expresión2 resultado = objeto1 Is objeto2

Argumentos

resultado

Visual Basic Scripting Edition

Visual Basic Scripting Edition

Página 209 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 210: Visual Basic

Cualquier variable numérica. expresión

Cualquier expresión. operadorDeComparación

Cualquier operador de comparación. objeto

Cualquier nombre de objeto.

Observaciones

El operador Is tiene una funcionalidad de comparación específica diferente de los operadores que se muestran en la siguiente tabla. La siguiente tabla contiene una lista de operadores de comparación y las condiciones que determinan si el resultado es True, False o Null:

Al comparar dos expresiones, es posible que no sea capaz de saber si las expresiones se están comparando como números o como cadenas.

La siguiente tabla muestra cómo se comparan las expresiones o que devuelve la comparación, según el subtipo de las expresiones:

Requisitos

Versión 1

Operador Descripción True si False si Null si< Menor que expresión1 < expresión2 expresión1 >=

expresión2expresión1 o expresión2 = Null

<= Menor o igual que expresión1 <= expresión2 expresión1 > expresión2

expresión1 o expresión2 = Null

> Mayor que expresión1 > expresión2 expresión1 <= expresión2

expresión1 o expresión2 = Null

>= Mayor o igual que expresión1 >= expresión2 expresión1 < expresión2

expresión1 o expresión2 = Null

= Igual a expresión1 = expresión2 expresión1 <> expresión2

expresión1 o expresión2 = Null

<> Distinto de expresión1 <> expresión2 expresión1 = expresión2

expresión1 o expresión2 = Null

Si EntoncesAmbas expresiones son numéricas Realiza una comparación numérica.Ambas expresiones son cadenas Realiza una comparación de cadenas.Una expresión es numérica y la otra es una cadena

La expresión numérica es menor que la expresión de cadena.

Una expresión es Empty y la otra es numérica

Realiza una comparación numérica, tratando la expresión Empty como 0 (cero).

Una expresión es Empty y la otra es una cadena

Realiza una comparación de cadenas, tratando la expresión Empty como una cadena de longitud cero ("").

Ambas expresiones son Empty Las expresiones son iguales.

Página 210 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 211: Visual Basic

Consulte también

Operador de asignación (=) | Operador Is | Precedencia de operadores | Resumen de operadores

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Operadores de concatenación Operador &

Operador +

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Operadores lógicos Operador And

Operador Not

Operador Or

Operador Xor

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Visual Basic Scripting Edition

Visual Basic Scripting Edition

Visual Basic Scripting Edition

Página 211 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 212: Visual Basic

Propiedades En esta sección

Propiedad Description

Propiedad FirstIndex

Propiedad Global

Propiedad HelpContext

Propiedad HelpFile

Propiedad IgnoreCase

Propiedad Length

Propiedad Number

Propiedad Pattern

Propiedad Source

Propiedad Value

Secciones relacionadas

Referencia del lenguaje VBScript

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Propiedad Description Devuelve o establece una cadena descriptiva asociada con un error.

objeto.Description [= expresióncadena]

Argumentos

Visual Basic Scripting Edition

Página 212 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 213: Visual Basic

objeto Siempre el objeto Err.

expresióncadena Una expresión de cadena que contiene una descripción del error.

Observaciones

La propiedad Description está formada por una breve descripción del error. Utilice esta propiedad para alertar al usuario de un error que no puede o no desea controlar. Cuando genera un error definido por el usuario, asigne una breve descripción de su error a esta propiedad. Si Description no está completa y el valor de Number corresponde a un error en tiempo de ejecución de VBScript, se devuelve la cadena descriptiva asociada con el error.

On Error Resume Next Err.Raise 6 ' Emite un error de desbordamiento. MsgBox ("Error # " & CStr(Err.Number) & " " & Err.Description) Err.Clear ' Borra el error.

Requisitos

Versión 1

Consulte también

Objeto Err | Propiedad HelpContext | Propiedad HelpFile | Propiedad Number | Propiedad Source

Se aplica a: Objeto Err

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Propiedad FirstIndex Devuelve la posición en una cadena de búsqueda donde aparece una coincidencia.

objeto.FirstIndex

El argumento objeto es siempre un objeto Match.

Observaciones

La propiedad FirstIndex utiliza un desplazamiento basado en cero desde el comienzo de la cadena de búsqueda. En otras palabras, el primer carácter de la cadena se identifica como carácter cero (0). La

Visual Basic Scripting Edition

Página 213 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 214: Visual Basic

siguiente porción de código ilustra el uso de la propiedad FirstIndex.

Function PruebaDeExpReg(modelo, cadena) Dim regEx, Match, Matches ' Crea una variable. Set regEx = New RegExp ' Crea una expresión regular. regEx.Pattern = modelo ' Establece el modelo. regEx.IgnoreCase = True ' Establece la no distinción entre mayúsculas y minúscu regEx.Global = True ' Establece la aplicabilidad global. Set Matches = regEx.Execute(cadena) ' Ejecuta la búsqueda. For Each Match in Matches ' Repite la colección Matches. RetStr = RetStr & "Coincidencia " & I & " encontrada en la posición " RetStr = RetStr & Match.FirstIndex & ". El valor coincidente es "' RetStr = RetStr & Match.Value & "'." & vbCRLF Next PruebaDeExpReg = RetStr End Function MsgBox(PruebaDeExpReg("is.", "IS1 is2 IS3 is4"))

Requisitos

Versión 5

Consulte también

Propiedad Length | Propiedad Value

Se aplica a: Objeto Match

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Propiedad Global Establece o devuelve un valor booleano que indica si un modelo debería coincidir con todas las apariciones en toda una cadena de búsqueda o sólo con la primera.

objeto.Global [= True | False ]

El argumento objeto es siempre un objeto RegExp. El valor de la propiedad Global es True si la búsqueda se aplica a toda la cadena y si no es así, False. El valor predeterminado es False.

Observaciones

La siguiente porción de código ilustra el uso de la propiedad Global (cambie el valor asignado a la propiedad Global para ver su efecto):

Visual Basic Scripting Edition

Página 214 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 215: Visual Basic

Function PruebaDeExpReg(modelo, cadena) Dim regEx, Match, Matches ' Crea una variable. Set regEx = New RegExp ' Crea una expresión regular. regEx.Pattern = modelo ' Establece el modelo. regEx.IgnoreCase = True ' Establece la no distinción entre mayúsculas y minúscu regEx.Global = True ' Establece la aplicabilidad global. Set Matches = regEx.Execute(cadena) ' Ejecuta la búsqueda. For Each Match in Matches ' Repite la colección Matches. RetStr = RetStr & "Coincidencia encontrada en la posición " RetStr = RetStr & Match.FirstIndex & ". El valor coincidente es '" RetStr = RetStr & Match.Value & "'." & vbCRLF Next PruebaDeExpReg = RetStr End Function MsgBox(PruebaDeExpReg("is.", "IS1 is2 IS3 is4"))

Requisitos

Versión 5

Consulte también

Propiedad IgnoreCase | Propiedad Pattern

Se aplica a: Objeto Regular Expression (RegExp)

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Propiedad HelpContext Establece o devuelve un Id. de contexto para un tema de un archivo de Ayuda.

objeto.HelpContext [= Idcontexto]

Argumentos

objeto Necesario. Siempre el objeto Err.

Idcontexto Opcional. Un identificador válido para un tema de Ayuda dentro del archivo de Ayuda.

Observaciones

Si se especifica un archivo de Ayuda en HelpFile, la propiedad HelpContext se utiliza para mostrar

Visual Basic Scripting Edition

Página 215 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 216: Visual Basic

automáticamente el tema de Ayuda identificado. Si HelpFile y HelpContext están vacíos, se comprueba el valor de la propiedad Number.Si corresponde a un valor de error en tiempo de ejecución de VBScript, se utiliza el Id. de contexto de Ayuda de VBScript para el error. Si la propiedad Number no corresponde a un error de VBScript, se muestra la pantalla de contenido para el archivo de Ayuda de VBScript.

El siguiente ejemplo ilustra el uso de la propiedad HelpContext:

On Error Resume Next Dim Msg Err.Clear Err.Raise 6 ' Genera un error de "desbordamiento". Err.Helpfile = "suAyuda.hlp" Err.HelpContext = suContextID If Err.Number <> 0 Then Msj = "Presione F1 o Ayuda para ver el tema de " & Err.Helpfile & _ " para el siguiente valor de HelpContext: " & Err.HelpContext MsgBox Msg, , "error: " & Err.Description, Err.Helpfile, Err.HelpContext End If

Requisitos

Versión 2

Consulte también

Propiedad Description | Propiedad HelpFile | Propiedad Number | Propiedad Source

Se aplica a: Objeto Err

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

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

Visual Basic Scripting Edition

Página 216 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 217: Visual Basic

Opcional. Ruta de acceso completa del archivo de Ayuda.

Observaciones

Si se especifica un archivo de Ayuda en HelpFile, se le llama automáticamente cuando un usuario hace clic en el botón de Ayuda (o presiona la tecla F1) en el cuadro de diálogo del mensaje de error. Si la propiedad HelpContext contiene un Id. de contexto válido para el archivo especificado, dicho tema se muestra automáticamente. Si no se especifica HelpFile, se muestra el archivo de Ayuda de VBScript.

On Error Resume Next Dim Msg Err.Clear Err.Raise 6 ' Genera error de "desbordamiento". Err.Helpfile = "suAyuda.hlp" Err.HelpContext = suContextID If Err.Number <> 0 Then Msj = "Presione F1 o Ayuda para ver el tema de " & Err.Helpfile & _ " para el siguiente valor de HelpContext: " & Err.HelpContext MsgBox Msg, , "Error: " & Err.Description, Err.Helpfile, Err.HelpContext End If

Requisitos

Versión 2

Consulte también

Propiedad Description | Propiedad HelpContext | Propiedad Number | Propiedad Source

Se aplica a: Objeto Err

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Propiedad IgnoreCase Establece o devuelve un valor booleano que indica si una búsqueda de modelo distingue mayúsculas y minúsculas o no.

objeto.IgnoreCase [= True | False ]

El argumento objeto es siempre un objeto RegExp. El valor de la propiedad IgnoreCase es False si la búsqueda distingue mayúsculas y minúsculas y si no es así, True. El valor predeterminado es False.

Visual Basic Scripting Edition

Página 217 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 218: Visual Basic

Observaciones

La siguiente porción de código ilustra el uso de la propiedad IgnoreCase (cambie el valor asignado a la propiedad IgnoreCase para ver su efecto):

Function PruebaDeExpReg(modelo, cadena) Dim regEx, Match, Matches ' Crea una variable. Set regEx = New RegExp ' Crea una expresión regular. regEx.Pattern = modelo ' Establece el modelo. regEx.IgnoreCase = True ' Establece la no distinción entre mayúsculas y minúscu regEx.Global = True ' Establece la aplicabilidad global. Set Matches = regEx.Execute(cadena) ' Ejecuta la búsqueda. For Each Match in Matches ' Repite la colección Matches. RetStr = RetStr & "Coincidencia encontrada en la posición " RetStr = RetStr & Match.FirstIndex & ". El valor coincidente es '" RetStr = RetStr & Match.Value & "'." & vbCRLF Next PruebaDeExpReg = RetStr End Function MsgBox(PruebaDeExpReg("is.", "IS1 is2 IS3 is4"))

Requisitos

Versión 5

Consulte también

Propiedad Global | Propiedad Pattern

Se aplica a: Objeto Regular Expression (RegExp)

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Propiedad Length Devuelve la longitud de una coincidencia encontrada en una cadena de búsqueda.

objeto.Length

El argumento objeto es siempre un objeto Match.

Observaciones

La siguiente porción de código ilustra el uso de la propiedad Length:

Visual Basic Scripting Edition

Página 218 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 219: Visual Basic

Function PruebaDeExpReg(modelo, cadena) Dim regEx, Match, Matches ' Crea una variable. Set regEx = New RegExp ' Crea una expresión regular. regEx.Pattern = modelo ' Establece el modelo. regEx.IgnoreCase = True ' Establece la no distinción entre mayúsculas y minúscu regEx.Global = True ' Establece la aplicabilidad global. Set Matches = regEx.Execute(cadena) ' Ejecuta la búsqueda. For Each Match in Matches ' Repite la colección Matches. RetStr = RetStr & "Coincidencia " & I & " encontrada en la posición " RetStr = RetStr & Match.FirstIndex & ". La longitud de la coincidencia es " RetStr = RetStr & Match.Length RetStr = RetStr & " caracteres." & vbCRLF Next PruebaDeExpReg = RetStr End Function MsgBox(PruebaDeExpReg("is.", "IS1 is2 IS3 is4"))

Requisitos

Versión 5

Consulte también

Propiedad FirstIndex | Propiedad Value

Se aplica a: Objeto Match

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Propiedad Number Devuelve o establece un valor numérico que especifica un error. Number es la propiedad predeterminada del objeto Err.

objeto.Number [= númeroerror]

Argumentos

objeto Siempre el objeto Err.

númeroerror Un número entero que representa un número de error de VBScript o un valor de error SCODE.

Observaciones

Visual Basic Scripting Edition

Página 219 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 220: Visual Basic

Cuando devuelva un error definido por el usuario de un objeto de automatización, establezca Err.Number agregando el número que haya seleccionado como un código de error a la constante vbObjectError.

La siguiente porción de código ilustra el uso de la propiedad Number:

On Error Resume Next Err.Raise vbObjectError + 1, "SomeObject" ' Emite error de objeto nº 1. MsgBox ("Error nº " & CStr(Err.Number) & " " & Err.Description) Err.Clear ' Borra el error.

Requisitos

Versión 1

Consulte también

Propiedad Description | Propiedad HelpContext | Propiedad HelpFile | Objeto Err | Propiedad Source

Se aplica a: Objeto Err

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Propiedad Pattern Establece o devuelve el modelo de expresión regular que se busca.

objeto.Pattern [= "cadenabúsqueda"]

Argumentos

objeto Necesario. Siempre una variable de objeto RegExp.

cadenabúsqueda Opcional. Expresión de cadena regular que se busca. Puede incluir cualquiera de los caracteres de expresión regular definidos en la tabla de la sección Valores.

Valores

Se utilizan caracteres y secuencias especiales para escribir modelos de expresiones regulares. La siguiente tabla describe y ofrece un ejemplo de los caracteres y secuencias que se pueden utilizar.

Visual Basic Scripting Edition

Página 220 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 221: Visual Basic

Carácter Descripción\ Marca el siguiente carácter como un carácter especial o un literal. Por ejemplo, "n"

coincide con el carácter "n". "\n" coincide con un carácter de nueva línea. La secuencia "\\" coincide con "\" y "\(" coincide con "(".

^ Coincide con el comienzo de entrada.$ Coincide con el final de entrada.* No coincide con el carácter precedente ninguna o varias veces. Por ejemplo, "zo*"

coincide con "z" o "zoo".+ Coincide con el carácter precedente una o varias veces. Por ejemplo, "za+" coincide con

"zar" pero no con "z".? Coincide con el carácter precedente ninguna o varias veces. Por ejemplo, "a?ve?"

coincide con "ve" en "volver". . Coincide con cualquier carácter único excepto con un carácter de nueva línea. (modelo) Coincide con modelo y recuerda la coincidencia. La subcadena coincidente se puede

restablecer desde la colección Matches resultante, mediante Item [0]...[n]. Para hacer coincidir con caracteres de paréntesis ( ), utilice "\(" or "\)".

x|y Coincide con x o y. Por ejemplo, "z|par" coincide con "z" o "par". "(z|p)ar" coincide con "zar" o "par".

{n} n es un número entero no negativo. Coincide exactamente n veces. Por ejemplo, "o{2}" no coincide con la "o" en "sol", pero coincide con las dos primeras oes en "noooo".

{n,} n es un número entero no negativo. Coincide al menos n veces. Por ejemplo, "o{2,}" no coincide con la "o" en "sol" y coincide con todas las oes en "noooo". "o{1,}" equivale a "o+". "o{0,}" equivale a "o*".

{n,m} m y n son números enteros no negativos. Coinciden como mínimo n y como máximo m veces. Por ejemplo, "o{1,3}" coincide con las tres primeras oes en "noooo". "o{0,1}" equivale a "o?".

[xyz] Un juego de caracteres. Coincide con cualquiera de los caracteres contenidos. Por ejemplo, "[abc]" coincide con "a" en "valle".

[^xyz] Un juego de caracteres negativo. Coincide con cualquiera de los caracteres no contenidos. Por ejemplo, "[^abc]" coincide con la "v" en "valle".

[a-z] Un intervalo de caracteres. Coincide con cualquiera de los caracteres incluidos en el intervalo especificado. Por ejemplo, "[a-z]" coincide con cualquier carácter alfabético en minúscula dentro del intervalo de la "a" a la "z".

[^m-z] Un intervalo de caracteres negativo. Coincide con cualquiera de los caracteres no incluidos en el intervalo especificado. Por ejemplo, "[m-z]" coincide con cualquier carácter no incluido en el intervalo de la "m" a la "z".

\b Coincide con un límite de palabra, es decir, con la posición entre una palabra y un espacio. Por ejemplo, "er\b" coincide con "er" en "volver" pero no con "er" en "verbo".

\B Coincide con el límite de un elemento que no sea de palabra. "at*r\B" coincide con "atr" en "volver atrás".

\d Coincide con un carácter de dígito. Equivale a [0-9]. \D Coincide con un carácter que no sea dígito. Equivale a [^0-9]. \f Coincide con un carácter de avance de página. \n Coincide con un carácter de nueva línea. \r Coincide con un carácter de retorno de carro. \s Coincide con cualquier espacio en blanco incluidos espacio, tabulación, avance de

página, etc. Equivale a "[ \f\n\r\t\v]".\S Coincide con cualquier carácter que no sea un espacio en blanco. Equivale a

Página 221 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 222: Visual Basic

Observaciones

La siguiente porción de código ilustra el uso de la propiedad Pattern.

Function PruebaDeExpReg(modelo, cadena) Dim regEx, Match, Matches ' Crea una variable. Set regEx = New RegExp ' Crea una expresión regular. regEx.Pattern = modelo ' Establece el modelo. regEx.IgnoreCase = True ' Establece la no distinción entre mayúsculas y minúscu regEx.Global = True ' Establece la aplicabilidad global. Set Matches = regEx.Execute(cadena) ' Ejecuta la búsqueda. For Each Match in Matches ' Repite la colección Matches. RetStr = RetStr & "Coincidencia encontrada en la posición " RetStr = RetStr & Match.FirstIndex & ". El valor coincidente es '" RetStr = RetStr & Match.Value & "'." & vbCRLF Next PruebaDeExpReg = RetStr End Function MsgBox(PruebaDeExpReg("is.", "IS1 is2 IS3 is4"))

Requisitos

Versión 2

Consulte también

Propiedad Global | Propiedad IgnoreCase

Se aplica a: Objeto Regular Expression (RegExp)

"[^ \f\n\r\t\v]". \t Coincide con un carácter de tabulación. \v Coincide con un carácter de tabulación vertical. \w Coincide con cualquier carácter de palabra incluido subrayado. Equivale a "[A-Za-z0-

9_]". \W Coincide con cualquier carácter que no sea de palabra. Equivale a "[^A-Za-z0-9_]". \num Coincide con número, donde número es un número entero positivo. Una referencia de

vuelta atrás a coincidencias recordadas. Por ejemplo, "(.)\1" coincide con dos caracteres idénticos consecutivos.

\n Coincide con n, donde n es un valor de escape octal. Los valores de escape octal deben tener 1, 2 ó 3 dígitos de longitud. Por ejemplo, "\11" y "\011" coinciden con un carácter de tabulación. "\0011" es el equivalente de "\001" & "1". Los valores de escape octal no deben sobrepasar 256. Si lo hacen, sólo los dos primeros dígitos forman la expresión. Se permite utilizar códigos ASCII en expresiones regulares.

\xn Coincide con n, donde n es un valor de escape hexadecimal. Los valores de escape hexadecimales deben tener exactamente dos dígitos de longitud. Por ejemplo, "\x41" coincide con "A". "\x041" es equivalente a "\x04" & "1". Se permite utilizar códigos ASCII en expresiones regulares.

Página 222 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 223: Visual Basic

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Propiedad Source Devuelve o establece el nombre del objeto o aplicación que originalmente generó el error.

objeto.Source [= expresióncadena]

Argumentos

objeto Siempre el objeto Err.

expresióncadena Una expresión de cadena que representa la aplicación que generó el error.

Observaciones

La propiedad Source especifica una expresión de cadena que es normalmente el nombre de clase o el Id. programático del objeto que produjo el error. Utilice Source para proporcionar a sus usuarios información cuando su código no pueda controlar un error generado en un objeto en uso. Por ejemplo, si obtiene acceso a Microsoft Excel y se genera un error de División por cero, Microsoft Excel establece Err.Number como el código de error y establece Source como Excel.Application. Tenga en cuenta que si el error se genera en otro objeto llamado por Microsoft Excel, Excel intercepta el error y establece Err.Number como su propio código de División por cero. Si embargo, deja el otro objeto Err (incluido Source) como establecido por el objeto que generó el error.

Source contiene siempre el nombre del objeto que originalmente generó el error — su código puede intentar controlar el error de acuerdo con la documentación del error del objeto que utilizó. Si se produce un error en su controlador de errores, puede utilizar la información del objeto Err para describir el error a su usuario y utilizar Source y el otro objeto Err para informar al usuario de qué objeto produjo originalmente el error, su descripción del error, etc.

Cuando genere un error desde el código, Source es el Id. programático de su aplicación.

La siguiente porción de código ilustra el uso de la propiedad Source.

On Error Resume Next Err.Raise 6 ' Emite un error de desbordamiento. MsgBox ("Error # " & CStr(Err.Number) & " " & Err.Description & Err.Source) Err.Clear ' Borra el error.

Requisitos

Versión 1

Visual Basic Scripting Edition

Página 223 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 224: Visual Basic

Consulte también

Propiedad Description | Objeto Err | Propiedad HelpContext | Propiedad HelpFile | Propiedad Number | Instrucción On Error

Se aplica a: Objeto Err

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Propiedad Value Devuelve el valor o texto de una coincidencia encontrada en una cadena de búsqueda.

objeto.Value

El argumento objeto es siempre un objeto Match.

Observaciones

El código siguiente ilustra el uso de la propiedad Value.

Function PruebaDeExpReg(modelo, cadena) Dim regEx, Match, Matches ' Crea una variable. Set regEx = New RegExp ' Crea una expresión regular. regEx.Pattern = modelo ' Establece el modelo. regEx.IgnoreCase = True ' Establece la no distinción entre mayúsculas y minúscu regEx.Global = True ' Establece la aplicabilidad global. Set Matches = regEx.Execute(cadena) ' Ejecuta la búsqueda. For Each Match in Matches ' Repite la colección Matches. RetStr = RetStr & "Coincidencia " & I & " encontrada en la posición " RetStr = RetStr & Match.FirstIndex & ". El valor coincidente es "' RetStr = RetStr & Match.Value & "'." & vbCRLF Next PruebaDeExpReg = RetStr End Function MsgBox(PruebaDeExpReg("is.", "IS1 is2 IS3 is4"))

Requisitos

Versión 1

Consulte también

Propiedad FirstIndex | Propiedad Length

Visual Basic Scripting Edition

Página 224 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 225: Visual Basic

Se aplica a: Objeto Match

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Instrucciones En esta sección

Instrucción Call

Instrucción Class

Instrucción Const

Instrucción Dim

Instrucción Do...Loop

Instrucción Erase

Instrucción Execute

Instrucción ExecuteGlobal

Instrucción Exit

Instrucción For Each...Next

Instrucción For...Next

Instrucción Function

Instrucción If...Then...Else

Instrucción On Error

Instrucción Option Explicit

Instrucción Private

Instrucción Property Get

Visual Basic Scripting Edition

Página 225 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 226: Visual Basic

Instrucción Property Let

Instrucción Property Set

Instrucción Public

Instrucción Randomize

Instrucción ReDim

Instrucción Rem

Instrucción Select Case

Instrucción Set

Instrucción Sub

Instrucción While...Wend

Instrucción With

Secciones relacionadas

Referencia del lenguaje VBScript

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Instrucción Call Transfiere el control a un procedimiento Sub o Function.

[Call] nombre [listaargumentos]

Argumentos

Call Palabra clave opcional. Si se especifica, debe escribir listaargumentos entre paréntesis. Por ejemplo:

Call MiProc(0)

Visual Basic Scripting Edition

Página 226 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 227: Visual Basic

nombre Requerido. Nombre del procedimiento al que se va a llamar.

listaargumentos Opcional. Lista de variables delimitada por comas, matrices o expresiones para pasar al procedimiento.

Comentarios

No necesita utilizar la palabra clave Call cuando llame a un procedimiento. Sin embargo, si utiliza la palabra clave Call para llamar a un procedimiento que necesita argumentos, debe escribir listaargumentos entre paréntesis. Si omite la palabra clave Call, también debe omitir el paréntesis alrededor de listaargumentos. Si utiliza cualquier sintaxis de Call para llamar a cualquier función intrínseca o definida por el usuario, se descarta el valor de retorno de la función.

Call MiFuncion("Hola a todos.") Function MiFuncion(texto) MsgBox texto End Function

Requisitos

Versión 1

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Instrucción Class Declara el nombre de una clase, así como una definición de las variables, propiedades y métodos que componen la clase.

Class nombre instrucciones End Class

Argumentos

nombre Requerido. Nombre de Class. Sigue las convenciones de nomenclatura estándar de las variables.

instrucciones Requerido. Una o varias instrucciones que definen las variables, propiedades y métodos de Class.

Comentarios

Visual Basic Scripting Edition

Página 227 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 228: Visual Basic

Dentro de un bloque de Class, se declaran los miembros como Private o Public mediante las instrucciones apropiadas para declaraciones. Cualquier cosa declarada Private es sólo visible dentro del bloque Class. Cualquier cosa declarada Public es visible dentro del bloque Class, así como por el código fuera del bloque Class. Cualquier cosa no declarada explícitamente como Private o Public es Public de manera predeterminada. Los procedimientos (Sub o Function) declarados Public dentro del bloque de clase se convierten en métodos de la clase. Las variables Public sirven como propiedades de la clase, igual que las propiedades declaradas explícitamente mediante Property Get, Property Let y Property Set. Las propiedades y métodos predeterminados para la clase se especifican en sus declaraciones mediante la palabra clave Default. Consulte los temas de instrucciones para declaraciones si desea obtener más información acerca de cómo se utiliza esta palabra clave.

Requisitos

Versión 5

Consulte también

Instrucción Dim | Instrucción Function | Instrucción Private | Instrucción Property Get | Instrucción Property Let | Instrucción Property Set | Instrucción Public | Instrucción Set | Instrucción Sub

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Instrucción Const Declara constantes para utilizar en lugar de valores literales.

[Public | Private] Const nombreconst = expresión

Argumentos

Public Opcional. Palabra clave utilizada en el nivel de secuencia de comandos para declarar constantes que están disponibles para todos los procedimientos en todas las secuencias de comandos. No se admite en procedimientos.

Private Opcional. Palabra clave utilizada en el nivel de secuencia de comandos para declarar constantes que están disponibles sólo dentro de la secuencia de comandos donde se realizó la declaración. No se admite en procedimientos.

nombreconst Requerido. Nombre de la constante. Sigue las convenciones de nomenclatura estándar de las variables.

expresión

Visual Basic Scripting Edition

Página 228 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 229: Visual Basic

Requerido. Literal u otra constante o cualquier combinación que incluye todos los operadores aritméticos o lógicos excepto Is.

Comentarios

Las constantes se definen como public de manera predeterminada. Dentro de los procedimientos, las constantes son siempre private; su visibilidad no se puede modificar. Dentro de una secuencia de comandos, la visibilidad predeterminada de una constante de nivel de secuencia de comandos se puede modificar con la palabra clave Private.

Para combinar diversas declaraciones de constantes en la misma línea, separe cada asignación de constante con una coma. Cuando se combinan las declaraciones de constantes de esta forma, la palabra clave Public o Private, si se utiliza, se aplica a todas ellas.

No puede utilizar variables, funciones definidas por el usuario, o funciones de VBScript intrínsecas (tales como Chr) en declaraciones de constante. Por definición, no pueden ser constantes. Tampoco puede crear una constante a partir de cualquier expresión que implique un operador, es decir, sólo se permiten constantes simples. Las constantes declaradas en un procedimiento Sub o Function son locales a dicho procedimiento. Una constante declarada fuera de un procedimiento se define a través de la secuencia de comandos en la que se ha declarado. Puede utilizar constantes en cualquier lugar en que pueda utilizar una expresión. La siguiente porción de código ilustra el uso de la instrucción Const:

Const MiVar = 459 ' Las constantes son Public de manera predeterminada. Private Const MiCadena = "HELP" ' Declara constante como Private. Const MiCadena = "Hola", MiNumero = 3.4567 ' Declara varias constantes en la misma

Nota Las constantes pueden contribuir a que se entiendan sus secuencias de comandos y se puedan modificar más fácilmente. A diferencia de las variables, las constantes no se pueden cambiar de forma inadvertida mientras se ejecuta la secuencia de comandos.

Requisitos

Versión 5

Consulte también

Instrucción Dim | Instrucción Function | Instrucción Private | Instrucción Public | Instrucción Sub

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Instrucción Dim

Visual Basic Scripting Edition

Página 229 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 230: Visual Basic

Declara variables y asigna espacio de almacenamiento.

Dim nombrevar[([subíndices])][, nombrevar[([subíndices])]] . . .

Argumentos

nombrevar Nombre de la variable. Sigue las convenciones de nomenclatura estándar de las variables.

subíndices Dimensiones de una variable de matriz. Se puede declarar hasta 60 dimensiones múltiples. El argumento subíndices utiliza la siguiente sintaxis:

límitesup [,límitesup] . . .

El límite inferior de una matriz es siempre cero.

Comentarios

Las variables declaradas con Dim en el nivel de secuencia de comandos están disponibles para todos los procedimientos dentro de la secuencia de comandos. En el nivel de procedimiento, las variables están disponibles sólo dentro del procedimiento.

También puede utilizar la instrucción Dim con paréntesis vacíos para declarar una matriz dinámica. Después de declarar una matriz dinámica, utilice la instrucción ReDim dentro de un procedimiento para definir el número de dimensiones y elementos de la matriz. Si intenta volver a declarar una dimensión para una variable de matriz cuyo tamaño se especificó explícitamente en una instrucción Dim, se produce un error.

Nota Cuando utiliza la instrucción Dim en un procedimiento, generalmente sitúa la instrucción Dim al comienzo del procedimiento.

El siguiente ejemplo ilustra el uso de la instrucción Dim:

Dim Nombres(9) ' Declara una matriz con 10 elementos. Dim Nombres() ' Declara una matriz dinámica. Dim MiVar, MiNum ' Declara dos variables.

Requisitos

Versión 1

Consulte también

Instrucción Private | Instrucción Public | Instrucción ReDim | Instrucción Set

© 2001 Microsoft Corporation. Reservados todos los derechos.

Página 230 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 231: Visual Basic

Build: Versión de tema 5.6.9309.1546

Instrucción Do...Loop Repite un bloque de instrucciones mientras una condición es True o hasta que una condición sea True.

Do [{While | Until} condición] [instrucciones] [Exit Do] [instrucciones] Loop

O bien, puede utilizar esta sintaxis:

Do [instrucciones] [Exit Do] [instrucciones] Loop [{While | Until} condición]

Argumentos

condición Expresión numérica o de cadena que es True o False. Si la condición es Null, la condición se trata como False.

instrucciones Una o varias instrucciones que se repiten mientras la condición es o hasta que sea True.

Comentarios

Exit Do sólo se puede utilizar dentro de una estructura de control Do...Loop para proporcionar una forma alternativa de salida de un bucle Do...Loop. Se puede ubicar cualquier número de instrucciones Exit Do en cualquier lugar del bucle Do...Loop. A menudo se utiliza con la evaluación de alguna condición (por ejemplo, If...Then). Exit Do transfiere el control a la instrucción que aparece inmediatamente después de Loop.

Cuando se utiliza dentro de instrucciones Do...Loop anidadas, Exit Do transfiere el control al bucle que está anidado un nivel por encima del bucle donde tiene lugar.

El siguiente ejemplo ilustra el uso de la instrucción Do...Loop:

Do Until DefResp = vbNo MiNum = Int (6 * Rnd + 1) ' Genera un número entero aleatorio entre 1 y 6. DefResp = MsgBox (MiNum & " ¿Desea otro número?", vbYesNo) Loop Dim Comprobar, Contador Comprobar = True: Contador = 0 ' Inicializa las variables. Do ' Bucle exterior. Do While Contador < 20 ' Bucle interior.

Visual Basic Scripting Edition

Página 231 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 232: Visual Basic

Contador = Contador + 1 ' Incrementa el contador. If Contador = 10 Then ' Si la condición es True... Comprobar = False ' establece el valor del indicador como False. Exit Do ' Sale del bucle interior. End If Loop Loop Until Comprobar = False ' Sale del bucle exterior inmediatamente.

Requisitos

Versión 1

Consulte también

Instrucción Exit | Instrucción For...Next | Instrucción While...Wend

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Instrucción Erase Reinicializa los elementos de matrices de tamaño fijo y libera espacio de almacenamiento de la matriz dinámica.

Erase matriz

El argumento matriz es el nombre de la variable de la matriz que se va a borrar.

Comentarios

Es importante conocer si una matriz es de tamaño fijo (ordinaria) o dinámica porque Erase se comporta de manera diferente según el tipo de matriz. Erase no recupera memoria para matrices de tamaño fijo. Erase establece los elementos de una matriz fija de la forma siguiente:

Erase libera la memoria utilizada por las matrices dinámicas. Antes de que su programa pueda hacer referencia a la matriz dinámica de nuevo, debe volver a declarar las dimensiones de la variable de la matriz mediante una instrucción ReDim.

Visual Basic Scripting Edition

Tipo de matriz Efecto de Erase en elementos de matriz fijaMatriz numérica fija Establece cada elemento como cero.Matriz de cadena fija Establece la longitud de cada elemento como cero ("").Matriz de objetos Establece el valor de cada elemento como valor especial Nothing.

Página 232 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 233: Visual Basic

El siguiente ejemplo ilustra el uso de la instrucción Erase.

Dim MatrizNum(9) Dim MatrizDinamica() ReDim MatrizDinamica(9) ' Asigna espacio de almacenamiento. Erase MatrizNum ' Se vuelve a inicializar cada elemento. Erase MatrizDinamica ' Libera la memoria utilizada por la matriz.

Requisitos

Versión 1

Consulte también

Instrucción Dim | Nothing | Instrucción ReDim

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Instrucción Execute Ejecuta una o varias instrucciones especificadas.

Execute instrucción

El argumento requerido instrucción es una expresión de cadena que contiene una o más instrucciones para ejecutar. Incluye múltiples instrucciones en el argumento instrucción, mediante el uso de dos puntos (:) o saltos de línea incrustados para separarlas.

Comentarios

En VBScript, x = y se puede interpretar de dos formas. La primera es una instrucción de asignación, donde el valor de y se asigna a x. La segunda interpretación es como una expresión que comprueba si x y y tienen el mismo valor. Si es así, el resultado es True; si no, el resultado es False. La instrucción Execute utiliza siempre la primera interpretación, mientras que el método Eval utiliza siempre la segunda.

Nota En Microsoft® JScript™, no existe confusión entre asignación y comparación, porque el operador de asignación (=) es diferente del operador de comparación (==).

El contexto en el que se invoca la instrucción Execute determina qué objetos y variables están disponibles para el código que se ejecuta. Los objetos y variables dentro del ámbito están disponibles para codificarse en una instrucción Execute. Sin embargo, es importante entender que si ejecuta un código que crea un procedimiento, dicho procedimiento no hereda el ámbito del procedimiento en que

Visual Basic Scripting Edition

Página 233 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 234: Visual Basic

apareció.

Al igual que cualquier procedimiento, el ámbito del procedimiento nuevo es global y hereda todo en el ámbito global. A diferencia de cualquier otro procedimiento, su contexto no es de ámbito global, de modo que sólo se puede ejecutar en el contexto del procedimiento donde apareció la instrucción Execute. Sin embargo, si la misma instrucción Execute se invoca fuera de un procedimiento (es decir, ámbito global), no sólo hereda todo en el ámbito global, sino que también puede llamarse desde cualquier lugar, ya que su contexto es global. El siguiente ejemplo ilustra este comportamiento:

Dim X ' Declara X en el ámbito global. X = "Global" ' Asigna un valor a X global. Sub Proc1 ' Declara el procedimiento. Dim X ' Declara X en el ámbito local. X = "Local" ' Asigna un valor a X local. ' La instrucción Execute aquí crea un ' procedimiento que, cuando se invoca, imprime X. ' Imprime X global porque Proc2 ' hereda todo en el ámbito local. Execute "Sub Proc2: Print X: End Sub" Print Eval("X") ' Imprime X local. Proc2 ' Invoca a Proc2 en el ámbito de Proc1. End Sub Proc2 ' Esta línea produce un error ya que ' Proc2 no está disponible fuera de Proc1. Proc1 ' Invoca a Proc1. Execute "Sub Proc2: Print X: End Sub" Proc2 ' Esta invocación se realizó correctamente porque Proc2 ' está ahora disponible globalmente.

El siguiente ejemplo muestra cómo se puede volver a escribir la instrucción Execute de manera que no tenga que delimitar todo el procedimiento entre comillas:

S = "Sub Proc2" & vbCrLf S = S & " Print X" & vbCrLf S = S & "End Sub" Execute S

Requisitos

Versión 1

Consulte también

Instrucción Eval | Instrucción ExecuteGlobal

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Visual Basic Scripting Edition

Página 234 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 235: Visual Basic

Instrucción ExecuteGlobal Ejecuta una o varias instrucciones especificadas en el espacio de nombres global de una secuencia de comandos.

ExecuteGlobal instrucción

El argumento instrucción necesario es una expresión de cadena que contiene una o varias instrucciones para ejecutar. Incluya varias instrucciones en el argumento instrucción y utilice dos puntos o saltos de línea incrustados para separarlas.

Comentarios

En VBScript, x = y se puede interpretar de dos formas. La primera es una instrucción de asignación, donde el valor de y se asigna a x. La segunda interpretación es como una expresión que comprueba si x y y tienen el mismo valor. Si es así, el resultado es True; si no, el resultado es False. La instrucción ExecuteGlobal utiliza siempre la primera interpretación, mientras que el método Eval utiliza siempre la segunda.

Nota En Microsoft® JScript™, no existe confusión entre asignación y comparación, porque el operador de asignación (=) es diferente del operador de comparación (==).

Todas las instrucciones utilizadas con ExecuteGlobal se ejecutan en el espacio de nombres global de la secuencia de comandos. Este permite agregar código al programa de manera que cualquier procedimiento pueda tener acceso a él. Por ejemplo, se puede ejecutar una instrucción Class de VBScript en tiempo de ejecución y las funciones podrán, a continuación, crear nuevas instancias de la clase.

Agregar procedimientos y clases en tiempo de ejecución puede ser útil, pero también introduce la posibilidad de sobrescribir variables globales y funciones ya existentes. Puesto que esto puede causar problemas de programación importantes, se debe tener especial cuidado cuando utilice la instrucción ExecuteGlobal. Si no necesita tener acceso a una variable o función fuera de un procedimiento, utilice la instrucción Execute, que sólo afecta al espacio de nombres de la función que llama.

El siguiente ejemplo ilustra el uso de la instrucción ExecuteGlobal:

Dim X ' Declara X en el ámbito global. X = "Global" ' Asigna un valor a X global. Sub Proc1 ' Declara el procedimiento. Dim X ' Declara X en el ámbito local. X = "Local" ' Asigna un valor a X local. ' La instrucción Execute aquí crea un ' procedimiento que, cuando se invoca, imprime X. ' Imprime la variable X global porque Proc2 ' hereda todo en el ámbito global. ExecuteGlobal "Sub Proc2: Print X: End Sub" Print Eval("X") ' Imprime X local. Proc2 ' Invoca a Proc2 en el ámbito global, lo que ' provoca que se imprima "Global". End Sub Proc2 ' Esta línea produce un error ya que ' Proc2 no está disponible fuera de Proc1.

Página 235 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 236: Visual Basic

Proc1 ' Invoca a Proc1. Execute "Sub Proc2: Print X: End Sub" Proc2 ' Esta invocación se realizó correctamente ' porque Proc2 está ahora disponible globalmente.

El siguiente ejemplo muestra cómo se puede volver a escribir la instrucción ExecuteGlobal de manera que no tenga que delimitar todo el procedimiento entre comillas:

S = "Sub Proc2" & vbCrLf S = S & " Print X" & vbCrLf S = S & "End Sub" ExecuteGlobal S

Requisitos

Versión 1

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Instrucción Exit Sale de un bloque de código Do...Loop, For...Next, Function o Sub.

Exit Do Exit For Exit Function Exit Property Exit Sub

La sintaxis de la instrucción Exit se compone de:

Visual Basic Scripting Edition

Instrucción DescripciónExit Do Proporciona una forma de salir de una instrucción Do...Loop. Sólo se puede

utilizar dentro de una instrucción Do...Loop. Exit Do transfiere el control a la instrucción que sigue a la instrucción Loop. Cuando se utiliza dentro de instrucciones Do...Loop anidadas, Exit Do transfiere el control al bucle que está anidado un nivel por encima del bucle donde se inicia.

Exit For Proporciona una forma de salir de un bucle For. Sólo se puede utilizar en un bucle For...Next o For Each...Next. Exit For transfiere el control a la instrucción que sigue a la de Next. Cuando se utiliza dentro de bucles For anidados, Exit For transfiere el control al bucle que está anidado un nivel por encima del bucle donde se inicia.

Exit Function Inmediatamente sale del procedimiento Function en el que aparece. La ejecución

Página 236 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 237: Visual Basic

El siguiente ejemplo ilustra el uso de la instrucción Exit:

Sub RandomLoop Dim I, MiNum Do ' Establece un bucle infinito. For I = 1 To 1000 ' Ejecuta el bucle 1000 veces. MiNum = Int(Rnd * 100) ' Genera números aleatorios. Select Case MiNum ' Evalúa un número aleatorio. Case 17: MsgBox "Case 17" Exit For ' Si es 17, sale de For...Next. Case 29: MsgBox "Case 29" Exit Do ' Si es 29, sale de Do...Loop. Case 54: MsgBox "Case 54" Exit Sub ' Si es 54, sale del procedumiento. End Select Next Loop End Sub

Requisitos

Versión 1

Consulte también

Instrucción Do...Loop | Instrucción For Each...Next | Instrucción For...Next | Instrucción Function | Instrucción Sub

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Instrucción For Each...Next Repite un grupo de instrucciones para cada elemento en una matriz o colección.

For Each elemento In grupo [instrucciones] [Exit For] [instrucciones] Next [elemento]

continúa con la instrucción que sigue a la que llamó a Function.Exit Property Inmediatamente sale del procedimiento Property en el que aparece. La ejecución

continúa con la instrucción que sigue a la que llamó al procedimiento Property.Exit Sub Inmediatamente sale del procedimiento Sub en el que aparece. La ejecución

continúa con la instrucción que sigue a la que llamó a Sub.

Visual Basic Scripting Edition

Página 237 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 238: Visual Basic

Argumentos

elemento Variable utilizada para repetir los elementos de la colección o matriz. Para colecciones, elemento sólo puede ser una variable Variant, una variable genérica Object o cualquier variable de objeto de automatización específica. Para matrices, elemento sólo puede ser una variable Variant.

grupo Nombre de una colección de objetos o matrices.

instrucciones Una o varias instrucciones que se ejecutan en cada elemento del grupo.

Comentarios

El bloque For Each se inicia si existe al menos un elemento en el grupo. Una vez que se ha iniciado el bucle, se ejecutan todas las instrucciones en el bucle para el primer elemento del grupo. Siempre que existan más elementos en el grupo, las instrucciones del bucle continúan ejecutándose para cada elemento. Cuando no existen más elementos en el grupo, se sale del bucle y la ejecución continúa con la instrucción que sigue a Next.

Exit For sólo se puede utilizar dentro de una estructura de control For Each...Next o For...Next para proporcionar una forma alternativa de salida. Se puede ubicar cualquier número de declaraciones Exit For en cualquier lugar del bucle. A menudo, Exit For se utiliza con la evaluación de alguna condición (por ejemplo, If...Then) y transfiere el control a la instrucción que aparece inmediatamente después de Next.

Puede anidar bucles For Each...Next si ubica un bucle For Each...Next dentro de otro. Sin embargo, cada elemento del bucle debe ser único.

Nota Si omite elemento en una instrucción Next, la ejecución continúa como si lo hubiera incluido. Si se ejecuta una instrucción Next antes de su instrucción For correspondiente, se produce un error.

El siguiente ejemplo ilustra el uso de la instrucción For Each...Next:

Function MostrarListaDeCarpetas(carpetas) Dim fso, f, f1, fc, s Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.GetFolder(carpetas) Set fc = f.Files For Each f1 in fc s = s & f1.name s = s & "<BR>" Next MostrarListaDeCarpetas = s End Function

Requisitos

Versión 2

Consulte también

Página 238 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 239: Visual Basic

Instrucción Do...Loop | Instrucción Exit | Instrucción For...Next | Instrucción While...Wend

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Instrucción For...Next Repite un grupo de instrucciones un número de veces especificado.

For contador = inicio To fin [Step paso] [instrucciones] [Exit For] [instrucciones] Next

Argumentos

contador Variable numérica utilizada como contador de bucle. La variable no puede ser un elemento de matriz ni un elemento de tipo definido por el usuario.

inicio Valor inicial de contador.

fin Valor final de contador.

paso El número de contador se cambia cada vez a lo largo del bucle. Si no se especifica, el valor predeterminado de paso es uno.

instrucciones Una o varias instrucciones entre For y Next que se ejecutan el número de veces especificado.

Comentarios

El argumento paso puede ser positivo o negativo. El valor del argumento paso determina el procedimiento de bucle de la forma siguiente:

Una vez que se inicia el bucle y que se han ejecutado todas las instrucciones en el bucle, se agrega paso a contador. En este punto, o bien las instrucciones del bucle se ejecutan de nuevo (según la misma prueba que hizo que el bucle se ejecutara inicialmente), o se sale del bucle y la ejecución continúa con la instrucción que sigue a Next.

Visual Basic Scripting Edition

Valor El bucle se ejecuta siPositivo o 0 contador <= finNegativo contador >= fin

Página 239 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 240: Visual Basic

Nota Cambiar el valor de contador mientras está dentro de un bucle puede dificultar la lectura y la depuración de su código.

Exit For sólo se puede utilizar dentro de una estructura de control For Each...Next o For...Next para proporcionar una forma alternativa de salida. Se puede ubicar cualquier número de declaraciones Exit For en cualquier lugar del bucle. A menudo, Exit For se utiliza con la evaluación de alguna condición (por ejemplo, If...Then) y transfiere el control a la instrucción que aparece inmediatamente después de Next.

Puede anidar bucles For...Next si ubica un bucle For...Next dentro de otro. Déle a cada bucle un nombre de variable único como contador. La siguiente estructura es correcta:

For I = 1 To 10 For J = 1 To 10 For K = 1 To 10 . . . Next Next Next

Requisitos

Versión 1

Consulte también

Instrucción Do...Loop | Instrucción Exit | Instrucción For Each...Next | Instrucción While...Wend

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Instrucción Function Declara el nombre, argumentos y código que forman el cuerpo de un procedimiento Function.

[Public [Default] | Private] Function nombre [(listaArgumentos)] [instrucciones] [nombre = expresión] [Exit Function] [instrucciones] [nombre = expresión] End Function

Argumentos

Visual Basic Scripting Edition

Página 240 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 241: Visual Basic

Public Indica que el procedimiento Function es accesible para todos los otros procedimientos de todas las secuencias de comandos.

Default Utilizado sólo con la palabra clave Public en un bloque Class para indicar que el procedimiento Function es el método predeterminado para la clase. Se produce un error si se especifica más de un error Default en una clase.

Private Indica que el procedimiento Function es accesible sólo para otros procedimientos en la secuencia de comandos donde se declara o si la función es un miembro de una clase y que el procedimiento Function es accesible sólo a otros procedimientos en dicha clase.

nombre Nombre de Function. Sigue las convenciones de nomenclatura estándar de las variables.

listaArgumentos Lista de variables que representan los argumentos que se pasan al procedimiento Function cuando se le llama. Las comas separan las variables múltiples.

instrucciones Cualquier grupo de instrucciones que se van a ejecutar dentro del cuerpo del procedimiento Function.

expresión Valor de retorno de Function.

El argumento listaArgumentos tiene la siguiente sintaxis:

[ByVal | ByRef] nombreVariable[( )]

Argumentos

ByVal Indica que el argumento se ha pasado por valor.

ByRef Indica que el argumento se ha pasado por referencia.

nombreVariable Nombre de la variable que representa el argumento. Sigue las convenciones de nomenclatura estándar de las variables.

Comentarios

Si no se especifica explícitamente con Public o Private, los procedimientos Function son públicos de manera predeterminada, es decir, son visibles para todos los otros procedimientos de su secuencia de comandos. El valor de las variables locales en el procedimiento Function no se conserva entre llamadas al procedimiento.

No puede definir un procedimiento Function dentro de cualquier otro procedimiento (p. ej. Sub o Property Get).

La instrucción Exit Function provoca una salida inmediata de un procedimiento Function. La ejecución del programa continúa con la instrucción que sigue a la que llamó al procedimiento Function. Puede aparecer cualquier número de instrucciones Exit Function en cualquier lugar de un procedimiento Function.

Página 241 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 242: Visual Basic

Al igual que un procedimiento Sub, un procedimiento Function es un procedimiento separado que puede aceptar argumentos, ejecutar una serie de instrucciones y cambiar los valores de sus argumentos. Sin embargo, a diferencia de un procedimiento Sub, puede utilizar un procedimiento Function en la parte derecha de una expresión del mismo modo que utiliza cualquier función intrínseca, como Sqr, Coso Chr, cuando desea utilizar el valor devuelto por la función.

Puede llamar a un procedimiento Function con el nombre de la función, seguido por el argumento entre paréntesis, en una expresión. Consulte la instrucción Call para obtener información específica acerca de cómo llamar a procedimientos Function.

Precaución Los procedimientos Function pueden ser recursivos, es decir, pueden llamarse a sí mismos para realizar una tarea concreta. Sin embargo, la recursividad puede dar lugar a un desbordamiento de pila.

Para devolver un valor desde una función, asigne el valor al nombre de la función. Cualquier número de dichas asignaciones puede aparecer en cualquier lugar dentro del procedimiento. Si no se asigna ningún valor a nombre, el procedimiento devuelve un valor predeterminado: una función numérica devuelve 0 y una función de cadena devuelve una cadena de longitud cero (""). Una función que devuelve una referencia de objeto, devuelve Nothing si no se asigna ninguna referencia de objeto a nombre (mediante Set) dentro de Function.

El siguiente ejemplo muestra cómo asignar un valor de retorno a una función denominada BinarySearch. En este caso, se asigna False al nombre para indicar que no se ha encontrado algún valor.

Function BusquedaBinaria(. . .) . . . ' ' Valor no encontrado. Devuelve un valor False. If lower > upper Then BusquedaBinaria = False Exit Function End If . . . End Function

Las variables utilizadas en los procedimientos Function pertenecen a dos categorías: aquellas que se declaran explícitamente dentro del procedimiento y aquellas que no. Las variables que se declaran explícitamente dentro de un procedimiento (con Dim o su equivalente) son siempre locales al procedimiento. Las variables que se utilizan pero no se declaran explícitamente dentro de un procedimiento son también locales a no ser que se declaren explícitamente en algún nivel superior fuera del procedimiento.

Precaución Un procedimiento puede utilizar una variable que no se declare explícitamente en el procedimiento, pero puede producirse un conflicto de nomenclatura si cualquiera de los elementos que ha definido tiene el mismo nombre en el nivel de secuencia de comandos. Si el procedimiento hace referencia a una variable que no está declarada y que tiene el mismo nombre que otro procedimiento, constante o variable, se asume que su procedimiento hace referencia a dicho nombre del nivel de secuencia de comandos. Para evitar este tipo de conflicto, utilice una instrucción Option Explicit con la que se fuerce la declaración explícita de variables.

Precaución Puede que VBScript reorganice las expresiones aritméticas para aumentar la eficacia interna. Evite utilizar un procedimiento Function en una expresión aritmética

Página 242 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 243: Visual Basic

cuando la función cambie el valor de las variables en la misma expresión.

Requisitos

Versión 1

Consulte también

Instrucción Call | Instrucción Dim | Instrucción Exit | Nothing | Instrucción Set | Instrucción Sub

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Instrucción If...Then...Else Ejecuta de forma condicional un grupo de instrucciones, según el valor de una expresión.

If condición Then instrucciones [Else instruccioneselse ]

O bien, puede utilizar la sintaxis de forma de bloque:

If condición Then [instrucciones] [Else condición-n Then [instruccioneselseif]] . . . [Else [instruccioneselse]] End If

Argumentos

condición Uno o varios de los siguientes tipos de expresiones:

Una expresión numérica o de cadena que se evalúa como True o False. Si la condición es Null, la condición se trata como False.

Una expresión de la forma TypeOf nombreobjeto Is tipoobjeto. El nombreobjeto es cualquier referencia de objeto y tipoobjeto es cualquier tipo de objeto válido. La expresión es True si nombreobjeto es del tipo de objeto especificado por tipoobjeto y si no es así, es False.

instrucciones Una o varias instrucciones separadas por dos puntos. Se ejecuta si la condición es True.

condición-n

Visual Basic Scripting Edition

Página 243 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 244: Visual Basic

Igual que condición. instruccioneselseif

Una o varias instrucciones ejecutadas si la condición-n asociada es True. instruccioneselse

Una o varias instrucciones ejecutadas si ninguna expresión de condición o condición-n previa es True.

Comentarios

Puede utilizar la forma de línea única (primera sintaxis) para pruebas cortas y simples. Sin embargo, la forma de bloque (segunda sintaxis) proporciona una mejor estructura y flexibilidad que la forma de línea única y es normalmente más fácil de leer, mantener y depurar.

Nota Con la sintaxis de línea única, es posible hacer que se ejecuten varias instrucciones como resultado de una decisión If...Then, pero deben estar todas en la misma línea y separadas por dos puntos, como en la siguiente instrucción:

If A > 10 Then A = A + 1 : B = B + A : C = C + B

Cuando se ejecuta un bloque If (segunda sintaxis), se prueba la condición. Si la condición es True, se ejecutan las instrucciones que siguen a Then. Si la condición es False, se evalúa cada ElseIf (si hubiera) por turno. Cuando se encuentra una condición True, se ejecutan las instrucciones que siguen a la instrucción Then asociada. Si ninguna de las instrucciones ElseIf son True (o no existen claúsulas ElseIf), se ejecutan las instrucciones que siguen a Else. Después de ejecutar las instrucciones que siguen a Then o Else, la ejecución continúa con la instrucción que sigue a End If.

Las claúsulas Else y ElseIf son opcionales. Puede tener tantas instrucciones ElseIf como desee en un bloque If, pero ninguna puede aparecer después de la claúsula Else. Las instrucciones de bloque If se pueden anidar; es decir, estar contenidas una dentro de otra.

Lo que sigue a la palabra clave Then se examina para determinar si una instrucción es un bloque If o no. Si aparece cualquier otra cosa que no sea un comentario después de Then en la misma línea, la instrucción de trata como una instrucción de línea única If.

Una instrucción de bloque If debe ser la primera instrucción en una línea. El bloque If debe terminar con una instrucción End If.

Requisitos

Versión 1

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Visual Basic Scripting Edition

Página 244 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 245: Visual Basic

Instrucción On Error Habilita o deshabilita el control de errores.

On Error Resume Next On Error GoTo 0

Comentarios

Si no utiliza una instrucción On Error Resume Next en algún lugar de su código, cualquier error en tiempo de ejecución que ocurra puede causar que se muestre un mensaje de error y se detenga la ejecución del código. Sin embargo, el host que ejecuta el código determina el comportamiento exacto. El host puede optar algunas veces por controlar errores de forma diferente. En algunos casos, puede invocarse al depurador de secuencia de comandos en el momento del error. En otros casos, puede no haber indicación aparente de que ocurra algún error porque el host no lo notifica al usuario. De nuevo, esto es puramente una función de cómo el host controla los errores que ocurren.

Dentro de un procedimiento particular, un error no es fatal necesariamente si el control de errores está habilitado en algún lugar de la pila de llamadas. Si no se habilita un control de errores local en un procedimiento y ocurre un error, se vuelve atrás el control a través del procedimiento hasta que se encuentre un control de errores habilitado y se controla el error en ese punto. Si no se encuentra un procedimiento en la pila de llamadas para tener habilitado el control de errores, se muestra un mensaje de error en ese punto y se detiene la ejecución o el host controla el error como sea apropiado.

On Error Resume Next hace que la ejecución continúe en la instrucción que sigue a la instrucción que produjo el error en tiempo de ejecución, o con la instrucción que sigue a la llamada más reciente del procedimiento que contiene la instrucción On Error Resume Next. Esto permite que la ejecución continúe aunque se produzca un error en tiempo de ejecución. Puede generar la rutina de control de errores en una línea dentro del procedimiento.

Una instrucción On Error Resume Next se vuelve inactiva cuando se llama a otro procedimiento, por lo que debe ejecutar una instrucción On Error Resume Next en cada rutina de llamada si quiere controlar el error en línea dentro de la rutina. Cuando se sale de un procedimiento, la capacidad de control de errores vuelve al control de errores que estaba en ejecución cuando se entró en el procedimiento del que se sale.

Utilice On Error GoTo 0 para deshabilitar el control de errores si previamente la ha habilitado mediante On Error Resume Next.

El ejemplo siguiente ilustra el uso de la instrucción On Error Resume Next.

On Error Resume Next Err.Raise 6 ' Aumenta el error por desbordamiento. MsgBox "Error nº " & CStr(Err.Number) & " " & Err.Description Err.Clear ' Borra el error.

Requisitos

Versión 1

Página 245 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 246: Visual Basic

Consulte también

Objeto Err | Instrucción Exit

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Instrucción Option Explicit Fuerza la declaración explícita de todas las variables de una secuencia de comandos.

Option Explicit

Comentarios

Si se utiliza, la instrucción Option Explicit debe aparecer en una secuencia de comandos antes de cualquier otra instrucción.

Cuando utiliza la instrucción Option Explicit, debe declarar explícitamente todas las variables mediante las instrucciones Dim, Private, Public o ReDim. Si intenta utilizar un nombre de variable no declarada, se producirá un error.

Sugerencia Utilice Option Explicit para no escribir por error el nombre de una variable existente o para evitar confusiones en el código allí donde el ámbito de la variable no esté claro.

El siguiente ejemplo ilustra el uso de la instrucción Option Explicit.

Option Explicit ' Fuerza la declaración explícita de la variable. Dim MiVar ' Declara la variable. MiEnt = 10 ' La variable no declarada genera un error. MiVar = 10 ' La variable declarada no genera ningún error.

Requisitos

Versión 1

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Visual Basic Scripting Edition

Página 246 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 247: Visual Basic

Instrucción Private Declara variables como privadas y les asigna espacio de almacenamiento. Declara, en un bloque Class, una variable privada.

Private nombreVariable[([subíndices])][, nombreVariable[([subíndices])]] . . .

Argumentos

nombreVariable Nombre de la variable. Sigue las convenciones de nomenclatura estándar de las variables.

subíndices Dimensiones de una variable de matriz. Se puede declarar hasta 60 dimensiones múltiples. El argumento subíndices utiliza la siguiente sintaxis:

superior [, superior] . . .

El límite inferior de una matriz es siempre cero.

Comentarios

Las variables de instrucciones Private están sólo disponibles para la secuencia de comandos en la que se declaran.

Una variable que se refiere a un objeto se debe asignar a un objeto existente mediante la instrucción Set antes de que se pueda utilizar. Hasta que se asigna a un objeto, la variable del objeto declarado se inicializa como Empty.

También puede utilizar la instrucción Private con paréntesis vacío para declarar una matriz dinámica. Después de declarar una matriz dinámica, utilice la instrucción ReDim dentro de un procedimiento para definir el número de dimensiones y elementos de la matriz. Si intenta volver a declarar una dimensión para una variable de matriz cuyo tamaño se especificó explícitamente en una instrucción Private, Public o Dim se produce un error.

Nota Cuando utiliza la instrucción Private en un procedimiento, generalmente sitúa la instrucción Private al comienzo del procedimiento.

El siguiente ejemplo ilustra el uso de la instrucción Private.

Private MiNumero ' Variable de tipo Variant declarada como Private. Private MiMatriz(9) ' Variable de matriz declarada como Private. ' Declaraciones Private múltiples de variables de tipo Variant. Private MiNumero, MiVar, SuNumero

Requisitos

Versión 1

Visual Basic Scripting Edition

Página 247 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 248: Visual Basic

Consulte también

Instrucción Dim | Instrucción Public | Instrucción ReDim | Instrucción Set

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Instrucción Property Get Declara, en un bloque Class, el nombre, argumentos y código que forman el cuerpo de un procedimiento Property que toma (devuelve) el valor de una propiedad.

[Public [Default] | Private] Property Get nombre [(listaArgumentos)] [instrucciones] [[Set] nombre = expresión] [Exit Property] [instrucciones] [[Set] nombre = expresión] End Property

Argumentos

Public Indica que el procedimiento Property Get es accesible para todos los otros procedimientos de todas las secuencias de comandos.

Default Utilizado sólo con la palabra clave Public para indicar que la propiedad definida en el procedimiento Property Get es la propiedad predeterminada para la clase.

Private Indica que el procedimiento Property Get es accesible sólo para otros procedimientos del bloque Class donde se declaró.

nombre Nombre del procedimiento Property Get. Sigue las convenciones de nomenclatura estándar de las variables, con la excepción de que el nombre puede ser el mismo que un procedimiento Property Let o Property Set del mismo bloque Class.

listaArgumentos Lista de variables que representan los argumentos que se pasan al procedimiento Property Get cuando se llama al mismo. Las comas separan los argumentos múltiples. El nombre de cada argumento de un procedimiento Property Get debe ser el mismo que el argumento correspondiente de un procedimiento Property Let (si existe).

instrucciones Cualquier grupo de declaraciones que se van a ejecutar dentro del cuerpo del procedimiento Property Get.

Set

Visual Basic Scripting Edition

Página 248 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 249: Visual Basic

Palabra clave utilizada cuando se asigna un objeto como valor de retorno de un procedimiento Property Get.

expresión Devuelve el valor del procedimiento Property Get.

Comentarios

Si no se especifica explícitamente mediante Public o Private, los procedimientos Property Get son públicos de manera predeterminada, es decir, son visibles para todos los otros procedimientos de la secuencia de comandos. El valor de las variables locales en un procedimiento Property Get no se conserva entre llamadas al procedimiento.

Puede definir un procedimiento Property Get dentro de otro procedimiento (p. ej., Function o Property Let).

La instrucción Exit Property provoca una salida inmediata de un procedimiento Property Get. La ejecución del programa continúa con la instrucción que sigue a la instrucción que llamó al procedimiento Property Get. Cualquier número de instrucciones Exit Property puede aparecer en cualquier lugar de un procedimiento Property Get.

Al igual que un procedimiento Sub y Property Let, un procedimiento Property Get es un procedimiento separado que puede aceptar argumentos, ejecutar una serie de instrucciones y cambiar el valor de sus argumentos. Sin embargo, a diferencia de Sub y Property Let, puede utilizar un procedimiento Property Get en la parte derecha de una expresión del mismo modo que utiliza un procedimiento Function o un nombre de propiedad cuando desea devolver el valor de una propiedad.

Requisitos

Versión 5

Consulte también

Instrucción Class | Instrucción Dim | Instrucción Exit | Instrucción Function | Instrucción Private | Instrucción Property Let | Instrucción Property Set | Instrucción Public | Instrucción Set | Instrucción Sub

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Instrucción Property Let Declara, en un bloque Class, el nombre, argumentos y código que forman el cuerpo de un procedimiento Property que asigna (establece) el valor de una propiedad.

Visual Basic Scripting Edition

Página 249 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 250: Visual Basic

[Public | Private] Property Let nombre ([listaArgumentos,] valor) [instrucciones] [Exit Property] [instrucciones] End Property

Argumentos

Public Indica que el procedimiento Property Let es accesible para todos los otros procedimientos de todas las secuencias de comandos.

Private Indica que el procedimiento Property Let es accesible sólo para otros procedimientos del bloque Class donde se ha declarado.

nombre Nombre del procedimiento Property Let. Sigue las convenciones de nomenclatura estándar de las variables, con la excepción de que el nombre puede ser el mismo que un procedimiento Property Get o Property Set del mismo bloque Class.

listaArgumentos Lista de variables que representan los argumentos que se pasan al procedimiento Property Let cuando se llama al mismo. Las comas separan los argumentos múltiples. El nombre de cada argumento de un procedimiento Property Let debe ser el mismo que el argumento correspondiente de un procedimiento Property Get. Además, el procedimiento Property Let tendrá siempre un argumento más que su procedimiento Property Get correspondiente. Dicho argumento es el valor que se asigna a la propiedad.

valor Variable que contiene el valor que se va a asignar a la propiedad. Cuando se llama al procedimiento, aparece este argumento en la parte derecha de la expresión que llama.

instrucciones Cualquier grupo de declaraciones que se van a ejecutar dentro del cuerpo del procedimiento Property Let.

Comentarios

Si no se especifica explícitamente mediante Public o Private, los procedimientos Property Let son públicos de manera predeterminada, es decir, son visibles para todos los otros procedimientos de la secuencia de comandos. El valor de las variables locales en un procedimiento Property Let no se conserva entre llamadas al procedimiento.

No puede definir un procedimiento Property Let dentro de cualquier otro procedimiento (por ejemplo, Function o Property Get).

La instrucción Exit Property provoca una salida inmediata de un procedimiento Property Let. La ejecución del programa continúa con la instrucción que sigue a la instrucción que llamó al procedimiento Property Let. Cualquier número de instrucciones Exit Property puede aparecer en cualquier lugar de un procedimiento Property Let.

Nota La instrucción Property Let debe definir al menos un argumento para el procedimiento que defina. Dicho argumento (o el último argumento si hubiera más de uno) contiene el valor actual que se va a asignar a la propiedad cuando se invoca al procedimiento definido por la instrucción Property Let. A dicho argumento se hace

Página 250 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 251: Visual Basic

referencia como valor en la sintaxis anterior.

Al igual que un procedimiento Function y Property Get, Property Let es un procedimiento separado que puede aceptar argumentos, ejecutar una serie de instrucciones y cambiar el valor de sus argumentos. Sin embargo, a diferencia de un procedimiento Function y Property Get, que devuelven un valor, sólo puede utilizar un procedimiento Property Let en la parte izquierda de una expresión de asignación de propiedad.

Requisitos

Versión 5

Consulte también

Instrucción Class | Instrucción Dim | Instrucción Exit | Instrucción Function | Instrucción Private | Instrucción Property Get | Instrucción Property Set | Instrucción Public | Instrucción Set | Instrucción Sub

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Instrucción Property Set Declara, en un bloque Class, el nombre, argumentos y código que forman el cuerpo de un procedimiento Property que establece una referencia a un objeto.

[Public | Private] Property Set nombre([listaArgumentos,] referencia) [instrucciones] [Exit Property] [instrucciones] End Property

Argumentos

Public Indica que el procedimiento Property Set es accesible para todos los otros procedimientos de todas las secuencias de comandos.

Private Indica que el procedimiento Property Set es accesible sólo para otros procedimientos del bloque Class donde se ha declarado.

nombre Nombre del procedimiento Property Set. Sigue las convenciones de nomenclatura estándar de las variables, con la excepción de que el nombre puede ser el mismo que un procedimiento Property Get o Property Let del mismo bloque Class.

Visual Basic Scripting Edition

Página 251 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 252: Visual Basic

listaArgumentos Lista de variables que representan los argumentos que se pasan al procedimiento Property Set cuando se llama al mismo. Las comas separan los argumentos múltiples. Además, el procedimiento Property Set tendrá siempre un argumento más que su correspondiente procedimiento Property Get. Dicho argumento es el objeto que se ha asignado a la propiedad.

referencia Variable que contiene la referencia del objeto utilizado en la parte derecha de la asignación de referencias de objeto.

instrucciones Cualquier grupo de instrucciones que se van a ejecutar dentro del cuerpo del procedimiento Property Set.

Comentarios

Si no se especifica explícitamente mediante Public o Private, los procedimientos Property Set son públicos de manera predeterminada, es decir, son visibles para todos los otros procedimientos de la secuencia de comandos. El valor de las variables locales en un procedimiento Property Set no se conserva entre llamadas al procedimiento.

Puede definir un procedimiento Property Set dentro de otro procedimiento (p. ej., Function o Property Let).

La instrucción Exit Property provoca una salida inmediata de un procedimiento Property Set. La ejecución del programa continúa con la instrucción que sigue a la instrucción que llamó al procedimiento Property Set. Cualquier número de instrucciones Exit Property puede aparecer en cualquier lugar de un procedimiento Property Set.

Nota La instrucción Property Set debe definir al menos un argumento para el procedimiento que defina. Dicho argumento (o el último argumento si existe más de uno) contiene la referencia del objeto actual para la propiedad cuando se invoca el procedimiento definido por la instrucción Property Set. A dicho argumento se le denomina referencia en la sintaxis anterior.

Al igual que un procedimiento Function y Property Get, Property Set es un procedimiento separado que puede aceptar argumentos, ejecutar una serie de instrucciones y cambiar el valor de sus argumentos. Sin embargo, a diferencia de un procedimiento Function y Property Get, que devuelven un valor, sólo puede utilizar un procedimiento Property Set en la parte izquierda de una asignación de referencias de objeto (instrucción Set).

Requisitos

Versión 5

Consulte también

Instrucción Class | Instrucción Dim | Instrucción Exit | Instrucción Function | Instrucción Private | Instrucción Property Get | Instrucción Property Let | Instrucción Public | Instrucción Set | Instrucción Sub

Página 252 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 253: Visual Basic

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Instrucción Public Declara variables como públicas y libera espacio de almacenamiento. Declara, en un bloque Class, una variable privada.

Public nombreVariable[(subíndices])][, nombreVariable[([subíndices])]] . . .

Argumentos

nombreVariable Nombre de la variable. Sigue las convenciones de nomenclatura estándar de las variables.

subíndices Dimensiones de una variable de matriz. Se puede declarar hasta 60 dimensiones múltiples. El argumento subíndices utiliza la siguiente sintaxis:

superior [, superior] . . .

El límite inferior de una matriz es siempre cero.

Comentarios

Las variables de instrucciones Public están disponibles para todos los procedimientos de todas las secuencias de comandos.

Una variable que se refiere a un objeto se debe asignar a un objeto existente mediante la instrucción Set antes de que se pueda utilizar. Hasta que se asigna a un objeto, la variable del objeto declarado se inicializa como Empty.

También puede utilizar la instrucción Public con paréntesis vacíos para declarar una matriz dinámica. Después de declarar una matriz dinámica, utilice la instrucción ReDim dentro de un procedimiento para definir el número de dimensiones y elementos de la matriz. Si intenta volver a declarar una dimensión para una variable de matriz cuyo tamaño se especificó explícitamente en una instrucción Private, Publico Dim se produce un error.

El siguiente ejemplo ilustra el uso de la instrucción Public:

Public MiNumero ' Variable de tipo Variant declarada como Public. Public MiMatriz(9) ' Variable de matriz declarada como Public. ' Declaraciones Public múltiples de variables de tipo Variant. Public MiNumero, MiVar, SuNumero

Visual Basic Scripting Edition

Página 253 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 254: Visual Basic

Requisitos

Versión 1

Consulte también

Instrucción Dim | Instrucción Private | Instrucción ReDim | Instrucción Set

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Instrucción Randomize Inicializa el generador de números aleatorios.

Randomize [número]

El argumento número puede ser cualquier expresión numérica válida.

Comentarios

Randomize utiliza número para inicializar el generador de números aleatorios de la función Rnd, para ello, le asigna un nuevo valor seed. Si omite número, el valor devuelto por el temporizador del sistema se utiliza como el nuevo valor seed.

Si no se utiliza Randomize, la función Rnd (sin argumentos) utiliza el mismo número que un seed la primera vez que se le llama y después utiliza el último número generado como valor seed.

Nota Para repetir secuencias de números aleatorios, llame a Rnd con un argumento negativo inmediatamente antes de utilizar Randomize con un argumento numérico. Utilizar Randomize con el mismo valor para número no repite la secuencia anterior.

El siguiente ejemplo ilustra el uso de la instrucción Randomize.

Dim MiValor, Respuesta Randomize ' Inicializa el generador de números aleatorios. 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

Visual Basic Scripting Edition

Página 254 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 255: Visual Basic

Versión 1

Consulte también

Función Rnd | Función Timer

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Instrucción ReDim Declara variables de matriz dinámica y asigna o vuelve a asignar espacio de almacenamiento para procedimientos.

ReDim [Preserve] nombreVariable(subíndices) [, nombreVariable(subíndices)] . . .

Argumentos

Preserve Conserva los datos en una matriz existente cuando modifica el tamaño de la última dimensión.

nombreVariable Nombre de la variable. Sigue las convenciones de nomenclatura estándar de las variables.

subíndices Dimensiones de una variable de matriz. Se puede declarar hasta 60 dimensiones múltiples. El argumento subíndices utiliza la siguiente sintaxis:

superior [, superior] . . .

El límite inferior de una matriz es siempre cero.

Comentarios

La instrucción ReDim se utiliza para cambiar el tamaño de una matriz dinámica que ya se ha declarado formalmente mediante una instrucción Private, Public o Dim con paréntesis vacío (sin subíndices de tamaño). Puede utilizar la instrucción ReDim repetidamente para cambiar el número de elementos y dimensiones de una matriz.

Si utiliza la palabra clave Preserve, puede modificar el tamaño sólo de la última dimensión de la matriz y no puede modificar el número de dimensiones. Por ejemplo, si su matriz tiene sólo una dimensión, puede cambiar el tamaño de dicha dimensión porque es la única y última. Sin embargo, si su matriz tiene dos o más dimensiones, sólo puede cambiar el tamaño de la última dimensión y aún conservar el contenido de la matriz.

Visual Basic Scripting Edition

Página 255 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 256: Visual Basic

El siguiente ejemplo muestra cómo puede incrementar el tamaño de la última dimensión de una matriz dinámica sin borrar ningún dato contenido en la matriz.

ReDim X(10, 10, 10) . . . ReDim Preserve X(10, 10, 15)

Precaución Si reduce el tamaño original de una matriz, se pierden los datos de los elementos eliminados.

Cuando se inicializan variables, se inicializa una variable numérica como 0 y una variable de cadena se inicializa como una cadena de longitud cero (""). Una variable que se refiere a un objeto se debe asignar a un objeto existente mediante la instrucción Set antes de que se pueda utilizar. Hasta que se le asigna un objeto, la variable de objeto declarada tiene el valor especial Nothing.

Requisitos

Versión 1

Consulte también

Instrucción Dim | Instrucción Set

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Instrucción Rem Incluye comentarios explicativos en un programa.

Rem comentario

o bien

' comentario

El argumento comentario es el texto de cualquier comentario que desee incluir. Después de la palabra clave Rem, se necesita un espacio antes del comentario.

Comentarios

Tal y como se muestra en la sección de sintaxis, puede utilizar un apóstrofe (') en lugar de la palabra clave Rem. Si la palabra clave Rem sigue a otras instrucciones en una línea, debe estar separada de las

Visual Basic Scripting Edition

Página 256 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 257: Visual Basic

mismas por dos puntos. Sin embargo, cuando utiliza un apóstrofe, no son necesarios los dos puntos después de otras instrucciones.

El siguiente ejemplo ilustra el uso de la instrucción Rem.

Dim MiCadena1, MiCadena2 MiCadena1 = "Hola" : Rem Comentario después de una instrucción separado por dos puntMiCadena2 = "Adiós" ' Esto es también un comentario; no se necesitan dos puntos.Rem Comentario en una línea sin código; no se necesitan dos puntos.

Requisitos

Versión 1

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Instrucción Select Case Ejecuta uno o varios grupos de instrucciones, según el valor de una expresión.

Select Case expresiónprueba [Case listaexpresiones-n [instrucciones-n]] . . . [Case Else listaexpresiones-n [instruccioneselse-n]] End Select

Argumentos

expresiónprueba Cualquier expresión de cadena o numérica.

listaexpresiones-n Necesario si aparece Case. Lista delimitada de una o más expresiones.

instrucciones-n Una o más instrucciones ejecutadas si expresiónprueba coincide con cualquier parte de listaexpresiones-n.

instruccioneselse-n Una o varias instrucciones ejecutadas si expresiónprueba no coincide con ninguna de las claúsulas Case.

Comentarios

Si expresiónprueba coincide con cualquier expresión Case de listaexpresiones, las instrucciones que

Visual Basic Scripting Edition

Página 257 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 258: Visual Basic

siguen a dicha claúsula Case se ejecutan hasta la siguiente claúsula Case, o para la última claúsula, hasta End Select. Entonces se pasa el control a la instrucción End Select siguiente. Si expresiónprueba coincide con una expresión de listaexpresiones en más de una claúsula Case, sólo se ejecutan las instrucciones que siguen a la primera coincidencia.

La claúsula Case Else se utiliza para indicar las instruccioneselse que se van a ejecutar si no se encuentra ninguna coincidencia entre la expresiónprueba y una listaexpresiones en cualquier de las otras selecciones Case. Aunque no es necesario, es una buena idea tener una instrucción Case Else en su bloque Select Case para controlar los valores de expresiónprueba imprevistos. Si ninguna instrucción Case con listaexpresiones coincide con expresiónprueba y no existe ninguna instrucción Case Else, la ejecución continúa en la instrucción que sigue a End Select.

Las instrucciones Select Case se pueden anidar. Cada instrucción Select Case anidada debe tener una instrucción End Select coincidente.

El siguiente ejemplo ilustra el uso de la instrucción Select Case.

Dim Color, MiVar Sub CambiarFondo (Color) MiVar = lcase (Color) Select Case MiVar Case "rojo document.bgColor = "red" Case "verde" document.bgColor = "green" Case "azul" document.bgColor = "blue" Case Else MsgBox "Elija otro color" End Select End Sub

Requisitos

Versión 1

Consulte también

Instrucción If...Then...Else

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Instrucción Set Asigna una referencia de objeto a una variable o propiedad, o asocia una referencia de procedimiento con un evento.

Visual Basic Scripting Edition

Página 258 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 259: Visual Basic

Set variableObjeto = {expresiónObjeto | New nombreClase | Nothing}

o bien

Set objeto.nombreEvento = GetRef(nombreProc)

Parámetros

variableObjeto Requerido. Nombre de la variable o propiedad. Sigue las convenciones de nomenclatura estándar de las variables.

expresiónObjeto Opcional. Expresión que se compone del nombre de un objeto, otra variable declarada del mismo tipo de objeto, o una función o método que devuelve un objeto del mismo tipo.

New Palabra clave utilizada para crear una nueva instancia de una clase. Si variableObjeto contiene una referencia a un objeto, se libera esa referencia al asignar el objeto nuevo. La palabra clave New sólo se puede utilizar para crear una instancia de una clase.

nombreClase Opcional. Nombre de la clase que se está creando. La instrucción Class su usa para definir una clase y sus miembros.

Nothing Opcional. Interrumpe la asociación de variableObjeto con cualquier objeto o clase específica. Al asignar variableObjeto a Nothing, se liberan todos los recursos del sistema y memoria asociados con el objeto previamente referenciado, cuando ninguna otra variable se refiere a él.

objeto Requerido. Nombre del objeto con que está asociado evento.

evento Requerido. Nombre del evento con que se enlazará la función.

nombreProc Requerido. Cadena que contiene el nombre del Sub o Function que se asociará con el evento.

Comentarios

Para ser válido, variableObjeto debe ser un tipo de objeto consistente con el objeto al que se está asignando.

Las instrucciones Dim, Private, Public o ReDim sólo declaran una variable que se refiere a un objeto. En realidad no se referencia ningún objeto hasta que utilice la instrucción Set para asignar un objeto especifico.

Generalmente, cuando utiliza Set para asignar una referencia de objeto a una variable, no se crea una copia del objeto para esa variable. En vez de eso, se crea una referencia al objeto. Se puede referir más de una variable de objeto al mismo objeto. Puesto que estas variables son referencias del objeto (en vez de copias), los cambios en el objeto se reflejan en todas las variables que se refieran a él.

Function MostrarEspacioLibre(rutaUnidad) Dim fso, d, s Set fso = CreateObject("Scripting.FileSystemObject") Set d = fso.GetDrive(fso.GetDriveName(rutaUnidad)) s = "Unidad " & UCase(rutaUnidad) & " - "

Página 259 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 260: Visual Basic

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 instrucción Dim (o equivalente).

Consulte la documentación de la función GetRef para obtener más información acerca del uso de Set para asociar un procedimiento con un evento.

Requisitos

Versión 1

Consulte también

Operador de asignación (=) | Instrucción Dim | Función GetRef | Instrucción ReDim

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Instrucción Sub Declara el nombre, argumentos y código que forman el cuerpo de un procedimiento Sub.

[Public [Default] | Private] Sub nombre [(listaArgumentos)] [instrucciones] [Exit Sub] [instrucciones] End Sub

Argumentos

Public Indica que el procedimiento Sub es accesible para todos los otros procedimientos de todas las secuencias de comandos.

Default Utilizado sólo con la palabra clave Public en un bloque Class para indicar que el procedimiento Sub es el método predeterminado para la clase. Se produce un error si se especifica más de un error Default en una clase.

Private

Visual Basic Scripting Edition

Página 260 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 261: Visual Basic

Indica que el procedimiento Sub es accesible sólo para otros procedimientos de la secuencia de comandos donde se ha declarado.

nombre Nombre de Sub. Sigue las convenciones de nomenclatura estándar de las variables.

listaArgumentos Lista de variables que representan los argumentos que se pasan al procedimiento Sub cuando se le llama. Las comas separan las variables múltiples.

instrucciones Cualquier grupo de instrucciones que se van a ejecutar dentro del cuerpo del procedimiento Sub.

El argumento listaArgumentos tiene la siguiente sintaxis:

[ByVal | ByRef] nombreVariable[( )]

Argumentos

ByVal Indica que el argumento se ha pasado por valor.

ByRef Indica que el argumento se ha pasado por referencia.

nombreVariable Nombre de la variable que representa el argumento. Sigue las convenciones de nomenclatura estándar de las variables.

Comentarios

Si no se especifica explícitamente con Public o Private, los procedimientos Sub son públicos de manera predeterminada, es decir, son visibles para todos los otros procedimientos de su secuencia de comandos. El valor de las variables locales en el procedimiento Sub no se conserva entre llamadas al procedimiento.

No puede definir un procedimiento Sub dentro de cualquier otro procedimiento (p. ej. Function o Property Get).

La instrucción Exit Sub provoca una salida inmediata de un procedimiento Sub. La ejecución del programa continúa con la instrucción que sigue a la que llamó al procedimiento Sub. Puede aparecer cualquier número de instrucciones Exit Sub en cualquier lugar de un procedimiento Sub.

Al igual que un procedimiento Function, Sub es un procedimiento separado que puede aceptar argumentos, ejecutar una serie de instrucciones y cambiar el valor de sus argumentos. Sin embargo, a diferencia de un procedimiento Function, que devuelve un valor, un procedimiento Sub no se puede utilizar en una expresión.

Se llama a un procedimiento Sub mediante su nombre seguido de la lista de argumentos. Remítase a la instrucción Call para obtener información específica acerca de cómo llamar a un procedimiento Sub.

Precaución Los procedimientos Sub pueden ser recursivos, es decir, pueden llamarse a sí mismos para realizar una tarea concreta. Sin embargo, la recursividad puede dar lugar a un desbordamiento de pila.

Página 261 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 262: Visual Basic

Las variables utilizadas en los procedimientos Sub pertenecen a dos categorías: aquellas que se declaran explícitamente dentro del procedimiento y aquellas que no. Las variables que se declaran explícitamente dentro de un procedimiento (con Dim o su equivalente) son siempre locales al procedimiento. Las variables que se utilizan pero no se declaran explícitamente dentro de un procedimiento son también locales a no ser que se declaren explícitamente en algún nivel superior fuera del procedimiento.

Precaución Un procedimiento puede utilizar una variable que no se declare explícitamente en el procedimiento, pero puede producirse un conflicto de nomenclatura si cualquiera de los elementos que ha definido tiene el mismo nombre en el nivel de secuencia de comandos. Si el procedimiento hace referencia a una variable que no está declarada y que tiene el mismo nombre que otro procedimiento, constante o variable, se asume que su procedimiento hace referencia a dicho nombre del nivel de secuencia de comandos. Para evitar este tipo de conflicto, utilice una instrucción Option Explicit con la que se fuerce la declaración explícita de variables.

Requisitos

Versión 1

Consulte también

Instrucción Call | Instrucción Dim | Instrucción Exit | Instrucción Function

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Instrucción While...Wend Ejecuta una serie de instrucciones siempre que una condición dada sea True.

While condición Versión [instrucciones] Wend

Argumentos

condición Expresión de cadena o numérica que se evalúa como True o False. Si la condición es Null, la condición se trata como False.

instrucciones Una o varias instrucciones ejecutadas mientras la condición es True.

Comentarios

Visual Basic Scripting Edition

Página 262 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 263: Visual Basic

Si la condición es True, todas las instrucciones en instrucciones se ejecutan hasta que se encuentra la instrucción Wend. Entonces se devuelve el control a la instrucción While y la condición se comprueba de nuevo. Si la condición es aún True, se repite el proceso. Si no es True, se reanuda la ejecución con la instrucción que sigue a Wend.

Los bucles While...Wend se pueden anidar en cualquier nivel. Cada Wend coincide con el elemento While más reciente.

Nota La instrucción Do...Loop proporciona una manera más estructurada y flexible de realizar bucles.

El siguiente ejemplo ilustra el uso de la instrucción While...Wend:

Dim Contador Contador = 0 ' Inicializa la variable. While Contador < 20 ' Comprueba el valor de Contador. Contador = Contador + 1 ' Incrementa el contador. Alert Contador Wend ' Termina el bucle While cuando Contador > 19.

Requisitos

Versión 1

Consulte también

Instrucción Do...Loop

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Instrucción With Ejecuta una serie de instrucciones en un único objeto.

With objeto instrucciones End With

Argumentos

objeto Requerido. Nombre de un objeto o de una función que devuelve un objeto.

instrucciones

Visual Basic Scripting Edition

Página 263 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm

Page 264: Visual Basic

Requerido. Una o varias instrucciones que se van a ejecutar en el objeto.

Comentarios

La instrucción With le permite ejecutar una serie de instrucciones en un objeto específico sin volver a cualificar el objeto. Por ejemplo, para cambiar un número de diferentes propiedades en un único objeto, sitúe las instrucciones de asignación de propiedad dentro de la estructura de control With y haga referencia al objeto una vez en lugar de hacerlo con cada asignación de propiedad. El siguiente ejemplo ilustra el uso de la instrucción With para asignar valores a diversas propiedades del mismo objeto.

With MiEtiqueta .Height = 2000 .Width = 2000 .Caption = "Esta es MiEtiqueta" End With

Mientras que la manipulación de la propiedad es un aspecto importante de la funcionalidad de With, no es su único uso. Se puede utilizar cualquier porción de código válido dentro de un bloque With.

Nota Una vez que se ha escrito un bloque With, el objeto no se puede cambiar. Como resultado, no puede utilizar una única instrucción With para afectar a un número de objetos diferentes.

Puede anidar declaraciones With si ubica un bloque With dentro de otro. Sin embargo, dado que los miembros de bloques With externos se enmascaran dentro de bloques With internos, debe proporcionar una referencia de objeto cualificado completo en un bloque With interno para cualquier miembro de un objeto de un bloque With externo.

Importante No salte dentro o fuera de bloques With. Si se ejecutan las instrucciones de un bloque With, pero no se ejecuta cualquiera de la instrucción With o End With, pueden producirse errores o un comportamiento inesperado.

Requisitos

Versión 1

Consulte también

Instrucción Set

© 2001 Microsoft Corporation. Reservados todos los derechos.

Build: Versión de tema 5.6.9309.1546

Página 264 de 264VBScript

04/12/2012file://C:\Documents and Settings\liena\Configuración local\Temp\~hh43FB.htm