Visual Basic
Transcript of 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
¿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
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
<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
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
© 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
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
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
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
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
© 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
<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
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
<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
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
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
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
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
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
(?!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
© 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
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
'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
© 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
"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
/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
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
/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
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
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
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
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
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
"\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
/(\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
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
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
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
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
© 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
© 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
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
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
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
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
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
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
© 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
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
© 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
© 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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: <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
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
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
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
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
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
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
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
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
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
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
© 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
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
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
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
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
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
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
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
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
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
© 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
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
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
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
© 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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: <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
</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
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
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
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
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
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
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
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
© 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
© 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
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
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
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
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
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
** 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
� 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
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
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
© 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
© 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
© 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
[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
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
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
© 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
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
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
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
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
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
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
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
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
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
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
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