VBScript

Guía de usuario de VBScript

Referencia del lenguaje de VBScript

Aspectos básicos de FileSystemObject

Referencia para la ejecución de secuencias de comandos

©2000 Microsoft Corporation. Reservados todos los derechos.


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

Ejecutar código en bucle

Procedimientos de VBScript

Convenciones de código de VBScript

Usar VBScript en Internet Explorer

Una página simple de VBScript

VBScript y los formularios

Usar VBScript con objetos


¿Qué es VBScript?

Microsoft Visual Basic Scripting Edition, el miembro más reciente de la familia de lenguajes de programación de Visual Basic, 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, 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.

ActiveX Scripting

VBScript se comunica con las aplicaciones principales mediante ActiveX® Scripting. Con ActiveX Scripting, los exploradores y otras aplicaciones principales no necesitan ningún código de integración especial para cada componente de ejecución de secuencias de comandos. ActiveX Scripting 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 ActiveX Scripting, los proveedores del lenguaje pueden crear bibliotecas de tiempo de ejecución del lenguaje estándar 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 ActiveX Scripting de manera que los motores de ejecución de secuencias de comandos se puedan intercambiar. ActiveX Scripting se utiliza en Microsoft® Internet Explorer y en 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 del World Wide Web. VBScript y ActiveX Scripting también se pueden utilizar como un lenguaje de ejecución de secuencias de comandos general en otras aplicaciones.


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:

<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.


Aspectos básicos de VBScript

Tipos de datos de VBScript

Variables de VBScript

Constantes de VBScript

Operadores de VBScript

Usar instrucciones condicionales

Ejecutar código en bucle

Procedimientos de VBScript

Convenciones de código de VBScript


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.

Subtipo | Descripción
Empty | 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.
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.

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.


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 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 ámbito local y se llama 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)

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 reduce el tamaño de una matriz, perderá los datos de los elementos eliminados.


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 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.


Operadores de VBScript

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 |  | Comparación |  | Lógico |
Descripción | Símbolo | Descripción | Símbolo | Descripción | Símbolo
Exponenciación | ^ | Igualdad | = | Negación lógica | Not
Negación unaria | - | Desigualdad | <> | Conjunción lógica | And
Multiplicación | * | Menor que | < | Disyunción lógica | Or
División | / | Mayor que | > | Exclusión lógica | Xor
División de número entero | \ | Menor o igual que | <= | Equivalencia lógica | Eqv
Módulo aritmético | Mod | Mayor o igual que | >= | Implicación lógica | Imp
Suma | + | Equivalencia de objeto | Is |  |
Resta | - |  |  |  |
Concatenación de cadenas | & |  |  |  |

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.


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()
   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.

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.


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.
  • 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
      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 For especifica la variable de contador x y sus valores de inicio y fin. La instrucción Next incrementa la 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">
<!--
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>


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.

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. Function devuelve 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:

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 .


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:

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.

Subtipo | Prefijo | Ejemplo
Boolean | bln | blnFound
Byte | byt | bytRasterData
Date (hora) | dtm | dtmStart
Double | dbl | dblTolerance
Error | err | errOrderNum
Integer | int | intQuantity
Long | lng | lngDistance
Object | obj | objCurrent
Single | sng | sngAverage
String | str | strFirstName

Ámbito de la variable

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

Ámbito | Donde se declara la variable | Visibilidad
Nivel de procedimiento | Procedimiento Event, Function o Sub | Visible en el procedimiento donde se declara
Nivel 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

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.

Ámbito | Prefijo | Ejemplo
Nivel de procedimiento | Ninguno | dblVelocity
Nivel de secuencia de comandos | s | sblnCalcInProgress

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.

Tipo de objeto | Prefijo | Ejemplo
Panel 3D | pnl | pnlGroup
Botón animado | ani | aniMailBox
Casilla de verificación | chk | chkReadOnly
Cuadro combinado, cuadro de lista desplegable | cbo | cboEnglish
Botón de comando | cmd | cmdExit
Diálogo común | dlg | dlgFileOpen
Marco | fra | fraLanguage
Barra de desplazamiento horizontal | hsb | hsbVolume
Imagen | img | imgIcon
Etiqueta | lbl | lblHelpMessage
Línea | lin | linVertical
Cuadro de lista | lst | lstPolicyCodes
Botón de número | spn | spnPages
Cuadro de texto | txt | txtLastName
Barra de desplazamiento vertical | vsb | vsbRate
Control deslizante | sld | sldScale

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.

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

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.

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. Por ejemplo:
'*********************************************************
' 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
   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


VBScript en Internet Explorer

Una página simple de VBScript

VBScript y los formularios

Usar VBScript con objetos


Una página sencilla de VBScript

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).

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


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;" language="jscript">
Escriba un número entre 1 y 10:
<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>

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).

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™.


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 <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). 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.

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


Referencia del lenguaje VBScript

Información de características

Lista de palabras clave por orden alfabético

Constantes

Errores

Eventos

Funciones

Métodos

Objetos

Operadores

Propiedades

Instrucciones

Reciba la bienvenida a la Referencia del lenguaje VBScript

Esta información le ayudará a familiarizarse con las distintas partes de VBScript.

Cada parte del lenguaje VBScript se enumera alfabéticamente bajo la Lista de palabras clave por orden alfabético. Si desea examinar sólo una categoría, por ejemplo, objetos, basta con que haga clic en el encabezado de los objetos, y solamente verá los objetos de VBScript.

Haga clic en el encabezado de la izquierda para mostrar una lista de los elementos que se incluyen en esa categoría. En dicha lista, seleccione el tema que desea ver. Una vez que haya abierto un tema, podrá consultar fácilmente a otras secciones relacionadas.

Tómese su tiempo para explorar las distintas partes que componen la Referencia del lenguaje VBScript, y compruebe lo versátil que este lenguaje puede llegar a ser.

Características | Descripción
Información de la versión | Lista de versiones de VBScript por aplicación host y características por versión.
Características de VBScript | Lista de características de VBScript.
Características de VBA que no están presentes en VBScript | Lista de características de Visual Basic: Edición para aplicaciones que no están disponibles en VBScript.
Características de VBScript que no están presentes en VBA | Lista de características de VBScript que no están disponibles en Visual Basic: Edición para aplicaciones.
Características de la biblioteca de tiempo de ejecución de secuencias de comandos de Microsoft | Lista de características de tiempo de ejecución de secuencias de comandos disponibles actualmente en VBScript.
Elemento del lenguaje | Descripción
Abs (función) | Devuelve el valor absoluto de un número.
+ (suma) (operador) | Suma dos números.
And (operador) | Realiza la conjunción lógica de dos expresiones.
Array (función) | Devuelve una variable de tipo Variant que contiene una matriz.
Asc (función) | Devuelve el código de caracteres ANSI correspondiente a la primera letra de una cadena.
= (asignación) (operador) | Asigna un valor a una propiedad o variable.
Atn (función) | Devuelve el arcotangente de un número.
Call (instrucción) | Transfiere el control a un procedimiento Sub o Function.
CBool (función) | Devuelve una expresión que se ha convertido en una variable Variant del subtipo Boolean.
CByte (función) | Devuelve una expresión que se ha convertido en una variable Variant del subtipo Byte.
CCur (función) | Devuelve una expresión que se ha convertido en una variable Variant del subtipo Currency.
CDate (función) | Devuelve una expresión que se ha convertido en una variable Variant del subtipo Date.
CDbl (función) | Devuelve una expresión que se ha convertido en una variable Variant del subtipo Double.
Chr (función) | Devuelve el carácter asociado con el código de caracteres ANSI especificado.
CInt (función) | Devuelve una expresión que se ha convertido en una variable Variant del subtipo Integer.
Class (objeto) | Proporciona acceso a los sucesos de una clase creada.
Class (instrucción) | Declara el nombre de una clase.
Clear (método) | Quita todos los valores de propiedad del objeto Err.
CLng (función) | Devuelve una expresión que se ha convertido en una variable Variant del subtipo Long.
Constantes de colores | Lista de constantes de color.
Constantes de comparaciones | Lista de las constantes utilizadas en las operaciones de comparación.
& (concatenación) (operador) | Realiza la concatenación de cadenas en dos expresiones.
Const (instrucción) | Declara constantes para utilizar en lugar de valores literales.
Cos (función) | Devuelve el coseno de un ángulo.
CreateObject (función) | Crea y devuelve una referencia a un objeto de automatización.
CSng (función) | Devuelve una expresión que se ha convertido en una variable Variant del subtipo Single.
CStr (función) | Devuelve una expresión que se ha convertido en una variable Variant del subtipo String.
Constantes de fecha y hora | Lista de constantes que definen los días de la semana y otras constantes utilizadas en las operaciones de fecha y hora.
Constantes de formato de fecha | Lista de las constantes utilizadas para dar formato a las fechas y las horas.
Date (función) | Devuelve la fecha actual del sistema.
DateAdd (función) | Devuelve una fecha a la que se ha agregado un intervalo de hora especificado.
DateDiff (función) | Devuelve el número de intervalos entre dos fechas.
DatePart (función) | Devuelve la parte especificada de una fecha dada.
DateSerial (función) | Devuelve una variable Variant del subtipo Date para un año, mes o día especificado.
DateValue (función) | Devuelve una variable Variant del subtipo Date.
Day (función) | Devuelve un entero entre 1 y 31, inclusive, que representa el día del mes.
Description (propiedad) | Devuelve o establece una cadena descriptiva asociada con un error.
Dictionary (objeto) | Objeto que almacena parejas de datos clave-elemento.
Dim (instrucción) | Declara variables y asigna espacio de almacenamiento.
/ (división) (operador) | Divide dos números y devuelve un resultado en coma flotante.
Do...Loop (instrucción) | Repite un bloque de instrucciones mientras una condición es True o hasta que una condición sea True.
Empty | Indica un valor de variable sin inicializar.
Eqv (operador) | Realiza una equivalencia lógica de dos expresiones.
Erase (instrucción) | Reinicializa los elementos de matrices de tamaño fijo y libera espacio de almacenamiento de la matriz dinámica.
Err (objeto) | Contiene información acerca de los errores en tiempo de ejecución.
Eval (función) | Evalúa una expresión y devuelve el resultado.
Execute (método) | Ejecuta una búsqueda de expresión regular en una cadena especificada.
Execute (instrucción) | Ejecuta una o varias instrucciones especificadas.
Instrucción ExecuteGlobal | Ejecuta una o varias instrucciones especificadas en el espacio de nombres global de una secuencia de comandos.
Exit (instrucción) | Sale de un bloque de código Do...Loop, For...Next, Function o Sub.
Exp (función) | Devuelve e (la base de los logaritmos naturales) elevado a una potencia.
^ (exponenciación) (operador) | Eleva un número a la potencia de un exponente.
False | Palabra clave con un valor igual a cero.
FileSystemObject (objeto) | Proporciona acceso al sistema de archivos de un equipo.
Filter (función) | Devuelve una matriz que comienza en cero y contiene un subconjunto de una matriz de cadenas en función de un criterio de filtro especificado.
FirstIndex (propiedad) | Devuelve la posición al lugar donde se ha producido una coincidencia en una cadena de búsqueda .
Fix (función) | Devuelve la parte entera de un número.
For...Next (instrucción) | Repite un grupo de instrucciones un número de veces especificado.
For Each...Next (instrucción) | Repite un grupo de instrucciones para cada elemento en una matriz o colección.
FormatCurrency (función) | Devuelve una expresión con formato de moneda y con el símbolo de moneda definido en el panel de control del sistema.
FormatDateTime (función) | Devuelve una expresión con un formato de fecha u hora.
FormatNumber (función) | Devuelve una expresión con un formato de número.
FormatPercent (función) | Devuelve una expresión con formato de porcentaje (multiplicada por 100) y un carácter % al final.
Function (instrucción) | Declara el nombre, argumentos y código que forman el cuerpo de un procedimiento Function.
GetLocale (función) | Devuelve el valor de Id. de la configuración regional actual.
GetObject (función) | Devuelve una referencia a un objeto de Automatización desde un archivo.
GetRef (función) | Devuelve una referencia a un procedimiento que puede enlazarse a un suceso.
Global (propiedad) | Establece o devuelve un nuevo valor Boolean.
Hex (función) | Devuelve una cadena que representa el valor hexadecimal de un número.
HelpContext (propiedad) | Establece o devuelve un Id. de contexto para un tema de un archivo de Ayuda.
HelpFile | Establece o devuelve la ruta de acceso completa de un archivo de Ayuda.
Hour (función) | Devuelve un entero entre 0 y 23, inclusive, que representa la hora del día.
If...Then...Else (instrucción) | Ejecuta de forma condicional un grupo de instrucciones, según el valor de una expresión.
IgnoreCase (propiedad) | Establece o devuelve un valor Boolean que indica si un modelo de búsqueda distingue o no mayúsculas.
Imp (operador) | Realiza una implicación lógica de dos expresiones.
Initialize (evento) | Se produce al crear una instancia de la clase asociada.
InputBox (función) | Muestra una solicitud de datos 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.
InStr (función) | Devuelve la posición de la primera aparición de una cadena dentro de otra.
InStrRev (función) | Devuelve la posición de la aparición de una cadena dentro de otra, desde el final de la cadena.
Int (función) | Devuelve la parte entera de un número.
\ (división de enteros) (operador) | Divide dos números y devuelve un resultado entero.
Is (operador) | Compara dos variables de referencia de objeto.
IsArray (función) | Devuelve un valor de tipo Boolean que indica si una variable es una matriz.
IsDate (función) | Devuelve un valor de tipo Boolean que indica si una expresión puede convertirse en una fecha.
IsEmpty (función) | Devuelve un valor de tipo Boolean que indica si una variable se ha inicializado.
IsNull (función) | Devuelve un valor de tipo Boolean que indica si una expresión no contiene ningún dato válido (Null).
IsNumeric (función) | Devuelve un valor de tipo Boolean que indica si una expresión puede evaluarse como un número.
IsObject (función) | Devuelve un valor de tipo Boolean que indica si una expresión hace referencia a un objeto de Automatización válido.
Join (función) | Devuelve una cadena creada a partir de la unión de varias subcadenas contenidas en una matriz.
LBound (función) | Devuelve el menor subíndice disponible para la dimensión indicada de una matriz.
LCase (función) | Devuelve una cadena que se ha convertido a minúsculas.
Locale ID (LCID) (tabla) | Lista de identificadores de configuración regional y sus valores asociados.
Left (función) | Devuelve un número especificado de caracteres desde el lado izquierdo de una cadena.
Len (función) | Devuelve el número de caracteres de una cadena o el número de bytes necesarios para almacenar una variable.
Length (propiedad) | Devuelve la longitud de una coincidencia encontrada en una cadena de búsqueda.
LoadPicture (función) | Devuelve un objeto de imagen. Disponible sólo en plataformas de 32 bits.
Log (función) | Devuelve el logaritmo natural de un número.
LTrim (función) | Devuelve la copia de una cadena sin espacios iniciales.
Match (objeto) | Proporciona acceso a las propiedades de sólo lectura de una coincidencia de expresión regular.
Matches (colección) | Colección de objetos de expresión regular Match.
Mid (función) | Devuelve un número especificado de caracteres de una cadena.
Minute (función) | Devuelve un número entero entre 0 y 59, inclusive, que representa el minuto de la hora.
Constantes varias | Lista de constantes que no pueden incluirse en ninguna otra categoría.
Mod (operador) | Divide dos números y devuelve sólo el resto.
Month (función) | Devuelve un número entero entre 1 y 12, inclusive, que representa el mes del año.
MonthName (función) | Devuelve una cadena que indica el mes especificado.
Constantes de MsgBox | Lista de constantes utilizadas con la función MsgBox.
MsgBox (función) | 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 el usuario hizo clic.
* (multiplicación) (operador) | Multiplica dos números.
- (negación) (operador) | Indica el valor negativo de una expresión numérica.
Not (operador) | Realiza una negación lógica en una expresión.
Now (función) | Devuelve la fecha y hora actual de acuerdo con la configuración de fecha y hora del sistema de un equipo.
Nothing | Disocia una variable de objeto de cualquier objeto real.
Null | Indica que una variable no contiene ningún valor válido.
Number (propiedad) | Devuelve o establece un valor numérico que especifica un error.
Oct (función) | Devuelve una cadena que representa el valor octal de un número.
On Error (instrucción) | Habilita el control de errores.
Precedencia de los operadores | Lista que muestra el orden de precedencia de los distintos operadores utilizados en VBScript.
Option Explicit (isntrucción) | Fuerza la declaración explícita de todas las variables de una secuencia de comandos.
Or (operador) | Realiza una disyunción lógica entre dos expresiones.
Pattern (propiedad) | Establece o devuelve el modelo de expresión regular que se está buscando.
Private (instrucción) | Declara variables como privadas y les asigna espacio de almacenamiento.
PropertyGet (instrucción) | Declara el nombre, los argumentos y el código que forman el cuerpo de un procedimiento Property que toma (devuelve) el valor de una propiedad.
PropertyLet (instrucción) | Declara el nombre, los argumentos y el código que forman el cuerpo de un procedimiento Property que asigna el valor de una propiedad.
PropertySet (instrucción) | Declara el nombre, los argumentos y el código que forman el cuerpo de un procedimiento Property que establece una referencia a un objeto.
Public (instrucción) | Declara variables como públicas y asigna espacio de almacenamiento.
Raise (método) | Genera un error en tiempo de ejecución.
Randomize (instrucción) | Inicializa el generador de números aleatorios.
ReDim (instrucción) | Declara variables de matriz dinámica y asigna o vuelve a asignar espacio de almacenamiento para procedimientos.
RegExp (objeto) | Proporciona compatibilidad con expresiones regulares simples.
Rem (instrucción) | Incluye comentarios explicativos en un programa.
Replace (función) | Devuelve una cadena en la que una subcadena especificada se ha reemplazado con otra subcadena un número determinado de veces.
Replace (método) | Reemplaza el texto encontrado en una búsqueda de expresión regular.
RGB (función) | Devuelve un número entero que representa un valor de color RGB.
Right (función) | Devuelve un número especificado de caracteres desde el lado derecho de una cadena.
Rnd (función) | Devuelve un número aleatorio.
Round (función) | Devuelve un número redondeado a una cantidad especificada de separadores decimales.
Errores de tiempo de ejecución | Lista de los errores en tiempo de ejecución de VBScript
RTrim (función) | Devuelve una copia de una cadena sin espacios finales.
ScriptEngine (función) | Devuelve una cadena que representa el lenguaje de secuencias de comandos utilizado.
ScriptEngineBuildVersion (función) | Devuelve el número de compilación del motor de secuencias de comandos que se usa.
ScriptEngineMajorVersion (función) | Devuelve el número de versión principal del motor de secuencias de comandos que se usa.
ScriptEngineMinorVersion (función) | Devuelve el número de revisión del motor de secuencias de comandos que se usa.
Second (función) | Devuelve un entero entre 0 y 59, inclusive, que representa el segundo del minuto.
Select Case (instrucción) | Ejecuta uno o varios grupos de instrucciones, según el valor de una expresión.
Instrucción Set | Asigna una referencia de objeto a una propiedad o variable.
SetLocale (función) | Establece la ubicación global y devuelve la ubicación previa.
Sgn (función) | Devuelve un entero que indica el signo de un número.
Sin (función) | Devuelve el seno de un ángulo.
Source (propiedad) | Devuelve o establece el nombre del objeto o aplicación que generó originalmente el error.
Space (función) | Devuelve una cadena que consta del número especificado de espacios.
Split (función) | Devuelve una matriz unidimensional que empieza en cero y contiene un número especificado de subcadenas.
Sqr (función) | Devuelve la raíz cuadrada de un número.
StrComp (función) | Devuelve un valor que indica el resultado de una comparación de cadena.
Constantes de cadena | Lista de constantes de cadena.
String (función) | Devuelve una cadena de caracteres repetida de la longitud especificada.
StrReverse (función) | Devuelve una cadena en la que se invierte el orden de caracteres de una cadena especificada.
Sub (instrucción) | Declara el nombre, argumentos y código que forman el cuerpo de un procedimiento Sub.
- (sustracción) (operador) | Busca la diferencia entre dos números o indica el valor negativo de una expresión numérica.
Errores de sintaxis | Lista de los errores de sintaxis de VBScript.
Tan (función) | Devuelve la tangente de un ángulo.
Terminate (evento) | Se produce cuando se finaliza una instancia de la clase asociada.
Test (método) | Ejecuta una búsqueda de expresión regular en una cadena especificada.
Time (función) | Devuelve una variable Variant del subtipo Date que indica la hora actual del sistema.
Timer (función) | Devuelve el número de segundos transcurridos desde las 12:00 a.m. (medianoche).
TimeSerial (función) | Devuelve una variable Variant del subtipo Date que contiene la hora correspondiente a una hora, minuto y segundo específico.
TimeValue (función) | Devuelve una variable Variant del subtipo Date que contiene la hora.
Trim (función) | Devuelve una copia de una cadena sin espacios iniciales o finales.
Constantes de triple estado | Se usan en cualquier parte del código para representar los valores mostrados para cada uno.
True | Palabra clave con un valor igual a -1.
TypeName (función) | Devuelve una cadena que proporciona información del subtipo Variant acerca de una variable.
UBound (función) | Devuelve el mayor subíndice disponible para la dimensión indicada de una matriz.
UCase (función) | Devuelve una cadena que se ha convertido a mayúsculas.
Value (propiedad) | Devuelve el valor o texto de una coincidencia encontrada en una cadena de búsqueda.
Constantes de VarType | Lista de las constantes que definen a los subtipos Variant.
VarType (función) | Devuelve un valor que indica el subtipo de una variable.
Constantes de VBScript | Varias categorías de constantes suministradas en VBScript.
Weekday (función) | Devuelve un número entero que representa el día de la semana.
WeekdayName (función) | Devuelve una cadena que indica el día de la semana especificado.
While...Wend (instrucción) | Ejecuta una serie de instrucciones siempre que una condición dada sea True.
With (instrucción) | Ejecuta una serie de instrucciones en un único objeto.
Xor (operador) | Realiza una exclusión lógica en dos expresiones.
Year (función) | Devuelve un número entero que representa el año.
Elemento del lenguaje | Descripción
Constantes de colores | Lista de constantes de color.
Constantes de comparaciones | Lista de las constantes utilizadas en las operaciones de comparación.
Constantes de fecha y hora | Lista de constantes que definen los días de la semana y otras constantes utilizadas en las operaciones de fecha y hora.
Constantes de formato de fecha | Lista de las constantes utilizadas para dar formato a las fechas y las horas.
Locale ID (LCID) (tabla) | Lista de identificadores de configuración regional y sus valores asociados.
Constantes varias | Lista de constantes que no pueden incluirse en ninguna otra categoría.
Constantes de MsgBox | Lista de constantes utilizadas con la función MsgBox.
Constantes de cadena | Lista de constantes de cadena.
Constantes de triple estado | Se usan en cualquier parte del código para representar los valores mostrados para cada uno.
Constantes de VarType | Lista de las constantes que definen a los subtipos Variant.
Constantes de VBScript | Varias categorías de constantes suministradas en VBScript.
Errores | Descripción
Errores de tiempo de ejecución | Lista de errores en tiempo de ejecución de VBScript.
Errores de sintaxis | Lista de errores de sintaxis de VBScript.
Elemento del lenguaje | Descripción
Initialize (evento) | Se produce al crear una instancia de la clase asociada.
Terminate (evento) | Se produce cuando se finaliza una instancia de la clase asociada.
Elemento del lenguaje | Descripción
Abs (función) | Devuelve el valor absoluto de un número.
Array (función) | Devuelve una variable de tipo Variant que contiene una matriz.
Asc (función) | Devuelve el código de caracteres ANSI correspondiente a la primera letra de una cadena.
Atn (función) | Devuelve el arcotangente de un número.
CBool (función) | Devuelve una expresión que se ha convertido en una variable Variant del subtipo Boolean.
CByte (función) | Devuelve una expresión que se ha convertido en una variable Variant del subtipo Byte.
CCur (función) | Devuelve una expresión que se ha convertido en una variable Variant del subtipo Currency.
CDate (función) | Devuelve una expresión que se ha convertido en una variable Variant del subtipo Date.
CDbl (función) | Devuelve una expresión que se ha convertido en una variable Variant del subtipo Double.
Chr (función) | Devuelve el carácter asociado con el código de caracteres ANSI especificado.
CInt (función) | Devuelve una expresión que se ha convertido en una variable Variant del subtipo Integer.
CLng (función) | Devuelve una expresión que se ha convertido en una variable Variant del subtipo Long.
Cos (función) | Devuelve el coseno de un ángulo.
CreateObject (función) | Crea y devuelve una referencia a un objeto de automatización.
CSng (función) | Devuelve una expresión que se ha convertido en una variable Variant del subtipo Single.
CStr (función) | Devuelve una expresión que se ha convertido en una variable Variant del subtipo String.
Date (función) | Devuelve la fecha actual del sistema.
DateAdd (función) | Devuelve una fecha a la que se ha agregado un intervalo de hora especificado.
DateDiff (función) | Devuelve el número de intervalos entre dos fechas.
DatePart (función) | Devuelve la parte especificada de una fecha dada.
DateSerial (función) | Devuelve una variable Variant del subtipo Date para un año, mes o día especificado.
DateValue (función) | Devuelve una variable Variant del subtipo Date.
Day (función) | Devuelve un entero entre 1 y 31, inclusive, que representa el día del mes.
Eval (función) | Evalúa una expresión y devuelve el resultado.
Exp (función) | Devuelve e (la base de los logaritmos naturales) elevado a una potencia.
Filter (función) | Devuelve una matriz que comienza en cero y contiene un subconjunto de una matriz de cadenas en función de un criterio de filtro especificado.
Fix (función) | Devuelve la parte entera de un número.
FormatCurrency (función) | Devuelve una expresión con formato de moneda y con el símbolo de moneda definido en el panel de control del sistema.
FormatDateTime (función) | Devuelve una expresión con un formato de fecha u hora.
FormatNumber (función) | Devuelve una expresión con un formato de número.
FormatPercent (función) | Devuelve una expresión con formato de porcentaje (multiplicada por 100) y un carácter % al final.
GetLocale (función) | Devuelve el valor de Id. de la configuración regional actual.
GetObject (función) | Devuelve una referencia a un objeto de Automatización desde un archivo.
GetRef (función) | Devuelve una referencia a un procedimiento que puede enlazarse a un suceso.
Hex (función) | Devuelve una cadena que representa el valor hexadecimal de un número.
Hour (función) | Devuelve un entero entre 0 y 23, inclusive, que representa la hora del día.
InputBox (función) | Muestra una solicitud de datos 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.
InStr (función) | Devuelve la posición de la primera aparición de una cadena dentro de otra.
InStrRev (función) | Devuelve la posición de la aparición de una cadena dentro de otra, desde el final de la cadena.
Int (función) | Devuelve la parte entera de un número.
IsArray (función) | Devuelve un valor Boolean que indica si una variable es una matriz.
IsDate (función) | Devuelve un valor Boolean que indica si una expresión puede convertirse en una fecha.
IsEmpty (función) | Devuelve un valor Boolean que indica si una variable se ha inicializado.
IsNull (función) | Devuelve un valor de tipo Boolean que indica si una expresión no contiene ningún dato válido (Null).
IsNumeric (función) | Devuelve un valor Boolean que indica si una expresión puede evaluarse como un número.
IsObject (función) | Devuelve un valor Boolean que indica si una expresión hace referencia a un objeto de Automatización válido.
Join (función) | Devuelve una cadena creada a partir de la unión de varias subcadenas contenidas en una matriz.
LBound (función) | Devuelve el menor subíndice disponible para la dimensión indicada de una matriz.
LCase (función) | Devuelve una cadena que se ha convertido a minúsculas.
Left (función) | Devuelve un número especificado de caracteres desde el lado izquierdo de una cadena.
Len (función) | Devuelve el número de caracteres de una cadena o el número de bytes necesarios para almacenar una variable.
LoadPicture (función) | Devuelve un objeto de imagen. Disponible sólo en plataformas de 32 bits.
Log (función) | Devuelve el logaritmo natural de un número.
LTrim (función) | Devuelve la copia de una cadena sin espacios iniciales.
Mid (función) | Devuelve un número especificado de caracteres de una cadena.
Minute (función) | Devuelve un número entero entre 0 y 59, inclusive, que representa el minuto de la hora.
Month (función) | Devuelve un número entero entre 1 y 12, inclusive, que representa el mes del año.
MonthName (función) | Devuelve una cadena que indica el mes especificado.
MsgBox (función) | 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 el usuario hizo clic.
Now (función) | Devuelve la fecha y hora actual de acuerdo con la configuración de fecha y hora del sistema de un equipo.
Oct (función) | Devuelve una cadena que representa el valor octal de un número.
Replace (función) | Devuelve una cadena en la que una subcadena especificada se ha reemplazado con otra subcadena un número determinado de veces.
RGB (función) | Devuelve un número entero que representa un valor de color RGB.
Right (función) | Devuelve un número especificado de caracteres desde el lado derecho de una cadena.
Rnd (función) | Devuelve un número aleatorio.
Round (función) | Devuelve un número redondeado a una cantidad especificada de separadores decimales.
RTrim (función) | Devuelve una copia de una cadena sin espacios finales.
ScriptEngine (función) | Devuelve una cadena que representa el lenguaje de secuencias de comandos utilizado.
ScriptEngineBuildVersion (función) | Devuelve el número de compilación del motor de secuencias de comandos que se usa.
ScriptEngineMajorVersion (función) | Devuelve el número de versión principal del motor de secuencias de comandos que se usa.
ScriptEngineMinorVersion (función) | Devuelve el número de revisión del motor de secuencias de comandos que se usa.
Second (función) | Devuelve un entero entre 0 y 59, inclusive, que representa el segundo del minuto.
SetLocale (función) | Establece la ubicación global y devuelve la ubicación previa.
Sgn (función) | Devuelve un entero que indica el signo de un número.
Sin (función) | Devuelve el seno de un ángulo.
Space (función) | Devuelve una cadena que consta del número especificado de espacios.
Split (función) | Devuelve una matriz unidimensional que empieza en cero y contiene un número especificado de subcadenas.
Sqr (función) | Devuelve la raíz cuadrada de un número.
StrComp (función) | Devuelve un valor que indica el resultado de una comparación de cadena.
String (función) | Devuelve una cadena de caracteres repetida de la longitud especificada.
StrReverse (función) | Devuelve una cadena en la que se invierte el orden de caracteres de una cadena especificada.
Tan (función) | Devuelve la tangente de un ángulo.
Time (función) | Devuelve una variable Variant del subtipo Date que indica la hora actual del sistema.
Timer (función) | Devuelve el número de segundos transcurridos desde las 12:00 a.m. (medianoche).
TimeSerial (función) | Devuelve una variable Variant del subtipo Date que contiene la hora correspondiente a una hora, minuto y segundo específico.
TimeValue (función) | Devuelve una variable Variant del subtipo Date que contiene la hora.
Trim (función) | Devuelve una copia de una cadena sin espacios iniciales o finales.
TypeName (función) | Devuelve una cadena que proporciona información del subtipo Variant acerca de una variable.
UBound (función) | Devuelve el mayor subíndice disponible para la dimensión indicada de una matriz.
UCase (función) | Devuelve una cadena que se ha convertido a mayúsculas.
VarType (función) | Devuelve un valor que indica el subtipo de una variable.
Weekday (función) | Devuelve un número entero que representa el día de la semana.
WeekdayName (función) | Devuelve una cadena que indica el día de la semana especificado.
Year (función) | Devuelve un número entero que representa el año.
Elemento del lenguaje | Descripción
Clear (método) | Quita todos los valores de propiedad del objeto Err.
Execute (método) | Ejecuta una búsqueda de expresión regular en una cadena especificada.
Raise (método) | Genera un error en tiempo de ejecución.
Replace (método) | Reemplaza el texto encontrado en una búsqueda de expresión regular.
Test (método) | Ejecuta una búsqueda de expresión regular en una cadena especificada.
Elemento del lenguaje | Descripción
Class (objeto) | Proporciona acceso a los sucesos de una clase creada.
Dictionary (objeto) | Objeto que almacena parejas de datos clave-elemento.
Err (objeto) | Contiene información acerca de los errores en tiempo de ejecución.
FileSystemObject (objeto) | Proporciona acceso al sistema de archivos de un equipo.
Match (objeto) | Proporciona acceso a las propiedades de sólo lectura de una coincidencia de expresión regular.
Matches (colección) | Colección de objetos de expresión regular Match.
RegExp (objeto) | Proporciona compatibilidad con expresiones regulares simples.
Elemento del lenguaje | Descripción
+ (suma) (operador) | Suma dos números.
And (operador) | Realiza la conjunción lógica de dos expresiones.
= (asignación) (operador) | Asigna un valor a una propiedad o variable.
& (concatenación) (operador) | Realiza la concatenación de cadenas en dos expresiones.
/ (división) (operador) | Divide dos números y devuelve un resultado en coma flotante.
Eqv (operador) | Realiza una equivalencia lógica de dos expresiones.
^ (exponenciación) (operador) | Eleva un número a la potencia de un exponente.
Imp (operador) | Realiza una implicación lógica de dos expresiones.
\ (división de enteros) (operador) | Divide dos números y devuelve un resultado entero.
Is (operador) | Compara dos variables de referencia de objeto.
Mod (operador) | Divide dos números y devuelve sólo el resto.
* (multiplicación) (operador) | Multiplica dos números.
- (negación) (operador) | Indica el valor negativo de una expresión numérica.
Not (operador) | Realiza una negación lógica en una expresión.
Precedencia de los operadores | Lista que muestra el orden de precedencia de los distintos operadores utilizados en VBScript.
Or (operador) | Realiza una disyunción lógica entre dos expresiones.
- (sustracción) (operador) | Busca la diferencia entre dos números o indica el valor negativo de una expresión numérica.
Xor (operador) | Realiza una exclusión lógica en dos expresiones.
Elemento del lenguaje | Descripción
Description (propiedad) | Devuelve o establece una cadena descriptiva asociada con un error.
FirstIndex (propiedad) | Devuelve la posición al lugar donde se ha producido una coincidencia en una cadena de búsqueda .
Global (propiedad) | Establece o devuelve un nuevo valor Boolean.
HelpContext (propiedad) | Establece o devuelve un Id. de contexto para un tema de un archivo de Ayuda.
HelpFile | Establece o devuelve la ruta de acceso completa de un archivo de Ayuda.
IgnoreCase (propiedad) | Establece o devuelve un valor Boolean que indica si un modelo de búsqueda distingue o no mayúsculas.
Length (propiedad) | Devuelve la longitud de una coincidencia encontrada en una cadena de búsqueda.
Number (propiedad) | Devuelve o establece un valor numérico que especifica un error.
Pattern (propiedad) | Establece o devuelve el modelo de expresión regular que se está buscando.
Source (propiedad) | Devuelve o establece el nombre del objeto o aplicación que generó originalmente el error.
Value (propiedad) | Devuelve el valor o texto de una coincidencia encontrada en una cadena de búsqueda.
Elemento del lenguaje | Descripción
Call (instrucción) | Transfiere el control a un procedimiento Sub o Function.
Class (instrucción) | Declara el nombre de una clase.
Const (instrucción) | Declara constantes para utilizar en lugar de valores literales.
Dim (instrucción) | Declara variables y asigna espacio de almacenamiento.
Do...Loop (instrucción) | Repite un bloque de instrucciones mientras una condición es True o hasta que una condición sea True.
Erase (instrucción) | Reinicializa los elementos de matrices de tamaño fijo y libera espacio de almacenamiento de la matriz dinámica.
Execute (instrucción) | Ejecuta una o varias instrucciones especificadas.
Instrucción ExecuteGlobal | Ejecuta una o varias instrucciones especificadas en el espacio de nombres global de una secuencia de comandos.
Exit (instrucción) | Sale de un bloque de código Do...Loop, For...Next, Function o Sub.
For...Next (instrucción) | Repite un grupo de instrucciones un número de veces especificado.
For Each...Next (instrucción) | Repite un grupo de instrucciones para cada elemento en una matriz o colección.
Function (instrucción) | Declara el nombre, argumentos y código que forman el cuerpo de un procedimiento Function.
If...Then...Else (instrucción) | Ejecuta de forma condicional un grupo de instrucciones, según el valor de una expresión.
On Error (instrucción) | Habilita el control de errores.
Option Explicit (isntrucción) | Fuerza la declaración explícita de todas las variables de una secuencia de comandos.
Private (instrucción) | Declara variables como privadas y les asigna espacio de almacenamiento.
PropertyGet (instrucción) | Declara el nombre, los argumentos y el código que forman el cuerpo de un procedimiento Property que toma (devuelve) el valor de una propiedad.
PropertyLet (instrucción) | Declara el nombre, los argumentos y el código que forman el cuerpo de un procedimiento Property que asigna el valor de una propiedad.
PropertySet (instrucción) | Declara el nombre, los argumentos y el código que forman el cuerpo de un procedimiento Property que establece una referencia a un objeto.
Public (instrucción) | Declara variables como públicas y asigna espacio de almacenamiento.
Randomize (instrucción) | Inicializa el generador de números aleatorios.
ReDim (instrucción) | Declara variables de matriz dinámica y asigna o vuelve a asignar espacio de almacenamiento para procedimientos.
Rem (instrucción) | Incluye comentarios explicativos en un programa.
Select Case (instrucción) | Ejecuta uno o varios grupos de instrucciones, según el valor de una expresión.
Instrucción Set | Asigna una referencia de objeto a una propiedad o variable.
Sub (instrucción) | Declara el nombre, argumentos y código que forman el cuerpo de un procedimiento Sub.
While...Wend (instrucción) | Ejecuta una serie de instrucciones siempre que una condición dada sea True.
With (instrucción) | Ejecuta una serie de instrucciones en un único objeto.

(c) 2000 Microsoft Corporation. Reservados todos los derechos.


Características de VBScript

Categoría | Palabras clave
Control de matrices | Array Dim, Private, Public, ReDim IsArray Erase LBound, UBound
Asignaciones | Set
Comentarios | Comentarios con ' o Rem
Constantes 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 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 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 Explicit
Procedimientos | 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 VarType


Características de VBScript no incluidas en Visual Basic para Aplicaciones

Categoría | Característica o palabra clave
Declaraciones | Class
Varios | Eval Execute
Objetos | RegExp
Identificación del motor de secuencias de comandos | ScriptEngine ScriptEngineBuildVersion ScriptEngineMajorVersion ScriptEngineMinorVersion


Características de Visual Basic para Aplicaciones no incluidas en VBScript

Categoría | Característica o palabra clave omitida
Control de matrices | Option Base Declaración de matrices con límite inferior <> 0
Colección | Add, Count, Item, Remove Acceso a colecciones mediante el carácter ! (por ejemplo, MiColección!Foo)
Compilación condicional | #Const #If...Then...#Else
Control 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 a excepción de Variant Type...End Type
Fecha y hora | Instrucción Date, instrucción Time
DDE | LinkExecute, LinkPoke, LinkRequest, LinkSend
Depuración | Debug.Print End, Stop
Declaración | Declare (para declarar bibliotecas 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 financieras
Tratamiento de objetos | TypeOf
Objetos | Clipboard Collection
Operadores | Like
Opciones | Deftype Option Base Option Compare Option Private Module
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 Mid Statement StrConv
Uso de objetos | Acceso a colecciones mediante !


Constantes de VBScript

Descripción | Elemento del lenguaje
Lista de constantes de color. | Color (constantes)
Lista de las constantes utilizadas en las operaciones de comparación. | Comparación (constantes)
Lista de constantes que definen los días de la semana y otras constantes utilizadas en las operaciones de fecha y hora. | Fecha y hora (constantes)
Lista de las constantes utilizadas para dar formato a las fechas y las horas. | Formato de fecha (constantes)
Lista de identificadores de configuración regional y sus valores asociados. | Locale ID (LCID) (tabla)
Lista de constantes que no pueden incluirse en ninguna otra categoría. | Constantes varias
Lista de constantes utilizadas con la función MsgBox. | MsgBox (constantes)
Lista de constantes de cadena. | Cadena (constantes)
Se usan en cualquier parte del código para representar los valores mostrados para cada uno. | Tristate (constantes)
Lista de las constantes que definen a los subtipos Variant. | VarType (constantes)
Varias categorías de constantes suministradas en VBScript. | Constantes de VBScript


Constantes de color

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

Constante | Valor | Descripción
vbBlack | &h00 | Negro
vbRed | &hFF | Rojo
vbGreen | &hFF00 | Verde
vbYellow | &hFFFF | Amarillo
vbBlue | &hFF0000 | Azul
vbMagenta | &hFF00FF | Fucsia
vbCyan | &hFFFF00 | Aguamarina
vbWhite | &hFFFFFF | Blanco

Requisitos

Versión 2

Consulte también

Constantes de comparación | Constantes de fecha y hora | Constantes de formato de fecha | Constantes varias | Constantes de MsgBox | Constantes de cadena | Constantes de triple estado | Constantes de VarType


Constantes de comparación

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

Constante | Valor | Descripción
vbBinaryCompare | 0 | Realizar una comparación binaria.
vbTextCompare | 1 | Realizar una comparación textual.

Requisitos

Versión 2

Consulte también

Constantes de color | Constantes de fecha y hora | Constantes de formato de fecha | Constantes varias | Constantes de MsgBox | Constantes de cadena | Constantes de triple estado | Constantes de VarType


Constantes de fecha y hora

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

Constante | Valor | Descripción
vbSunday | 1 | domingo
vbMonday | 2 | lunes
vbTuesday | 3 | martes
vbWednesday | 4 | miércoles
vbThursday | 5 | jueves
vbFriday | 6 | viernes
vbSaturday | 7 | sábado
vbUseSystem | 0 | Utiliza el formato de fecha de la configuración regional de su equipo.
vbUseSystemDayOfWeek | 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.

Requisitos

Versión 2

Consulte también

Constantes de color | Constantes de comparación | Constantes de formato de fecha | Constantes varias | Constantes de MsgBox | Constantes de cadena | Constantes de triple estado | Constantes de VarType


Constantes de formato de fecha

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

Constante | Valor | Descripción
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.

Requisitos

Versión 2

Consulte también

Constantes de color | Constantes de comparación | Constantes de fecha y hora | Constantes varias | Constantes de MsgBox | Constantes de cadena | Constantes de triple estado | Constantes de VarType


Constantes varias

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

Constante Valor Descripción
vbObjectError -2147221504 Los números de error definidos por el usuario deben ser mayores que este valor, por ejemplo,
Err.Raise Number = vbObjectError + 1000

Requisitos

Versión 2

Consulte también

Constantes de color | Constantes de comparación | Constantes de fecha y hora | Constantes de formato de fecha | Constantes de MsgBox | Constantes de cadena | Constantes de triple estado | Constantes de VarType


Constantes para MsgBox

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

Constante | Valor | Descripción
vbOKOnly | 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.

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 biblioteca de tipos apropiada que contiene estas definiciones de constantes. En VBScript, debe declarar de manera explícita estas constantes en su código.

Constante | Valor | Descripción
vbOK | 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.

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 de triple estado | Constantes de VarType


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ón
vbCr | 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 0 | No es lo mismo que una cadena de longitud cero (""). Se utiliza para llamar a procedimientos externos.
vbTab | Chr(9) | Tabulación horizontal.
vbVerticalTab | Chr(11) | Tabulación vertical. No es útil en Microsoft Windows.

Requisitos

Versión 2

Consulte también

Constantes de color | Constantes de comparación | Constantes de fecha y hora | Constantes de formato de fecha | Constantes varias | Constantes de MsgBox | Constantes de triple estado | Constantes de VarType


Constantes para Tristate

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

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

Requisitos

Versión 2

Consulte también

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


Constantes para VarType

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

Constante | Valor | Descripción
vbEmpty | 0 | No inicializada (valor predeterminado)
vbNull | 1 | No contiene ningún dato válido
vbInteger | 2 | Subtipo Integer
vbLong | 3 | Subtipo Long
vbSingle | 4 | Subtipo Single
vbSingle | 5 | Subtipo Double
vbCurrency | 6 | Subtipo Currency
vbDate | 7 | Subtipo Date
vbString | 8 | Subtipo String
vbObject | 9 | Objeto
vbError | 10 | Subtipo Error
vbBoolean | 11 | Subtipo Boolean
vbVariant | 12 | Variant (utilizada sólo para matrices de variantes)
vbDataObject | 13 | Objeto de acceso a datos
vbDecimal | 14 | Subtipo Decimal
vbByte | 17 | Subtipo Byte
vbArray | 8192 | Matriz

Requisitos

Versión 2

Consulte también

Constantes de color | Constantes de comparación | Constantes de fecha y hora | Constantes de formato de fecha | Constantes varias | Constantes de MsgBox | Constantes de cadena | Constantes de triple estado


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

Consulte también

Constantes de FileSystemObject


Errores de VBScript

Descripción | Elemento del lenguaje
Lista de errores en tiempo de ejecución de VBScript. | Errores en tiempo de ejecución
Lista de errores de sintaxis de VBScript. | Errores de sintaxis


Errores en tiempo de ejecución de VBScript

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

Número de error | Descripción
429 | 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
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

Consulte también

Errores de sintaxis de VBScript


Errores de sintaxis de VBScript

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

Número de error | Descripción
1052 | No puede haber múltiples propiedades o métodos predeterminados en una clase
1044 | No se puede utilizar paréntesis al llamar a Sub
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'
1015 | Constante de cadena sin terminar

Consulte también

Errores en tiempo de ejecución de VBScript


Sucesos de VBScript

Descripción | Elemento del lenguaje
Se produce al crear una instancia de la clase asociada. | Initialize (suceso)
Se produce cuando se finaliza una instancia de la clase asociada. | Terminate (suceso)


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.

Comentarios

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

Class (objeto) | Class (instrucción) | Terminate (evento)

Se aplica a: Class (objeto)


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.

Comentarios

El siguiente ejemplo ilustra el uso del evento Terminate.

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

Class (objeto) | Class (instrucción) | Initialize (evento)

Se aplica a: Class (objeto)


Funciones de VBScript

Descripción | Elemento del lenguaje
Se produce cuando se finaliza una instancia de la clase asociada. | Abs (función)
Devuelve una variable de tipo Variant que contiene una matriz. | Array (función)
Devuelve el código de caracteres ANSI correspondiente a la primera letra de una cadena. | Asc (función)
Devuelve el arcotangente de un número. | Atn (función)
Devuelve una expresión que se ha convertido en una variable Variant del subtipo Boolean. | CBool (función)
Devuelve una expresión que se ha convertido en una variable Variant del subtipo Byte. | CByte (función)
Devuelve una expresión que se ha convertido en una variable Variant del subtipo Currency. | CCur (función)
Devuelve una expresión que se ha convertido en una variable Variant del subtipo Date. | CDate (función)
Devuelve una expresión que se ha convertido en una variable Variant del subtipo Double. | CDbl (función)
Devuelve el carácter asociado con el código de caracteres ANSI especificado. | Chr (función)
Devuelve una expresión que se ha convertido en una variable Variant del subtipo Integer. | CInt (función)
Devuelve una expresión que se ha convertido en una variable Variant del subtipo Long. | CLng (función)
Devuelve el coseno de un ángulo. | Cos (función)
Crea y devuelve una referencia a un objeto de automatización. | CreateObject (función)
Devuelve una expresión que se ha convertido en una variable Variant del subtipo Single. | CSng (función)
Devuelve una expresión que se ha convertido en una variable Variant del subtipo String. | CStr (función)
Devuelve la fecha actual del sistema. | Date (función)
Devuelve una fecha a la que se ha agregado un intervalo de hora especificado. | DateAdd (función)
Devuelve el número de intervalos entre dos fechas. | DateDiff (función)
Devuelve la parte especificada de una fecha dada. | DatePart (función)
Devuelve una variable Variant del subtipo Date para un año, mes o día especificado. | DateSerial (función)
Devuelve una variable Variant del subtipo Date. | DateValue (función)
Devuelve un entero entre 1 y 31, inclusive, que representa el día del mes. | Day (función)
Evalúa una expresión y devuelve el resultado. | Eval (función)
Devuelve e (la base de los logaritmos naturales) elevado a una potencia. | Exp (función)
Devuelve una matriz que comienza en cero y contiene un subconjunto de una matriz de cadenas en función de un criterio de filtro especificado. | Filter (función)
Devuelve la parte entera de un número. | Fix (función)
Devuelve una expresión con formato de moneda y con el símbolo de moneda definido en el panel de control del sistema. | FormatCurrency (función)
Devuelve una expresión con un formato de fecha u hora. | FormatDateTime (función)
Devuelve una expresión con un formato de número. | FormatNumber (función)
Devuelve una expresión con formato de porcentaje (multiplicada por 100) y un carácter % al final. | FormatPercent (función)
Devuelve el valor de Id. de la configuración regional actual. | GetLocale (función)
Devuelve una referencia a un objeto de Automatización desde un archivo. | GetObject (función)
Devuelve una referencia a un procedimiento que puede enlazarse a un suceso. | GetRef(función)
Devuelve una cadena que representa el valor hexadecimal de un número. | Hex (función)
Devuelve un entero entre 0 y 23, inclusive, que representa la hora del día. | Hora (función)
Muestra una solicitud de datos 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 (función)
Devuelve la posición de la primera aparición de una cadena dentro de otra. | InStr (función)
Devuelve la posición de la aparición de una cadena dentro de otra, desde el final de la cadena. | InStrRev (función)
Devuelve la parte entera de un número. | Int (función)
Devuelve un valor Boolean que indica si una variable es una matriz. | IsArray (función)
Devuelve un valor Boolean que indica si una expresión puede convertirse en una fecha. | IsDate (función)
Devuelve un valor Boolean que indica si una variable se ha inicializado. | IsEmpty (función)
Devuelve un valor Boolean que indica si una expresión no contiene ningún dato válido (Null). | IsNull (función)
Devuelve un valor Boolean que indica si una expresión puede evaluarse como un número. | IsNumeric (función)
Devuelve un valor Boolean que indica si una expresión hace referencia a un objeto de Automatización válido. | IsObject (función)
Devuelve una cadena creada a partir de la unión de varias subcadenas contenidas en una matriz. | Join (función)
Devuelve el menor subíndice disponible para la dimensión indicada de una matriz. | LBound (función)
Devuelve una cadena que se ha convertido a minúsculas. | LCase (función)
Devuelve un número especificado de caracteres desde el lado izquierdo de una cadena. | Left (función)
Devuelve el número de caracteres de una cadena o el número de bytes necesarios para almacenar una variable. | Len (función)
Devuelve un objeto de imagen. Disponible sólo en plataformas de 32 bits. | LoadPicture (función)
Devuelve el logaritmo natural de un número. | Log (función)
Devuelve la copia de una cadena sin espacios iniciales. | LTrim (función)
Devuelve un número especificado de caracteres de una cadena. | Mid (función)
Devuelve un número entero entre 0 y 59, inclusive, que representa el minuto de la hora. | Minute (función)
Devuelve un número entero entre 1 y 12, inclusive, que representa el mes del año. | Month (función)
Devuelve una cadena que indica el mes especificado. | Monthname (función)
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 el usuario hizo clic. | MsgBox (función)
Devuelve la fecha y hora actual de acuerdo con la configuración de fecha y hora del sistema de un equipo. | Now (función)
Devuelve una cadena que representa el valor octal de un número. | Oct (función)
Devuelve una cadena en la que una subcadena especificada se ha reemplazado con otra subcadena un número determinado de veces. | Replace (función)
Devuelve un número entero que representa un valor de color RGB. | RGB (función)
Devuelve un número especificado de caracteres desde el lado derecho de una cadena. | Right (función)
Devuelve un número aleatorio. | Rnd (función)
Devuelve un número redondeado a una cantidad especificada de separadores decimales. | Round (función)
Devuelve una copia de una cadena sin espacios finales. | Rtrim (función)
Devuelve una cadena que representa el lenguaje de secuencias de comandos utilizado. | ScriptEngine (función)
Devuelve el número de compilación del motor de secuencias de comandos que se usa. | ScriptEngineBuildVersion (función)
Devuelve el número de versión principal del motor de secuencias de comandos que se usa. | ScriptEngineMajorVersion (función)
Devuelve el número de revisión del motor de secuencias de comandos que se usa. | ScriptEngineMinorVersion (función)
Devuelve un entero entre 0 y 59, inclusive, que representa el segundo del minuto. | Second (función)
Devuelve un entero que indica el signo de un número. | Sgn (función)
Devuelve el seno de un ángulo. | Sin (función)
Devuelve una cadena que consta del número especificado de espacios. | Space (función)
Devuelve una matriz unidimensional que empieza en cero y contiene un número especificado de subcadenas. | Split (función)
Devuelve la raíz cuadrada de un número. | Sqr (función)
Devuelve un valor que indica el resultado de una comparación de cadena. | StrComp (función)
Devuelve una cadena de caracteres repetida de la longitud especificada. | String (función)
Devuelve una cadena en la que se invierte el orden de caracteres de una cadena especificada. | StrReverse (función)
Devuelve la tangente de un ángulo. | Tan (función)
Devuelve una variable Variant del subtipo Date que indica la hora actual del sistema. | Time (función)
Devuelve el número de segundos transcurridos desde las 12:00 a.m. (medianoche). | Timer (función)
Devuelve una variable Variant del subtipo Date que contiene la hora correspondiente a una hora, minuto y segundo específico. | TimeSerial (función)
Devuelve una variable Variant del subtipo Date que contiene la hora. | TimeValue (función)
Devuelve una copia de una cadena sin espacios iniciales o finales. | Trim (función)
Devuelve una cadena que proporciona información del subtipo Variant acerca de una variable. | TypeName (función)
Devuelve el mayor subíndice disponible para la dimensión indicada de una matriz. | UBound (función)
Devuelve una cadena que se ha convertido a mayúsculas. | UCase (función)
Devuelve un valor que indica el subtipo de una variable. | VarType (función)
Devuelve un número entero que representa el día de la semana. | Weekday (función)
Devuelve una cadena que indica el día de la semana especificado. | WeekdayName (función)
Devuelve un número entero que representa el año. | Year (función)


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.

Comentarios

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

Sgn (función)


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.

Comentarios

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

Dim (instrucción)


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.

Comentarios

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

Chr (función)


Función Atn

Devuelve el arcotangente de un número.

Atn(número)

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

Comentarios

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

Cos (función) | Funciones matemáticas derivadas | Sin (función) | Tan (función)


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.

Comentarios

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

CByte (función) | CCur (función) | CDate (función) | CDbl (función) | CInt (función) | CLng (función) | CSng (función) | CStr (función)


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.

Comentarios

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.

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

CBool (función) | CCur (función) | CDate (función) | CDbl (función) | CInt (función) | CLng (función) | CSng (función) | CStr (función)


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.

Comentarios

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 (1086.429176) en tipo Currency (1086.4292).

Requisitos

Versión 1

Consulte también

CBool (función) | CByte (función) | CDate (función) | CDbl (función) | CInt (función) | CLng (función) | CSng (función) | CStr (función)


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.

Comentarios

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

Versión 1

Consulte también

IsDate (función)


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.

Comentarios

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.2254576).

Requisitos

Versión 1

Consulte también

CBool (función) | CByte (función) | CCur (función) | CDate (función) | CInt (función) | CLng (función) | CSng (función) | CStr (función)


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.

Comentarios

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

Asc (función)


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.

Comentarios

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

CBool (función) | CByte (función) | CCur (función) | CDate (función) | CDbl (función) | CLng (función) | CSng (función) | CStr (función) | Funciones Int, Fix


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.

Comentarios

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

CBool (función) | CByte (función) | CCur (función) | CDate (función) | CDbl (función) | CInt (función) | CSng (función) | CStr (función) | Funciones Int, Fix


Funciones de conversió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 (función)


Función Cos

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.

Comentarios

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

Atn (función) | Funciones matemáticas derivadas | Sin (función) | Tan (función)


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

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.

Comentarios

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

Versión 2

Consulte también

GetObject (función)


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.

Comentarios

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

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

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

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

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

Requisitos

Versión 1

Consulte también

CBool (función) | CByte (función) | CCur (función) | CDate (función) | CDbl (función) | CInt (función) | CLng (función) | CStr (función)


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.

Comentarios

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

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

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

Si expresión es | CStr devuelve
Boolean | 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.

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

Requisitos

Versión 1

Consulte también

CBool (función) | CByte (función) | CCur (función) | CDate (función) | CDbl (función) | CInt (función) | CLng (función) | CSng (función)


Función Date

Devuelve la fecha actual del sistema.

Date

Comentarios

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

CDate (función) | Now (función) | Time (función)


Función DateAdd

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

DateAdd(intervalo, número, fecha)

Argumentos

intervalo

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

número

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

fecha

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

Valores

El argumento intervalo puede tener los siguientes valores:

Valor | Descripción
yyyy | Año
q | Trimestre
m | Mes
y | Día del año
d | Día
w | Día de la semana
ww | Semana del año
h | Hora
n | Minuto
s | Segundo

Comentarios

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.

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

DateDiff (función) | DatePart (función)


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.

primerdíadelaño

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

Valores

El argumento intervalo puede tener los siguientes valores:

Valor | Descripción
yyyy | Año
q | Trimestre
m | Mes
y | Día del año
d | Día
w | Día de la semana
ww | Semana del año
h | Hora
n | Minuto
s | Segundo

El argumento primerdíadelasemana puede tener los siguientes valores:

Constante | Valor | Descripción
vbUseSystem | 0 | Usa valores de API de idioma nacional (NLS).
vbSunday | 1 | domingo (valor predeterminado)
vbMonday | 2 | lunes
vbTuesday | 3 | martes
vbWednesday | 4 | miércoles
vbThursday | 5 | jueves
vbFriday | 6 | viernes
vbSaturday | 7 | sábado

El argumento primerasemanadelaño puede tener los siguientes valores:

Constante | Valor | Descripción
vbUseSystem | 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.

Comentarios

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

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

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

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

DateAdd (función) | DatePart (función)


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

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

primerasemanadelaño

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

Valores

El argumento intervalo puede tener los siguientes valores:

Valor | Descripción
yyyy | Año
q | Trimestre
m | Mes
y | Día del año
d | Día
w | Día de la semana
ww | Semana del año
h | Hora
n | Minuto
s | Segundo

El argumento primerdíadelasemana puede tener los siguientes valores:

Constante | Valor | Descripción
vbUseSystem | 0 | Usa valores de API de idioma nacional (NLS).
vbSunday | 1 | domingo (predeterminado)
vbMonday | 2 | lunes
vbTuesday | 3 | martes
vbWednesday | 4 | miércoles
vbThursday | 5 | jueves
vbFriday | 6 | viernes
vbSaturday | 7 | sábado

El argumento primerasemanadelaño puede tener los siguientes valores:

Constante | Valor | Descripción
vbUseSystem | 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.

Comentarios

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.

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

DateAdd (función) | DateDiff (función)


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.

Comentarios

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

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 (función)


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 puede ser cualquier expresión que pueda representar una fecha, una hora o ambas, dentro de dicho intervalo.

Comentarios

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

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 (función)


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

See Also

Date (función) | Hour (función) | Minute (función) | Month (función) | Now (función) | Second (función) | Weekday (función) | Year (función)


Funciones matemáticas derivadas

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

Función | Equivalentes derivados
Secante | 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)) / 2
Coseno hiperbólico | HCos(X) = (Exp(X) + Exp(-X)) / 2
Tangente 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))
Tangente hiperbólica inversa | HArctan(X) = Log((1 + X) / (1 - X)) / 2
Secante 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)) / 2
Logaritmo de base N | LogN(X) = Log(X) / Log(N)

Consulte también

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


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.

Comentarios

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))
   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

Execute (instrucción)


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.

Comentarios

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

Versión 1

Consulte también

Derived Math (función) | Log (función)


Función Filter

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

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

Argumentos

Cadenasdeentrada

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

Valor

Necesario. Cadena que se va a buscar.

Incluir

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

Comparar

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

Valores

El argumento Comparar puede tener los siguientes valores:

Constante | Valor | Descripción
vbBinaryCompare | 0 | Realiza una comparación binaria.
vbTextCompare | 1 | Realiza una comparación textual.

Comentarios

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.

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

Replace Function (función)


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 [,UsarParenParaNúmNegativo [,GrupoDígitos]]]])

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.

GrupoDígitos

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

Valores

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

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

Comentarios

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

FormatDateTime (función) | FormatNumber (función) | FormatPercent (función)


Función FormatDateTime

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

FormatDateTime(Fecha[, Formato])

Argumentos

Fecha

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

Formato

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

Valores

El argumento Formato tiene los siguientes valores:

Constante | Valor | Descripción
vbGeneralDate | 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).

Comentarios

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

FormatCurrency (función) | FormatNumber (función) | FormatPercent (función)


Función FormatNumber

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

FormatNumber(Expresión [,NúmDigitosDespuésDeDecimal [,IncluirPrimerDígito [,UsarParenParaNúmNegativo [,GrupoDígitos]]]])

Argumentos

Expresión

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

NúmDígitosDespuésDeDecimal

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

IncluirPrimerDígito

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

UsarParenParaNúmNegativo

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

GrupoDígitos

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

Valores

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

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

Comentarios

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
   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 que tenga cuatro lugares decimales.
End Function

Requisitos

Versión 2

Consulte también

FormatCurrency (función) | FormatDateTime (función) | FormatPercent (función)


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 [,UsarParenParaNúmNegativo [,GrupoDígitos]]]])

La sintaxis de la función FormatPercent consta de las partes siguientes:

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

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

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

Comentarios

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

FormatCurrency (función) | FormatDateTime (función) | FormatNumber (función)


Función GetLocale

Devuelve el valor del Id. de configuración regional actual.

GetLocale()

Comentarios

Una configuración regional es un conjunto de información de preferencias del usuario que incluye su idioma, país 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 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="20"><p>
Aquí tiene la equivalencia para EE.UU.: <input type="text" id="USdate" size="20"><p>
<input type="button" value="Convertir" id="button1"><p>
Escriba un precio en marcos alemanes: &nbsp; <input type="text" id="GermanNumber" size="20">
<p>
Aquí tiene la equivalencia en libras esterlinas: <input type="text" id="USNumber" size="20"><p>
<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

SetLocale (función) | Cuadro de Id. de configuración regional


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.

Comentarios

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")

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

CreateObject (función)


Función GetRef

Devuelve una referencia a un procedimiento que se puede enlazar con un evento.

Set objeto.evento = GetRef(procedimiento)

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.

Comentarios

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

Function | Set (instrucción) | Sub (instrucción)


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.

Comentarios

Si número no es ya un número entero, se redondea hasta el número entero más próximo antes de evaluarse.

Si número es | Hex devuelve
Null | Null.
Empty | Zero (0).
Cualquier otro número | Hasta ocho caracteres hexadecimales.

Puede representar números hexadecimales directamente si precede los números del intervalo apropiado con &H. Por ejemplo, &H10 representa el valor decimal 16 en la notación hexadecimal.

El siguiente ejemplo utiliza la función Hex para devolver el valor hexadecimal de un número:

Dim MiHex
MiHex = Hex(5)     ' Devuelve 5.
MiHex = Hex(10)    ' Devuelve A.
MiHex = Hex(459)   ' Devuelve 1CB.

Requisitos

Versión 1

Consulte también

Oct (función)


Función Hour

Devuelve un número entero entre 0 y 23, inclusive, que representa la hora del día.

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

Day (función) | Minute (función) | Now (función) | Second (función) | Time (función)


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, contexto])

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.

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.

Comentarios

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

MsgBox (función)


Función inStr

Devuelve la posición de la primera aparición de una cadena dentro de otra.

InStr([inicio, ]cadena1, cadena2[, comparar])

Argumentos

inicio

Opcional. Expresión numérica que establece la posición de inicio para cada búsqueda. Si se omite, la búsqueda comienza en la primera posición del carácter. Si inicio contiene Null, se produce un error. El argumento inicio es necesario si se especifica comparar.

cadena1

Requerido. Expresión de cadena que se busca.

cadena2

Requerido. Expresión de cadena que se busca.

comparar

Opcional. Valor numérico que indica el tipo de comparación que se utilizará cuando se evalúen subcadenas. Consulte la sección Valores para ver los valores. Si se omite, se realiza una comparación binaria.

Valores

El argumento comparar puede tener los siguientes valores:

Constante | Valor | Descripción
vbBinaryCompare | 0 | Realiza una comparación binaria.
vbTextCompare | 1 | Realiza una comparación textual.

Valores de retorno

La función InStr devuelve los siguientes valores:

Si | InStr devuelve
cadena1 es de longitud cero | 0
cadena1 es Null | Null
cadena2 es de longitud cero | inicio
cadena2 es Null | Null
cadena2 no se encuentra | 0
cadena2 se encuentra dentro de cadena1 | Posición en la que se encuentra la coincidencia
inicio > Len(cadena2) | 0

Comentarios

Los siguientes ejemplos utilizan InStr para buscar una cadena:

Dim SearchString, SearchChar, MiPos
SearchString ="XXpXXpXXPXXP"            ' Cadena en la que buscar.
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                         ' de forma predeterminada
                        ' (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

InStrRev (función)


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 subcadenas. Si se omite, se realiza una comparación binaria. Consulte la sección Valores para ver los valores.

Valores

El argumento comparar puede tener los siguientes valores:

Constante | Valor | Descripción
vbBinaryCompare | 0 | Realiza una comparación binaria.
vbTextCompare | 1 | Realiza una comparación textual.

Valores de retorno

InStrRev devuelve los siguientes valores:

Si | InStrRev devuelve
cadena1 es de longitud cero | 0
cadena1 es Null | Null
cadena2 es de longitud cero | inicio
cadena2 es Null | Null
cadena2 no se encuentra | 0
cadena2 se encuentra dentro de cadena1 | Posición en la que se encuentra la coincidencia
inicio > Len(cadena2) | 0

Comentarios

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

InStr (función)


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.

Comentarios

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

CInt (función) | Round (función)


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.

Comentarios

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

IsDate (función) | IsEmpty (función) | IsNull (función) | IsNumeric (función) | IsObject (función) | VarType (función)


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.

Comentarios

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

CDate (función) | IsArray (función) | IsEmpty (función) | IsNull (función) | IsNumeric (función) | IsObject (función) | VarType (función)


Función IsEmpty

Devuelve un valor de tipo booleano que indica si se ha inicializado una variable.

IsEmpty(expresión)

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.

Comentarios

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

IsArray (función) | IsDate (función) | IsNull (función) | IsNumeric (función) | IsObject (función) | VarType (función)


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.

Comentarios

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.

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.

Precaució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

IsArray (función) | IsDate (función) | IsEmpty (función) | IsNumeric (función) | IsObject (función) | VarType (función)


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.

Comentarios

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

IsArray (función) | IsDate (función) | IsEmpty (función) | IsNull (función) | IsObject (función) | VarType (función)


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.

Comentarios

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.

Requisitos

Versión 1

Consulte también

IsArray (función) | IsDate (función) | IsEmpty (función) | IsNull (función) | IsNumeric (función) | Set (instrucción) | VarType (función)


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.

Comentarios

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

Split (función)


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.

Comentarios

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

Dim (instrucción) | ReDim (instrucción) | UBound (función)


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.

Comentarios

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

UCase (función)


Función Left

Devuelve un número de caracteres especificados desde la parte izquierda de una cadena.

Left(cadena, longitud)

Argumentos

cadena

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.

Comentarios

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

Len (función) | Mid (función) | Right (función)


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.

variable

Cualquier nombre de variable válido. Si variable contiene Null, se devuelve Null.

Comentarios

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

InStr (función)


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.

Comentarios

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


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.

Comentarios

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 | Exp (función)


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.

Comentarios

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

Left (función) | Right (función)


Funciones matemáticas

Abs (función)

Atn (función)

Cos (función)

Exp (función)

Fix (función)

Int (función)

Log (función)

Rnd (función)

Sgn (función)

Sin (función)

Sqr (función)

Tan (función)

Funciones matemáticas derivadas


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.

Comentarios

Para determinar el número de caracteres en cadena, utilice la función Len.

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

Left (función) | Len (función) | Funciones LTrim, RTrim, y Trim Functions | Right (función)


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.

Comentarios

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

Day (función) | Hour (función) | Now (función) | Second (función) | Time (función)


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.

Comentarios

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

Date (función) | Day (función) | Now (función) | Weekday (función) | Year (función)


Función MonthName

Devuelve una cadena que indica el mes especificado.

MonthName(mes[, abreviatura])

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.

Comentarios

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

WeekdayName (función)


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(prompt[, 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.

botones

Expresión numérica que es la suma de valores que especifican el número y tipo de botones que se van a mostrar, el estilo de icono que se va a utilizar, la identidad del botón predeterminado y la modalidad del cuadro de mensaje. Consulte la sección Valores para ver los valores. Si se omite, el valor predeterminado para botones es 0.

título

Expresión de cadena mostrada en la barra de título del cuadro de diálogo. Si omite título, el nombre de la aplicación se sitúa en la barra de título.

archivoayuda

Expresión de cadena que identifica el archivo de Ayuda que se va a utilizar para proporcionar Ayuda interactiva para el cuadro de diálogo. Si se proporciona archivoayuda, también se debe proporcionar contexto. No está disponible en plataformas de 16 bits.

contexto

Expresión numérica que identifica el número de contexto de Ayuda asignado por el autor de la Ayuda para el tema de Ayuda apropiado. Si se proporciona contexto, también se debe proporcionar archivoayuda. No está disponible en plataformas de 16 bits.

Valores

Los valores del argumento botones son:

Constante | Valor | Descripción
vbOKOnly | 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.

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

La función MsgBox tiene los siguientes valores de retorno:

Constante | Valor | Botón
vbOK | 1 | Aceptar
vbCancel | 2 | Cancelar
vbAbort | 3 | Anular
vbRetry | 4 | Reintentar
vbIgnore | 5 | Ignorar
vbYes | 6 | Sí
vbNo | 7 | No

Comentarios

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

InputBox (función)


Función Now

Devuelve la fecha y hora actuales según la configuración de fecha y hora del sistema de su equipo.

Now

Comentarios

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

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 (función)


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.

Comentarios

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

Si número es | devuelve Oct
Null | Null.
Empty | Zero (0).
Cualquier otro número | Hasta 11 caracteres octales,

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

Hex (función)


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

Opcional. Valor numérico que indica el tipo de comparación que se va a utilizar cuando se evalúen subcadenas. Consulte la sección Valores para ver los valores. Si se omite, el valor predeterminado es 0, que significa realizar una comparación binaria.

Valores

El argumento comparar puede tener los siguientes valores:

Constante | Valor | Descripción
vbBinaryCompare | 0 | Realiza una comparación binaria.
vbTextCompare | 1 | Realiza una comparación textual.

Valores de retorno

Replace devuelve los siguientes valores:

Si | Replace devuelve
expresió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.

Comentarios

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 en el principio de la cadena. Devuelve "XXYXXPXXY".
MiCadena = Replace("XXpXXPXXp", "p", "Y",   ' Una comparación textual que comienza en la posición 3. Devuelve "YXXYXXY". 3, -1, 1)

Requisitos

Versión 2

Consulte también

Filter (función)


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.

Comentarios

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


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.

Comentarios

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

Left (función) | Len (función) | Mid (función)


Función Rnd

Devuelve un número aleatorio.

Rnd[(número)]

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

Comentarios

La función Rnd devuelve un valor menor que 1 pero mayor o igual que 0. El valor de número determina cómo Rnd genera un número aleatorio:

Si número es | Rnd genera
Menor 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.

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

Randomize (instrucción)


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.

Comentarios

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, Fix


Función ScriptEngine

Devuelve una cadena que representa el lenguaje de ejecución de secuencias de comandos en uso.

ScriptEngine

Valores de retorno

La función ScriptEngine puede devolver cualquiera de las siguientes cadenas:

Cadena | Descripción
VBScript | 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.

Comentarios

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

ScriptEngineBuildVersion (función) | ScriptEngineMajorVersion (función) | ScriptEngineMinorVersion (función)


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

Comentarios

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

ScriptEngine (función) | ScriptEngineMajorVersion (función) | ScriptEngineMinorVersion (función)


Función ScriptEngineMajorVersion

Devuelve el número de versión mayor del motor de ejecución de secuencias de comandos en uso.

ScriptEngineMajorVersion

Comentarios

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

ScriptEngine (función) | ScriptEngineBuildVersion (función) | ScriptEngineMinorVersion (función)


Función ScriptEngineMinorVersion

Devuelve el número de versión menor del motor de ejecución de secuencias de comandos en uso.

ScriptEngineMinorVersion

Comentarios

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

Versión 2

Consulte también

ScriptEngine (función) | ScriptEngineBuildVersion (función) | ScriptEngineMajorVersion (función)


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.

Comentarios

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

Day (función) | Hour (función) | Minute (función) | Now (función) | Time (función)


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.

Comentarios

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 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="20"><p>
Aquí tiene la equivalencia para EE.UU.: <input type="text" id="USdate" size="20"><p>
<input type="button" value="Convertir" id="button1"><p>
Escriba un precio en marcos alemanes: &nbsp; <input type="text" id="GermanNumber" size="20">
<p>
Aquí tiene la equivalencia en libras esterlinas: <input type="text" id="USNumber" size="20"><p>
<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

</script>

Consulte también

GetLocale (función) | Cuadro Id. de configuración regional


Función Sgn

Devuelve un número entero que indica el signo de un número.

Sgn(número)

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

Valores de retorno

La función Sgn tiene los siguientes valores de retorno:

Si número es | Sgn devuelve
Mayor que cero | 1
Igual que cero | 0
Menor que cero | -1

Comentarios

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

Consulte también

Abs (función)


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.

Comentarios

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

Atn (función) | Cos (función) | Funciones matemáticas derivadas | Tan (función)


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.

Comentarios

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

String (función)


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.

delimitador

Opcional. Carácter de cadena utilizado para identificar límites de subcadenas. Si se omite, se supone que el carácter de espacio (" ") es el delimitador. Si delimitador es una cadena de longitud cero, se devuelve una matriz de elemento único que contiene la cadena expresión completa.

número

Opcional. Número de subcadenas que se va a devolver; -1 indica que se devuelven todas las subcadenas.

comparar

Opcional. Valor numérico que indica el tipo de comparación que se va a utilizar cuando se evalúen subcadenas. Consulte la sección Valores para ver los valores.

Valores

El argumento comparar puede tener los siguientes valores:

Constante | Valor | Descripción
vbBinaryCompare | 0 | Realiza una comparación binaria.
vbTextCompare | 1 | Realiza una comparación textual.

Comentarios

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

Join (función)


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.

Comentarios

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


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

El argumento comparar puede tener los siguientes valores:

Constante | Valor | Descripción
vbBinaryCompare | 0 | Realiza una comparación binaria.
vbTextCompare | 1 | Realiza una comparación textual.

Valores de retorno

La función StrComp tiene los siguientes valores de retorno:

Si | StrComp devuelve
cadena1 es menor que cadena2 | -1
cadena1 es igual que cadena2 | 0
cadena1 es mayor que cadena2 | 1
cadena1 o cadena2 es Null | Null

Comentarios

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


Función String

Devuelve una cadena de caracteres repetidos con la longitud especificada.

String(número, carácter)

Argumentos

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.

Comentarios

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

Space (función)


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.

Comentarios

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


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.

Comentarios

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

Atn (función) | Cos (función) | Funciones matemáticas derivadas | Sin (función)


Función Time

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

Time

Comentarios

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

Date (función)


Función Timer

Devuelve el número de segundos que han pasado desde las 12:00 a.m. (medianoche).

Timer

Comentarios

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

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

Randomize (instrucción)


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.

Comentarios

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.

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

DateSerial (función) | DateValue (función) | Hour (función) | Minute (función) | Now (función) | Second (función) | TimeValue (función)


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.

Comentarios

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.

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

DateSerial (función) | DateValue (función) | Hour (función) | Minute (función) | Now (función) | Second (función) | TimeSerial (función)


Función TypeName

Devuelve una cadena que proporciona información del subtipo del tipo Variant de una variable.

TypeName(variable)

El argumento variable necesario puede ser cualquier variable.

Valores de retorno

La función TypeName tiene los siguientes valores de retorno:

Valor | Descripción
Byte | Valor byte
Integer | Valor entero
Long | Valor de número entero largo
Single | Valor de punto flotante de precisión simple
Double | Valor de punto flotante de precisión doble
Currency | Valor de moneda
Decimal | Valor decimal
Date | Valor de fecha u hora
String | Valor de cadena de caracteres
Boolean | Valor booleano: True (verdadero) o False (falso)
Empty | Sin inicializar
Null | Datos no válidos
&ltobject type> | Nombre de tipo real de un objeto
Object | Objeto genérico
Unknown | Tipo de objeto desconocido
Nothing | Variable de objeto que aún no hace referencia a una instancia de objeto
Error | Error

Comentarios

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

IsArray (función) | IsDate (función) | IsEmpty (función) | IsNull (función) | IsNumeric (función) | IsObject (función) | VarType (función)


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 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.

Comentarios

La función UBound se utiliza con la función LBound para determinar el tamaño de una matriz. Utilice la función LBound para buscar el límite de la dimensión de una matriz.

El límite inferior para cualquier dimensión es siempre 0. Como resultado, UBound devuelve los siguientes valores para una matriz con estas dimensiones:

Dim A(100,3,4)
Instrucción | Valor de retorno
UBound(A, 1) | 100
UBound(A, 2) | 3
UBound(A, 3) | 4

Requisitos

Versión 1

Consulte también

Dim (instrucción) | LBound (función) | ReDim (instrucción)


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.

Comentarios

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

LCase (función)


Función VarType

Devuelve un valor que indica el subtipo de una variable.

VarType(variable)

El argumento variable puede ser cualquier variable.

Valores de retorno

La función VarType devuelve los siguientes valores:

Constante | Valor | Descripción
vbEmpty | 0 | Empty (sin inicializar)
vbNull | 1 | Null (datos no válidos)
vbInteger | 2 | Entero
vbLong | 3 | Número entero largo
vbSingle | 4 | Número de punto flotante de precisión simple
vbDouble | 5 | Número de punto flotante de precisión doble
vbCurrency | 6 | Moneda
vbDate | 7 | Fecha
vbString | 8 | Cadena
vbObject | 9 | Objeto de automatización
vbError | 10 | Error
vbBoolean | 11 | Booleano
vbVariant | 12 | Variant (usada sólo con matrices de tipo Variant)
vbDataObject | 13 | Un objeto de acceso de datos
vbByte | 17 | Byte
vbArray | 8192 | Matriz

Nota Estas constantes las especifica VBScript. Por ello, pueden usarse los nombres en cualquier parte de su código en lugar de los valores reales.

Comentarios

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

IsArray (función) | IsDate (función) | IsEmpty (función) | IsNull (función) | IsNumeric (función) | IsObject (función) | TypeName (función)


Función Weekday

Devuelve un número entero que representa el día de la semana.

Weekday(fecha, [primerdíadelasemana])

Argumentos

fecha

Cualquier expresión que pueda representar una fecha. Si fecha contiene Null, se devuelve Null.

primerdíadelasemana

Una constante que especifica el primer día de la semana. Si se omite, se toma vbSunday.

Valores

El argumento primerdíadelasemana tiene estos valores:

Constante | Valor | Descripción
vbUseSystem | 0 | Usa valores de API de idioma nacional (NLS).
vbSunday | 1 | domingo
vbMonday | 2 | lunes
vbTuesday | 3 | martes
vbWednesday | 4 | miércoles
vbThursday | 5 | jueves
vbFriday | 6 | viernes
vbSaturday | 7 | sábado

Valores de retorno

La función Weekday puede devolver cualquiera de estos valores:

Constante | Valor | Descripción
vbSunday | 1 | domingo
vbMonday | 2 | lunes
vbTuesday | 3 | martes
vbWednesday | 4 | miércoles
vbThursday | 5 | jueves
vbFriday | 6 | viernes
vbSaturday | 7 | sábado

Comentarios

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 representa un viernes.

Requisitos

Versión 1

Consulte también

Date (función) | Day (función) | Month (función) | Now (función) | Year (función)


Función WeekdayName

Devuelve una cadena que indica el día de la semana especificado.

WeekdayName(díadelasemana, abreviatura, primerdíadelasemana)

Argumentos

díadelasemana

Necesario. La designación numérica para el día de la semana. El valor numérico de cada día depende de la configuración del primerdíadelasemana.

abreviatura

Opcional. Valor de tipo booleano que indica si el nombre del día de la semana se va a abreviar. Si se omite, el valor predeterminado es False, lo que significa que el nombre del día de la semana no se abrevia.

primerdíadelasemana

Opcional. Valor numérico que indica el primer día de la semana. Consulte la sección Valores para ver los valores.

Valores

El argumento primerdíadelasemana puede tener los siguientes valores:

Constante | Valores | Descripción
vbUseSystem | 0 | Usa valores de API de idioma nacional (NLS).
vbSunday | 1 | domingo (valor predeterminado)
vbMonday | 2 | lunes
vbTuesday | 3 | martes
vbWednesday | 4 | miércoles
vbThursday | 5 | jueves
vbFriday | 6 | viernes
vbSaturday | 7 | sábado

Comentarios

El siguiente ejemplo utiliza la función WeekDayName para devolver el día especificado:

Dim MiFecha
MiFecha = WeekDayName(6, True)   ' MiFecha contiene viernes.

Requisitos

Versión 2

Consulte también

MonthName (función)


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.

Comentarios

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

Date (función) | Day (función) | Month (función) | Now (función) | Weekday (función)


Palabras claves de VBScript

Empty

False

Nothing

Null

True


Empty

La palabra clave Empty se utiliza para indicar un valor de variable no inicializada. No es igual que Null.

Consulte también

Null


False

La palabra clave False tiene un valor igual a 0.

Consulte también

True


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

Dim (instrucción) | Set (instrucción)


Null

La palabra clave Null se utiliza para indicar que una variable contiene datos que no son válidos. No es igual que Empty.

Consulte también

Empty


True

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

Consulte también

False


Métodos de VBScript

Descripción | Elemento del lenguaje
Quita todos los valores de propiedad del objeto Err. | Clear (método)
Ejecuta una búsqueda de expresión regular en una cadena especificada. | Execute (método)
Genera un error en tiempo de ejecución. | Raise (método)
Reemplaza el texto encontrado en una búsqueda de expresión regular. | Replace (método)
Ejecuta una búsqueda de expresión regular en una cadena especificada. | Test (método)


Método Clear

Borra toda la configuración de propiedades del objeto Err.

objeto.Clear

El objeto es siempre el objeto Err.

Comentarios

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

Description (propiedad) | Err (objeto) | Number (propiedad) | OnError (instrucción) | Raise (método) | Source (propiedad)

Se aplica a: Err (objeto)


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.

Comentarios

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úsculas.
   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

Consulte también

Replace (método) | Test (método)

Se aplica a: RegExp (objeto)


Método Raise

Genera un error en tiempo de ejecución.

objeto.Raise(número, origen, descripción, archivoayuda, contextoayuda)

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

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

Clear (método) | Description (propiedad) | Err (objeto) | Number (propiedad) | Source (propiedad)

Se aplica a: Err (objeto)


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.

Comentarios

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úsculas.
  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

Execute (método) | Test (método)

Se aplica a: RegExp (objeto)


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.

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.

Comentarios

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úsculas.
   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

Execute (método) | Replace (método)

Se aplica a: RegExp (objeto)


Juego de caracteres (0 - 127)

Código | Carácter | Código | Carácter | Código | Carácter | Código | Carácter
0 |  | 32 | [espacio] | 64 | @ | 96 | `
1 |  | 33 | ! | 65 | A | 97 | a
2 |  | 34 | " | 66 | B | 98 | b
3 |  | 35 | # | 67 | C | 99 | c
4 |  | 36 | $ | 68 | D | 100 | d
5 |  | 37 | % | 69 | E | 101 | e
6 |  | 38 | & | 70 | F | 102 | f
7 |  | 39 | ' | 71 | G | 103 | g
8 | ** | 40 | ( | 72 | H | 104 | h
9 | ** | 41 | ) | 73 | I | 105 | i
10 | ** | 42 | * | 74 | J | 106 | j
11 |  | 43 | + | 75 | K | 107 | k
12 |  | 44 | , | 76 | L | 108 | l
13 | ** | 45 | - | 77 | M | 109 | m
14 |  | 46 | . | 78 | N | 110 | n
15 | _ | 47 | / | 79 | O | 111 | o
16 | _ | 48 | 0 | 80 | P | 112 | p
17 | _ | 49 | 1 | 81 | Q | 113 | q
18 | _ | 50 | 2 | 82 | R | 114 | r
19 | _ | 51 | 3 | 83 | S | 115 | s
20 | _ | 52 | 4 | 84 | T | 116 | t
21 | _ | 53 | 5 | 85 | U | 117 | u
22 | _ | 54 | 6 | 86 | V | 118 | v
23 | _ | 55 | 7 | 87 | W | 119 | w
24 | _ | 56 | 8 | 88 | X | 120 | x
25 | _ | 57 | 9 | 89 | Y | 121 | y
26 | _ | 58 | : | 90 | Z | 122 | z
27 | _ | 59 | ; | 91 | [ | 123 | {
28 | “ | 60 | < | 92 | \ | 124 | |
29 | ” | 61 | = | 93 | ] | 125 | }
30 | - | 62 | > | 94 | ^ | 126 | ~
31 |  | 63 | ? | 95 | _ | 127 | 

** 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)


Juego de caracteres (128 - 255)

Código | Carácter | Código | Carácter | Código | Carácter | Código | Carácter
128 | € | 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 | ç
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 | þ

 No admitido en la plataforma actual.

Consulte también

Juego de caracteres (0 - 127)


Cuadro de Id. de configuración regional (LCID)

Descripción de configuración regional | Cadena corta | Valor hexadecimal | Valor decimal | Descripción de configuración regional | Cadena corta | Valor hexadecimal | Valor decimal
Afrikaans | af | 0x0436 | 1078 | Hindi | hi | 0x0439 | 1081
Albanés | sq | 0x041C | 1052 | Húngaro | hu | 0x040E | 1038
Árabe (U.A.E.) | ar-ae | 0x3801 | 14337 | Islandés | is | 0x040F | 1039
Árabe (Bahrain) | ar-bh | 0x3C01 | 15361 | Indonesio | in | 0x0421 | 1057
Árabe (Argelia) | ar-dz | 0x1401 | 5121 | Italiano (estándar) | it | 0x0410 | 1040
Árabe (Egipto) | ar-eg | 0x0C01 | 3073 | Italiano (Suiza) | it-ch | 0x0810 | 2064
Árabe (Irak) | ar-iq | 0x0801 | 2049 | Japonés | ja | 0x0411 | 1041
Árabe (Jordania) | ar-jo | 0x2C01 | 11265 | Coreano | ko | 0x0412 | 1042
Árabe (Kuwait) | ar-kw | 0x3401 | 13313 | Letón | lv | 0x0426 | 1062
Árabe (Líbano) | ar-lb | 0x3001 | 12289 | Lituano | lt | 0x0427 | 1063
Árabe (Libia) | ar-ly | 0x1001 | 4097 | Macedonio | mk | 0x042F | 1071
Árabe (Marruecos) | ar-ma | 0x1801 | 6145 | Malayo (Malasia) | ms | 0x043E | 1086
Árabe (Omán) | ar-om | 0x2001 | 8193 | Maltés | mt | 0x043A | 1082
Árabe (Qatar) | ar-qa | 0x4001 | 16385 | Noruego (Bokmal) | no | 0x0414 | 1044
Árabe (Arabia Saudí) | ar-sa | 0x0401 | 1025 | Polaco | pl | 0x0415 | 1045
Árabe (Siria) | ar-sy | 0x2801 | 10241 | Portugués (estándar) | pt | 0x0816 | 2070
Árabe (Túnez) | ar-tn | 0x1C01 | 7169 | Portugués (Brasil) | pt-br | 0x0416 | 1046
Árabe (Yemen) | ar-ye | 0x2401 | 9217 | Retorromance | rm | 0x0417 | 1047
Vasco | eu | 0x042D | 1069 | Rumano | ro | 0x0418 | 1048
Bielorruso | be | 0x0423 | 1059 | Rumano (Moldavia) | ro-mo | 0x0818 | 2072
Búlgaro | bg | 0x0402 | 1026 | Ruso | ru | 0x0419 | 1049
Catalán | ca | 0x0403 | 1027 | Ruso (Moldavia) | ru-mo | 0x0819 | 2073
Chino (PRC) | zh-cn | 0x0804 | 2052 | Serbio (Cirílico) | sr | 0x0C1A | 3098
Chino (Hong Kong S.A.R.) | zh-hk | 0x0C04 | 3076 | Setsuana | tn | 0x0432 | 1074
Chino (Singapur) | zh-sg | 0x1004 | 4100 | Esloveno | sl | 0x0424 | 1060
Chino (Taiwan) | zh-tw | 0x0404 | 1028 | Eslovaco | sk | 0x041B | 1051
Croata | hr | 0x041A | 1050 | Serbio | sb | 0x042E | 1070
Checo | cs | 0x0405 | 1029 | Español (estándar) | es | 0x040A | 1034
Danés | da | 0x0406 | 1030 | Español (Argentina) | es-ar | 0x2C0A | 11274
Holandés | nl | 0x0413 | 1043 | Español (Bolivia) | es-bo | 0x400A | 16394
Holandés (Bélgica) | nl-be | 0x0813 | 2067 | Español (Chile) | es-cl | 0x340A | 13322
Inglés (Australia) | en-au | 0x0C09 | 3081 | Español (Colombia) | es-co | 0x240A | 9226
Inglés (Belice) | en-bz | 0x2809 | 10249 | Español (Costa Rica) | es-cr | 0x140A | 5130
Inglés (Canadá) | en-ca | 0x1009 | 4105 | Español (República Dominicana) | es-do | 0x1C0A | 7178
Inglés (Irlanda) | en-ie | 0x1809 | 6153 | Español (Ecuador) | es-ec | 0x300A | 12298
Inglés (Jamaica) | en-jm | 0x2009 | 8201 | Español (Guatemala) | es-gt | 0x100A | 4106
Inglés (Nueva Zelanda) | en-nz | 0x1409 | 5129 | Español (Honduras) | es-hn | 0x480A | 18442
Inglés (Sudáfrica) | en-za | 0x1C09 | 7177 | Español (México) | es-mx | 0x080A | 2058
Inglés (Trinidad) | en-tt | 0x2C09 | 11273 | Español (Nicaragua) | es-ni | 0x4C0A | 19466
Inglés (Reino Unido) | en-gb | 0x0809 | 2057 | Español (Panamá) | es-pa | 0x180A | 6154
Inglés (Estados Unidos) | en-us | 0x0409 | 1033 | Español (Perú) | es-pe | 0x280A | 10250
Estonio | et | 0x0425 | 1061 | Español (Puerto Rico) | es-pr | 0x500A | 20490
Farsi | fa | 0x0429 | 1065 | Español (Paraguay) | es-py | 0x3C0A | 15370
Finlandés | fi | 0x040B | 1035 | Español (El Salvador) | es-sv | 0x440A | 17418
Faeroés | fo | 0x0438 | 1080 | Español (Uruguay) | es-uy | 0x380A | 14346
Francés (estándar) | fr | 0x040C | 1036 | Español (Venezuela) | es-ve | 0x200A | 8202
Francés (Bélgica) | fr-be | 0x080C | 2060 | Sutu | sx | 0x0430 | 1072
Francés (Canadá) | fr-ca | 0x0C0C | 3084 | Sueco | sv | 0x041D | 1053
Francés (Luxemburgo) | fr-lu | 0x140C | 5132 | Sueco (Finlandia) | sv-fi | 0x081D | 2077
Francés (Suiza) | fr-ch | 0x100C | 4108 | Tailandés | th | 0x041E | 1054
Gaélico (Escocia) | gd | 0x043C | 1084 | Turco | tr | 0x041F | 1055
Alemán (estándar) | de | 0x0407 | 1031 | Tsonga | ts | 0x0431 | 1073
Alemán (Austria) | de-at | 0x0C07 | 3079 | Ucraniano | uk | 0x0422 | 1058
Alemán (Lichtenstein) | de-li | 0x1407 | 5127 | Urdú (Paquistan) | ur | 0x0420 | 1056
Alemán (Luxemburgo) | de-lu | 0x1007 | 4103 | Vietnamita | vi | 0x042A | 1066
Alemán (Suiza) | de-ch | 0x0807 | 2055 | Chosa | xh | 0x0434 | 1076
Griego | el | 0x0408 | 1032 | Yiddish | ji | 0x043D | 1085
Hebreo | he | 0x040D | 1037 | Zulú | zu | 0x0435 | 1077

Consulte también

GetLocale (función) | SetLocale (función)


Objetos de VBScript

Descripción | Elemento del lenguaje
Proporciona acceso a los sucesos de una clase creada. | Class (objeto)
Objeto que almacena parejas de datos clave-elemento. | Dictionary (objeto)
Contiene información acerca de los errores en tiempo de ejecución. | Err (objeto)
Proporciona acceso al sistema de archivos de un equipo. | FileSystemObject (objeto)
Proporciona acceso a las propiedades de sólo lectura de una coincidencia de expresión regular. | Match (objeto)
Colección de objetos de expresión regular Match. | Matches (colección)
Proporciona compatibilidad con expresiones regulares simples. | RegExp (objeto)
Proporciona acceso a los valores de sólo lectura de las cadenas de subcoincidencias de una expresión regular. | SubMatches (colección)


Objeto Class

El objeto creado mediante la instrucción Class. Proporciona acceso al evento de la clase.

Comentarios

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

Initialize (evento) | Terminate (evento)

Requisitos

Versión 5

Consulte también

Class (instrucción) | Dim (instrucción) | Set (instrucción)


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.

Comentarios

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).

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

Description (propiedad) | HelpContext (propiedad) | HelpFile (propiedad) | Number (propiedad) | Source (propiedad)

Métodos

Clear (método) | Raise (método)

Requisitos

Versión 1

Consulte también

On Error (instrucción)


Objeto Match

Proporciona acceso a las propiedades de sólo lectura de una expresión regular coincidente.

Comentarios

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úsculas.
   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"))

Propiedades

FirstIndex (propiedad) | Length (propiedad) | Value (propiedad)

Requisitos

Versión 5

Consulte también

Matches (colección) | RegExp (objeto) | SubMatches (colección)


Colección Matches

Colección de objetos Match de expresión regular.

Comentarios

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.

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úsculas
   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"))

Propiedades

Count (propiedad) | Item (propiedad)

Requisitos

Versión 1

Consulte también

For Each...Next (instrucción) | Match (objeto) | RegExp (objeto) | SubMatches (colección)


Objeto Regular Expression (RegExp)

Proporciona la compatibilidad con expresiones regulares simples.

Comentarios

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úsculas.
   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

Global (propiedad) | IgnoreCase (propiedad) | Pattern (propiedad)

Métodos

Execute (método) | Replace (método) | Test (método)

Requisitos

Versión 5

Consulte también

Match (objeto) | Matches (colección)


Operadores de VBScript

Descripción | Elemento del lenguaje
Suma dos números. | Suma (operador) (+)
Realiza la conjunción lógica de dos expresiones. | And (operador)
Asigna un valor a una propiedad o variable. | Asignación (operador) (=)
Realiza la concatenación de cadenas en dos expresiones. | Concatenación (operador) (&)
Divide dos números y devuelve un resultado en coma flotante. | División (operador) (/)
Realiza una equivalencia lógica de dos expresiones. | Eqv (operador)
Eleva un número a la potencia de un exponente. | Exponenciación (operador) (^)
Realiza una implicación lógica de dos expresiones. | Imp (operador)
Divide dos números y devuelve un resultado entero. | División de número entero (operador) (\)
Compara dos variables de referencia de objeto. | Is (operador)
Divide dos números y devuelve sólo el resto. | Mod (operador)
Multiplica dos números. | Multiplicación (operador) (*)
Indica el valor negativo de una expresión numérica. | Negación (operador) (-)
Realiza una negación lógica en una expresión. | Not (operador)
Lista que muestra el orden de precedencia de los distintos operadores utilizados en VBScript. | Precedencia de operadores
Realiza una disyunción lógica en dos expresiones. | Or (operador)
Busca la diferencia entre dos números o indica el valor negativo de una expresión numérica. | Resta (operador) (-)
Realiza una exclusión lógica en dos expresiones. | Xor (operador)


Operador Addition (+)

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.

Comentarios

Aunque también puede utilizar el operador + para concatenar dos cadenas de caracteres, debería utilizar el operador & para la concatenación para así eliminar la ambigüedad y proporcionar código de autoexplicativo.

Cuando utilice el operador +, quizá no pueda determinar si se producirá la suma o la concatenación de la cadena.

El subtipo subyacente de las expresiones determina el comportamiento del operador + del siguiente modo:

Si | Entonces
Ambas expresiones son numéricas | Add.
Ambas expresiones son cadenas | Concatenate.
Una expresión es numérica y la otra es una cadena | Add.

Si una de las dos expresiones es una expresión Null, el resultado es Null. Si ambas expresiones son Empty, el resultado es un subtipo de Integer. Sin embargo, si sólo una expresión es Empty, la otra expresión se devuelve inalterada como resultado.

Requisitos

Versión 1

Consulte también

& (operador) | - (operador) | Operadores aritméticos | Operador de concatenación | Precedencia de operadores | Resumen de operadores


Operador And

Realiza una conjunción lógica de dos expresiones.

resultado = expresión1 And expresión2

Argumentos

resultado

Cualquier variable numérica.

expresión1

Cualquier expresión.

expresión2

Cualquier expresión.

Comentarios

Si, y sólo si, ambas expresiones se evalúan como True, el resultado es True. Si alguna expresión se evalúa como False, el resultado es False. La siguiente tabla ilustra cómo se determina el resultado:

Si expresión1 es | Y expresión2 es | El resultado es
True | True | True
True | False | False
True | Null | Null
False | True | False
False | False | False
False | Null | False
Null | True | Null
Null | False | False
Null | Null | Null

El operador And también realiza una comparación bit a bit de los bits ubicados de forma idéntica en dos expresiones numéricas y establece el bit correspondiente en el resultado de acuerdo con la siguiente tabla:

Si el bit en expresión1 es | Y el bit en expresión2 es | El resultado es
0 | 0 | 0
0 | 1 | 0
1 | 0 | 0
1 | 1 | 1

Requisitos

Versión 1

Consulte también

Operadores lógicos | Not (operador) | Precedencia de operadores | Resumen de operadores | Or (operador) | Xor (operador)


Operadores aritméticos

^ (operador)

* (operador)

/ (operador)

\ (operador)

Mod (operador)

+ (operador)

- (operador)

Operadores de concatenación


Operador de asignación

= (operador)


Operador Assignment (=)

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.

Comentarios

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 | Set (instrucción)


Operadores de comparación

Se utilizan para comparar expresiones.

resultado = expresión1 operadorDeComparación expresión2

resultado = objeto1 Is objeto2

Argumentos

resultado

Cualquier variable numérica.

expresión

Cualquier expresión.

operadorDeComparación

Cualquier operador de comparación.

objeto

Cualquier nombre de objeto.

Comentarios

El operador Is tiene una funcionalidad de comparación específica diferente de los operadores que se muestran en la siguiente tabla. La siguiente tabla contiene una lista de operadores de comparación y las condiciones que determinan si el resultado es True, False o Null:

Operador | Descripción | True si | False si | Null si
< | Menor que | expresión1 < expresión2 | expresión1 >= expresión2 | expresió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

Al comparar dos expresiones, es posible que no sea capaz de saber si las expresiones se están comparando como números o como cadenas.

La siguiente tabla muestra cómo se comparan las expresiones o que devuelve la comparación, según el subtipo de las expresiones:

Si | Entonces
Ambas 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.

Requisitos

Versión 1

Consulte también

= (operador) | Is (operador) | Precedencia de operadores | Resumen de operadores


Operador de concatenation (&)

Fuerza la concatenación de cadena de dos expresiones.

resultado = expresión1 & expresión2

Argumentos

resultado

Cualquier variable.

expresión1

Cualquier expresión.

expresión2

Cualquier expresión.

Comentarios

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

Operador de concatenación | Precedencia de operadores | Resumen de operadores


Operadores de concatenación

& (operador)

+ (operador)


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.

Comentarios

Si una o ambas expresiones son expresiones Null, el resultado es Null. Cualquier expresión que sea Empty se trata como 0.

Requisitos

Versión 1

Consulte también

* (operador) | \ (operador) | Operadores aritméticos | Precedencia de operadores | Resumen de operadores


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.

Comentarios

Si alguna expresión es Null, el resultado es también Null. Cuando ninguna expresión sea Null, el resultado se determina de acuerdo con la siguiente tabla:

Si expresión1 es | Y expresión2 es | El resultado es
True | True | True
True | False | False
False | True | False
False | False | True

El operador Eqv realiza una comparación bit a bit de los bits ubicados de forma idéntica en dos expresiones numéricas y establece el bit correspondiente en el resultado de acuerdo con la siguiente tabla:

Si el bit en expresión1 es | Y el bit en expresión2 es | El resultado es
0 | 0 | 1
0 | 1 | 0
1 | 0 | 0
1 | 1 | 1

Requisitos

Versión 1

Consulte también

Imp (operador) | Operadores lógicos | Precedencia de operadores | Resumen de operadores


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.

Comentarios

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

Versión 1

Consulte también

Operadores aritméticos | Precedencia de operadores | Resumen de operadores


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.

Comentarios

La siguiente tabla ilustra cómo se determina el resultado:

Si expresión1 es | Y expresión2 es | Entonces resultado es
True | True | True
True | False | False
True | Null | Null
False | True | True
False | False | True
False | Null | True
Null | True | True
Null | False | Null
Null | Null | Null

El operador Imp realiza una comparación bit a bit de los bits ubicados de manera idéntica en dos expresiones numéricas y establece el bit correspondiente en el resultado de acuerdo con la siguiente tabla:

Si el bit en expresión1 es | Y el bit en expresión2 es | Entonces resultado es
0 | 0 | 1
0 | 1 | 1
1 | 0 | 0
1 | 1 | 1

Requisitos

Versión 1

Consulte también

Eqv (operador) | Operadores lógicos | Precedencia de operadores | Resumen de operadores


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.

Comentarios

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

Versión 1

Consulte también

* (operador) | / (operador) | Operadores aritméticos | Precedencia de operadores | Resumen de operadores


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.

Comentarios

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

Consulte también

Operadores de comparación | Precedencia de operadores | Resumen de operadores


Operadores lógicos

And (operador)

Not (operador)

Or (operador)

Xor (operador)


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.

Comentarios

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


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.

Comentarios

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) | Operadores aritméticos | Precedencia de operadores | Resumen de operadores


Operador Not

Realiza la negación lógica de una expresión.

resultado = Not expresión

Argumentos

resultado

Cualquier variable numérica.

expresión

Cualquier expresión.

Comentarios

La siguiente tabla ilustra cómo se determina el resultado:

Si expresión es | Entonces resultado es
True | False
False | True
Null | Null

Además, el operador Not invierte los valores de bits de cualquier variable y establece el bit correspondiente en el resultado de acuerdo con la siguiente tabla:

Bit en expresión | Bit en resultado
0 | 1
1 | 0

Requisitos

Versión 1

Consulte también

And (operador) | Operadores lógicos | Precedencia de operadores | Resumen de operadores | Or (operador) | Xor (operador)


Precedencia de operadores

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

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

Aritmético | Comparación | Lógico
Negación (-) | Igualdad (=) | Not
Exponenciación (^) | Desigualdad (<>) | And
Multiplicación y división (*, /) | Menor que (<) | Or
División de número entero (\) | Mayor que (>) | Xor
Modelo aritmético (Mod) | Menor o igual que (<=) | Eqv
Suma y resta (+, -) | Mayor o igual que (>=) | Imp
Concatenación de cadenas (&) | Is | &

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

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

Requisitos

Versión 1

Consulte también

Is (operador) | Resumen de operadores


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


Operador Or

Realiza una disyunción lógica de dos expresiones.

resultado = expresión1 Or expresión2

Argumentos

resultado

Cualquier variable numérica.

expresión1

Cualquier expresión.

expresión2

Cualquier expresión.

Comentarios

Si alguna o ambas expresiones se evalúa como True, el resultado es True. La siguiente tabla ilustra cómo se determina el resultado:

Si expresión1 es | Y expresión2 es | Entonces resultado es
True | True | True
True | False | True
True | Null | True
False | True | True
False | False | False
False | Null | Null
Null | True | True
Null | False | Null
Null | Null | Null

El operador Or también realiza una comparación bit a bit de los bits ubicados de manera idéntica en dos expresiones numéricas y establece el bit correspondiente en el resultado de acuerdo con la siguiente tabla:

Si el bit en expresión1 es | Y el bit en expresión2 es | Entonces resultado es
0 | 0 | 0
0 | 1 | 1
1 | 0 | 1
1 | 1 | 1

Requisitos

Versión 1

Consulte también

And (operador) | Operadores lógicos | Not (operador) | Precedencia de operadores | Resumen de operadores | Xor (operador)


Operador Subtraction (-)

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.

Comentarios

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) | Operadores aritméticos | Precedencia de operadores | Resumen de operadores


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.

Comentarios

Si una, y sólo una, de las expresiones se evalúa como True, el resultado es True. Sin embargo, si cualquier expresión es Null, el resultado es también Null. Cuando ninguna expresión es Null, el resultado se determina de acuerdo con la siguiente tabla:

Si expresión1 es | Y expresión2 es | Entonces resultado es
True | True | False
True | False | True
False | True | True
False | False | False

El operador Xor también realiza una comparación bit a bit de los bits ubicados en la misma posición en dos expresiones numéricas y establece el bit correspondiente en el resultado de acuerdo con la siguiente tabla:

Si el bit en expresión1 es | Y el bit en expresión2 es | Entonces resultado es
0 | 0 | 0
0 | 1 | 1
1 | 0 | 1
1 | 1 | 0

Requisitos

Versión 1

Consulte también

And (operador) | Operadores lógicos | Not (operador) | Precedencia de operadores | Resumen de operadores | Or (operador)


Propiedades de VBScript

Descripción | Elemento del lenguaje
Devuelve o establece una cadena descriptiva asociada con un error. | Description (propiedad)
Devuelve la posición al lugar donde se ha producido una coincidencia en una cadena de búsqueda . | FirstIndex (propiedad)
Establece o devuelve un nuevo valor Boolean. | Global (propiedad)
Establece o devuelve un Id. de contexto para un tema de un archivo de Ayuda. | HelpContext (propiedad)
Establece o devuelve la ruta de acceso completa de un archivo de Ayuda. | HelpFile (propiedad)
Establece o devuelve un valor Boolean que indica si un modelo de búsqueda distingue o no mayúsculas. | IgnoreCase (propiedad)
Devuelve la longitud de una coincidencia encontrada en una cadena de búsqueda. | Length (propiedad)
Devuelve o establece un valor numérico que especifica un error. | Number (propiedad)
Establece o devuelve el modelo de expresión regular que se está buscando. | Pattern (propiedad)
Devuelve o establece el nombre del objeto o aplicación que generó originalmente el error. | Source (propiedad)
Devuelve el valor o texto de una coincidencia encontrada en una cadena de búsqueda. | Value (propiedad)


Propiedad Description

Devuelve o establece una cadena descriptiva asociada con un error.

objeto.Description [= expresióncadena]

Argumentos

objeto

Siempre el objeto Err.

expresióncadena

Una expresión de cadena que contiene una descripción del error.

Comentarios

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

Err (objeto) | HelpContext (propiedad) | HelpFile (propiedad) | Number (propiedad) | Source (propiedad)

Se aplica a: Err (objeto)


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.

Comentarios

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 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úsculas.
   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

Length (propiedad) | Value (propiedad)

Se aplica a: Match (objeto)


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.

Comentarios

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):

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úsculas.
   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

IgnoreCase (propiedad) | Pattern (propiedad)

Se aplica a: RegExp (objeto)


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.

Comentarios

Si se especifica un archivo de Ayuda en HelpFile, la propiedad HelpContext se utiliza para mostrar 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

Description (propiedad) | HelpFile (propiedad) | Number (propiedad) | Source (propiedad)

Se aplica a: Err (objeto)


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

Opcional. Ruta de acceso completa del archivo de Ayuda.

Comentarios

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

Description (propiedad) | HelpContext (propiedad) | Number (propiedad) | Source (propiedad)

Se aplica a: Err (objeto)


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.

Comentarios

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úsculas.
   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

Global (propiedad) | Pattern (propiedad)

Se aplica a: RegExp (objeto)


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.

Comentarios

La siguiente porción de código ilustra el uso de la propiedad Length:

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úsculas.
   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

FirstIndex (propiedad) | Value (propiedad)

Se aplica a: Match (objeto)


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.

Comentarios

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

Description (propiedad) | HelpContext (propiedad) | HelpFile (propiedad) | Err (objeto) | Source (propiedad)

Se aplica a: Err (objeto)


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.

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 "[^ \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.

Comentarios

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úsculas.
   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

Global (propiedad) | IgnoreCase (propiedad)

Se aplica a: RegExp (objeto)


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.

Comentarios

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

Consulte también

Description (propiedad) | Err (objeto) | HelpContext (propiedad) | HelpFile (propiedad) | Number (propiedad) | On Error (instrucción)

Se aplica a: Err (objeto)


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.

Comentarios

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úsculas.
   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

FirstIndex (propiedad) | Length (propiedad)

Se aplica a: Match (objeto)


Instrucciones de VBScript

Descripción | Elemento del lenguaje
Transfiere el control a un procedimiento Sub o Function. | Call (instrucción)
Declara el nombre de una clase. | Class (instrucción)
Declara constantes para utilizar en lugar de valores literales. | Const (instrucción)
Declara variables y asigna espacio de almacenamiento. | Dim (instrucción)
Repite un bloque de instrucciones mientras una condición es True o hasta que una condición sea True. | Do...Loop (instrucción)
Reinicializa los elementos de matrices de tamaño fijo y libera espacio de almacenamiento de la matriz dinámica. | Erase (instrucción)
Ejecuta una o varias instrucciones especificadas. | Execute (instrucción)
Ejecuta una o varias instrucciones especificadas en el espacio de nombres global de una secuencia de comandos. | ExecuteGlobal (instrucción)
Sale de un bloque de código Do...Loop, For...Next, Function o Sub. | Exit (instrucción)
Repite un grupo de instrucciones un número de veces especificado. | For...Next (instrucción)
Repite un grupo de instrucciones para cada elemento en una matriz o colección. | For Each...Next (instrucción)
Declara el nombre, argumentos y código que forman el cuerpo de un procedimiento Function. | Function (instrucción)
Ejecuta de forma condicional un grupo de instrucciones, según el valor de una expresión. | If...Then...Else (instrucción)
Habilita el control de errores. | On Error (instrucción)
Fuerza la declaración explícita de todas las variables de una secuencia de comandos. | Option Explicit (instrucción)
Declara variables como privadas y les asigna espacio de almacenamiento. | Private (instrucción)
Declara el nombre, los argumentos y el código que forman el cuerpo de un procedimiento Property que toma (devuelve) el valor de una propiedad. | Property Get (instrucción)
Declara el nombre, los argumentos y el código que forman el cuerpo de un procedimiento Property que asigna el valor de una propiedad. | Property Let (instrucción)
Declara el nombre, los argumentos y el código que forman el cuerpo de un procedimiento Property que establece una referencia a un objeto. | Property Set (instrucción)
Declara variables como públicas y asigna espacio de almacenamiento. | Public (instrucción)
Inicializa el generador de números aleatorios. | Randomize (instrucción)
Declara variables de matriz dinámica y asigna o vuelve a asignar espacio de almacenamiento para procedimientos. | ReDim (instrucción)
Incluye comentarios explicativos en un programa. | Rem (instrucción)
Ejecuta uno o varios grupos de instrucciones, según el valor de una expresión. | Select Case (instrucción)
Asigna una referencia de objeto a una propiedad o variable. | Set (instrucción)
Declara el nombre, argumentos y código que forman el cuerpo de un procedimiento Sub. | Sub (instrucción)
Ejecuta una serie de instrucciones siempre que una condición dada sea True. | While...Wend (instrucción)
Ejecuta una serie de instrucciones en un único objeto. | With (instrucción)


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)

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


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

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


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

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 línea.

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

Dim (instrucción) | Function (instrucción) | Private (instrucción) | Public (instrucción) | Sub (instrucción)


Instrucción Dim

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

Private (instrucción) | Public (instrucción) | ReDim (instrucción) | Set (instrucción)


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.
      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

Exit (instrucción) | For...Next (instrucción) | While...Wend (instrucción)


Instrucción Erase

Reinicializa los elementos de matrices de tamaño fijo y libera espacio de almacenamiento de la matriz dinámica.

Erase matriz

El argumento matriz es el nombre de la variable de la matriz que se va a borrar.

Comentarios

Es importante conocer si una matriz es de tamaño fijo (ordinaria) o dinámica porque Erase se comporta de manera diferente según el tipo de matriz. Erase no recupera memoria para matrices de tamaño fijo. Erase establece los elementos de una matriz fija de la forma siguiente:

Tipo de matriz | Efecto de Erase en elementos de matriz fija
Matriz 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.

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.

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

Dim (instrucción) | Nothing | ReDim (instrucción)


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

Eval (función) | ExecuteGlobal (instrucción)


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.
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


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:

Instrucción | Descripción
Exit 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 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.

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

Do...Loop (instrucción) | For Each...Next (instrucción) | For...Next (instrucción) | Function (instrucción) | Sub (instrucción)


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]

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

Do...Loop (instrucción) | Exit (instrucción) | For...Next (instrucción) | While...Wend (instrucción)


Instrucción For...Next

Repite un grupo de instrucciones un número de veces especificado.

For contador = inicio To fin [Step paso]
    [instrucciones]
    [Exit For]
    [instrucciones]
Next

Argumentos

contador

Variable numérica utilizada como contador de bucle. La variable no puede ser un elemento de matriz ni un elemento de tipo definido por el usuario.

inicio

Valor inicial de contador.

fin

Valor final de contador.

paso

El número de contador se cambia cada vez a lo largo del bucle. Si no se especifica, el valor predeterminado de paso es uno.

instrucciones

Una o varias instrucciones entre For y Next que se ejecutan el número de veces especificado.

Comentarios

El argumento paso puede ser positivo o negativo. El valor del argumento paso determina el procedimiento de bucle de la forma siguiente:

Valor | El bucle se ejecuta si
Positivo o 0 | contador <= fin
Negativo | contador >= fin

Una vez que se inicia el bucle y que se han ejecutado todas las instrucciones en el bucle, se agrega paso a contador. En este punto, o bien las instrucciones del bucle se ejecutan de nuevo (según la misma prueba que hizo que el bucle se ejecutara inicialmente), o se sale del bucle y la ejecución continúa con la instrucción que sigue a Next.

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

Do...Loop (instrucción) | Exit (instrucción) | For Each...Next (instrucción) | While...Wend (instrucción)


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

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 variables múltiples se separan con comas.

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.

Al igual que un procedimiento Sub, un procedimiento Function es un procedimiento separado que puede aceptar argumentos, ejecutar una serie de instrucciones y cambiar los valores de sus argumentos. Sin embargo, a diferencia de un procedimiento Sub, puede utilizar un procedimiento Function en la parte derecha de una expresión del mismo modo que utiliza cualquier función intrínseca, como Sqr, Cos o Chr, cuando desea utilizar el valor devuelto por la función.

Puede llamar a un procedimiento Function con el nombre de la función, seguido por el argumento entre paréntesis, en una expresión. Consulte la instrucción Call para obtener información específica acerca de cómo llamar a procedimientos Function.

Precaución Los procedimientos Function pueden ser recursivos, es decir, pueden llamarse a sí mismos para realizar una tarea concreta. Sin embargo, la recursividad puede dar lugar a un desbordamiento de pila.

Para devolver un valor desde una función, asigne el valor al nombre de la función. Cualquier número de dichas asignaciones puede aparecer en cualquier lugar dentro del procedimiento. Si no se asigna ningún valor a nombre, el procedimiento devuelve un valor predeterminado: una función numérica devuelve 0 y una función de cadena devuelve una cadena de longitud cero (""). Una función que devuelve una referencia de objeto, devuelve Nothing si no se asigna ninguna referencia de objeto a nombre (mediante Set) dentro de Function.

El siguiente ejemplo muestra cómo asignar un valor de retorno a una función denominada BinarySearch. En este caso, se asigna False al nombre para indicar que no se ha encontrado algún valor.

Function BusquedaBinaria(. . .)
      . . .
      ' ' Valor no encontrado. Devuelve un valor False.
      If lower > upper Then
            BusquedaBinaria = False
            Exit Function
      End If
      . . .
End Function

Las variables utilizadas en los procedimientos Function pertenecen a dos categorías: aquellas que se declaran explícitamente dentro del procedimiento y aquellas que no. Las variables que se declaran explícitamente dentro de un procedimiento (con Dim o su equivalente) son siempre locales al procedimiento. Las variables que se utilizan pero no se declaran explícitamente dentro de un procedimiento son también locales a no ser que se declaren explícitamente en algún nivel superior fuera del procedimiento.

Precaución Un procedimiento puede utilizar una variable que no se declare explícitamente en el procedimiento, pero puede producirse un conflicto de nomenclatura si cualquiera de los elementos que ha definido tiene el mismo nombre en el nivel de secuencia de comandos. Si el procedimiento hace referencia a una variable que no está declarada y que tiene el mismo nombre que otro procedimiento, constante o variable, se asume que su procedimiento hace referencia a dicho nombre del nivel de secuencia de comandos. Para evitar este tipo de conflicto, utilice una instrucción Option Explicit con la que se fuerce la declaración explícita de variables.

Precaución Puede que VBScript reorganice las expresiones aritméticas para aumentar la eficacia interna. Evite utilizar un procedimiento Function en una expresión aritmética cuando la función cambie el valor de las variables en la misma expresión.

Requisitos

Versión 1

Consulte también

Call (instrucción) | Dim (instrucción) | Exit (instrucción) | Nothing (instrucción) | Set (instrucción) | Sub (instrucción)


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

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


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 comportamiento exacto se deteremina por el host que ejecuta el código. 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


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


Instrucción Private

Declara variables como privadas y les asigna espacio de almacenamiento. Declara, en un bloque Class, una variable privada.

Private variable[([subíndices])][, variable[([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

Consulte también

Dim (instrucción) | Public (instrucción) | ReDim (instrucción) | Set (instrucción)


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. Los argumentos múltiples se separan con comas. 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

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

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 (instrucción)


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.

[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. Los argumentos múltiples se separan con comas. 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.

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 referencia como valor en la sintaxis anterior.

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.

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

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 (instrucción)


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.

listaArgumentos

Lista de variables que representan los argumentos que se pasan al procedimiento Property Set cuando se llama al mismo. Los argumentos múltiples se separan con comas. 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.

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.

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.

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

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 (instrucción)


Instrucción Public

Declara variables como públicas y libera espacio de almacenamiento. Declara, en un bloque Class, una variable privada.

Public variable[(subíndices])][, variable[([subíndices])]] . . .

Argumentos

nombreVariable

Nombre de la variable. Sigue las convenciones de nomenclatura estándar de las variables.

subíndices

Dimensiones de una variable de matriz. Se puede declarar hasta 60 dimensiones múltiples. El argumento subíndices utiliza la siguiente sintaxis:

superior [, superior] . . .

El límite inferior de una matriz es siempre cero.

Comentarios

Las variables de instrucciones Public están disponibles para todos los procedimientos de todas las secuencias de comandos.

Una variable que se refiere a un objeto se debe asignar a un objeto existente mediante la instrucción Set antes de que se pueda utilizar. Hasta que se asigna a un objeto, la variable del objeto declarado se inicializa como Empty.

También puede utilizar la instrucción Public con paréntesis vacíos para declarar una matriz dinámica. Después de declarar una matriz dinámica, utilice la instrucción ReDim dentro de un procedimiento para definir el número de dimensiones y elementos de la matriz. Si intenta volver a declarar una dimensión para una variable de matriz cuyo tamaño se especificó explícitamente en una instrucción Private, Public o Dim se produce un error.

El siguiente ejemplo ilustra el uso de la instrucción Public:

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

Requisitos

Versión 1

Consulte también

Dim (instrucción) | Private (instrucción) | ReDim (instrucción) | Set (instrucción)


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

Versión 1

Consulte también

Rnd (función) | Timer (función)


Instrucción ReDim

Declara variables de matriz dinámica y asigna o vuelve a asignar espacio de almacenamiento para procedimientos.

ReDim [Preserve] variable(subíndices) [, variable(subíndice)] . . .

Argumentos

Preserve

Conserva los datos en una matriz existente cuando modifica el tamaño de la última dimensión.

variable

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.

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

Dim (instrucción) | Set (instrucción)


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 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 puntos.
MiCadena2 = "Adiós"     ' Esto es también un comentario; no se necesitan dos puntos.
Rem Comentario en una línea sin código; no se necesitan dos puntos.

Requisitos

Versión 1


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

If...Then...Else (instrucción)


Instrucción Set

Asigna una referencia de objeto a una variable o propiedad, o asocia una referencia de procedimiento con un evento.

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) & " - "
   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) | Dim (instrucción) | GetRef (función) | ReDim (instrucción)


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

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 variables múltiples se separan con comas.

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.

variable

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.

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

Call (instrucción) | Dim (instrucción) | Exit (instrucción) | Statement (función)


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

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

Do...Loop (instrucción)


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

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

Set (instrucción)


Manual del usuario de FileSystemObject

El modelo del objeto FileSystemObject

Introducción a FileSystemObject y a la Referencia de la biblioteca de tiempo de ejecución de secuencias de comandos

Objetos FileSystemObject

Programar FileSystemObject

Trabajar con unidades y carpetas

Trabajar con archivos

Códigos de ejemplo de FileSystemObject


El modelo del objeto FileSystemObject

Cuando escriba secuencias de comandos para páginas Active Server, Windows Scripting Host u otras aplicaciones donde se puede utilizar secuencias de comandos, a menudo es importante agregar, mover, cambiar o eliminar carpetas (directorios) y archivos en el servidor Web. También puede ser necesario obtener información y controlar las unidades unidas al servidor Web.

Las secuencias de comandos le permiten procesar unidades, carpetas y archivos mediante el modelo de objetos FileSystemObject (FSO) que se explica en las secciones siguientes:

  • Introducción a FileSystemObject y a la Referencia de la biblioteca de tiempo de ejecución de secuencias de comandos
  • Objetos de FileSystemObject
  • Programar FileSystemObject
  • Trabajar con unidades y carpetas
  • Trabajar con archivos
  • Códigos de ejemplo de FileSystemObject


Introducción a FileSystemObject y a la Referencia de la biblioteca de tiempo de ejecución de secuencias de comandos

El modelo de objetos FileSystemObject (FSO) le permite utilizar la familiar sintaxis objeto.método con una amplia serie de propiedades, métodos y eventos para procesar carpetas y archivos.

Utilice esta herramienta basada en objetos con:

  • HTML para crear páginas Web
  • Windows Scripting Host para crear archivos de procesos por lotes para Microsoft Windows
  • El control de secuencias de comandos para proporcionar capacidad de secuencias de comandos a aplicaciones desarrolladas en otros lenguajes

Debido a que el uso del FSO en el cliente plantea serias cuestiones de seguridad al proporcionar acceso potencialmente no deseado al sistema de archivos local de un cliente, esta documentación asume el uso del modelo de objetos FSO para crear secuencias de comandos ejecutadas por páginas Web de Internet en el servidor. Puesto que se utiliza el servidor, la configuración de seguridad predeterminada de Internet Explorer no permite el uso en el cliente del objeto FileSystemObject. Suplantar estos valores predeterminados puede suponer el acceso no deseado al sistema de archivos de un equipo local, lo que puede resultar en la total destrucción de la integridad del sistema de archivos, lo que provocaría la perdida de los datos o algo peor.

El modelo de objetos FSO proporciona a las aplicaciones de servidor la capacidad de crear, modificar, mover y eliminar carpetas o detectar si existen ciertas carpetas y, si es así, donde. También puede encontrar información acerca de carpetas, como sus nombres, la fecha en que se crearon o modificaron por última vez, etc..

El modelo de objetos FSO también facilita el proceso de archivos. Cuando se procesan los archivos, el objetivo principal es almacenar datos en un formato de fácil acceso y eficiente con los recursos y el espacio. Necesita poder crear archivos, escribir y cambiar los datos y dar salida a (leer) los datos. Puesto que el almacenamiento de los datos en una base de datos, como Access o SQL Server, agrega una significativa carga a su aplicación, almacenar sus datos en un archivo de texto o binario puede ser la solución más eficaz. Puede que prefiera no tener esta carga adicional o puede que sus requisitos de acceso a los datos no necesiten todas las características adicionales asociadas a una base de datos con características completas.

El modelo de objetos FSO, que contiene la biblioteca de tipos de secuencias de comandos (Scrrun.dll), es compatible con la creación y tratamiento de archivos de texto por el objeto TextStream. Aunque todavía no es compatible con la creación o manipulación de archivos binarios, se planea la compatibilidad futura con archivos binarios.


Objetos FileSystemObject

El modelo de objetos FileSystemObject (FSO) contiene los siguientes objetos y colecciones.

Objeto o colección | Descripción
FileSystemObject | Objeto principal. Contiene métodos y propiedades que le permiten crear, eliminar, obtener información y en general controlar las unidades, carpetas y archivos. Muchos de los métodos asociados con este objeto duplican los de otros objetos FSO; se proporcionan por comodidad.
Drive | Objeto. Contiene métodos y propiedades que le permiten reunir información acerca de una unidad unida al sistema, como su nombre de recurso compartido y cuánto espacio tiene disponible. Note que una "unidad" no es necesariamente un disco duro sino que puede ser una unidad de CD-ROM, un disco RAM, etc. Una unidad no necesita estar físicamente unida al sistema; también se puede conectar lógicamente a través de una red.
Drives | Colección. Proporciona una lista de las unidades unidas al sistema, físicamente o lógicamente. La colección Drives incluye todas las unidades, independientemente del tipo. Las unidades de medios extraibles no necesitan tener medios insertados para aparecer en esta colección.
File | Objeto. Contiene métodos y propiedades que le permiten crear, eliminar o mover un archivo. También le permiten consultar al sistema un nombre de archivo, ruta y algunas otras propiedades.
Files | Colección. Proporciona una lista de todos los archivos contenidos dentro de una carpeta.
Folder | Objeto. Contiene métodos y propiedades que le permiten crear, eliminar o mover carpetas. También le permite consultar al sistema por nombres de carpetas, rutas y algunas otras propiedades.
Folders | Colección. Proporciona una lista de todas las carpetas dentro de un objeto Folder.
TextStream | Objeto. Le permite leer y escribir archivos de texto.


Programar FileSystemObject

Para programar con el modelo de objetos FileSystemObject (FSO):

  • Utilice el método CreateObject para crear un objeto FileSystemObject.
  • Utilice el método apropiado en el objeto recién creado.
  • Tenga acceso a las propiedades del objeto.

El modelo de objetos FSO está contenido en la biblioteca de tipos de secuencias de comandos, que se encuentra en el archivo Scrrun.dll. Por lo tanto, debe tener Scrrun.dll en el directorio de sistema apropiado en su servidor Web para utilizar el modelo de objetos FSO.

Crear un Objeto FileSystemObject

Primero, cree un objeto FileSystemObject utilizando el método CreateObject. En VBScript, utilice el código siguiente para crear una instancia de FileSystemObject:

Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")

Este código de ejemplo demuestra cómo crear una instancia de FileSystemObject.

En JScript, utilice este código para hacer lo mismo:

var fso;
fso = new ActiveXObject("Scripting.FileSystemObject");

En estos dos ejemplos, Scripting es el nombre de la biblioteca de tipos y FileSystemObject es el nombre del objeto que desea crear. Sólo puede crear una instancia del objeto FileSystemObject, independientemente de cuántas veces intente crear otra.

Utilizar el método apropiado

Segundo, utilice el método apropiado del objeto FileSystemObject. Por ejemplo, para crear un objeto nuevo, utilice CreateTextFile o CreateFolder (el modelo de objetos FSO no es compatible con la creación o eliminación de las unidades).

Para eliminar objetos, utilice los métodos DeleteFile y DeleteFolder del objeto FileSystemObject o el método Delete de los objetos File y Folder. También puede copiar y mover archivos y carpetas utilizando los métodos apropiados.

Nota Parte de la funcionalidad en el modelo de objetos FileSystemObject es redundante. Por ejemplo, puede copiar un archivo utilizando el método CopyFile del objeto FileSystemObject o puede utilizar el método Copy del objeto File. Los métodos funcionan de la misma manera; existen los dos para ofrecer flexibilidad en la programación.

Tener acceso a las unidades, archivos y carpetas existentes

Para obtener acceso a una unidad, archivo o carpeta existente, utilice el correspondiente método "get" del objeto FileSystemObject:

  • GetDrive
  • GetFolder
  • GetFile

Para obtener acceso a un archivo existente en VBScript:

Dim fso, f1
Set fso = CreateObject("Scripting.FileSystemObject")
Set f1 = fso.GetFile("c:\prueba.txt")

Para hacer lo mismo en JScript, utilice el código siguiente:

var fso, f1;
fso = new ActiveXObject("Scripting.FileSystemObject");
f1 = fso.GetFile("c:\\prueba.txt");

No utilice los métodos "get" para objetos recién creados, puesto que las funciones "create" ya devuelven un identificador para ese objeto. Por ejemplo, si crea una nueva carpeta utilizando el método CreateFolder, no utilice el método GetFolder para acceder a sus propiedades, como Name, Path, Size, etc. Establezca como una variable la función CreateFolder para obtener un identificador para la carpeta recién creada y después tener acceso a sus propiedades, métodos y eventos. Para hacer esto en VBScript, utilice el código siguiente:

Sub CreateFolder
   Dim fso, fldr
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set fldr = fso.CreateFolder("C:\MiPrueba")
   Response.Write "Carpeta creada: " & fldr.Name
End Sub

Para establecer una variable para la función CreateFolder en JScript, utilice esta sintaxis:

function CreateFolder()
{
   var fso, fldr;
   fso = new ActiveXObject("Scripting.FileSystemObject");
   fldr = fso.CreateFolder("C:\\MiPrueba");
   Response.Write("Carpeta creada: " + fldr.Name);
}

Tener acceso a las propiedades del objeto

Una vez tenga un identificador para un objeto, puede tener acceso a sus propiedades. Por ejemplo, para obtener el nombre de una carpeta particular, cree primero una instancia del objeto y, a continuación, obtenga un identificador para ella con el método que corresponda (en este caso, el método GetFolder, puesto que ya existe la carpeta).

Utilice este código para obtener un identificador para el método GetFolder en VBScript:

Set fldr = fso.GetFolder("c:\")

Para hacer lo mismo en JScript, utilice el código siguiente:

var fldr = fso.GetFolder("c:\\");

Ahora que tiene un identificador para un objeto Folder, puede comprobar su propiedad Name. Utilice el código siguiente para comprobar esto en VBScript:

Response.Write "El nombre de la carpeta es: " & fldr.Name

Para comprobar una propiedad Name en JScript, utilice esta sintaxis:

Response.Write("El nombre de la carpeta es: " + fldr.Name);

Para averiguar la última vez que se modificó un archivo, utilice la siguiente sintaxis de VBScript:

Dim fso, f1
Set fso = CreateObject("Scripting.FileSystemObject")
' Obtener un objeto File que consultar.
Set f1 = fso.GetFile("c:\detlog.txt")
' Imprimir la información.
Response.Write "Última modificación del archivo: " & f1.DateLastModified

Para averiguar la última vez que se modificó un archivo en JScript, utilice este código:

var fso, f1;
fso = new ActiveXObject("Scripting.FileSystemObject");
// Obtener un objeto File que consultar.
f1 = fso.GetFile("c:\\detlog.txt");
// Imprimir la información.
Response.Write("Última modificación del archivo: " + f1.DateLastModified);


Trabajar con unidades y carpetas

Con el modelo de objetos FileSystemObject (FSO), puede trabajar con unidades y carpetas mediante programas igual que puede hacerlo interactivamente desde el Explorador de Windows. Puede copiar y mover carpetas, obtener información acerca de unidades y carpetas, etc.

Obtener información acerca de unidades

El objeto Drive le permite obtener información acerca de las diversas unidades conectadas al sistema físicamente o a través de una red. Sus propiedades le permiten obtener información acerca de:

  • El tamaño total de la unidad en bytes (propiedad TotalSize)
  • Cuánto espacio hay disponible en la unidad en bytes (propiedades AvailableSpace o FreeSpace)
  • Qué letra está asignada a la unidad (propiedad DriveLetter)
  • Qué tipo de unidad es: extraíble, fija, de red, CD-ROM o disco RAM (propiedad DriveType)
  • El número de serie de la unidad (propiedad SerialNumber )
  • El tipo de sistema de archivos que utiliza la unidad: FAT, FAT32, NTFS, etc. (propiedad FileSystem)
  • Si una unidad está disponible para el uso (propiedad IsReady)
  • El nombre del recurso compartido o volumen (propiedades ShareName y VolumeName)
  • La ruta o carpeta raíz de la unidad (propiedades Path y RootFolder)

Vea el código de ejemplo para ver cómo se utilizan estas propiedades en FileSystemObject.

Ejemplo de uso del objeto Drive

Utilice el objeto Drive para reunir información acerca de una unidad. No verá una referencia a un objeto Drive real en el código siguiente; en su lugar, utilice el método GetDrive para obtener una referencia a un objeto Drive existente (en este caso, drv).

El ejemplo siguiente demuestra cómo utilizar el objeto Drive en VBScript:

Sub ShowDriveInfo(drvPath)
   Dim fso, drv, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set drv = fso.GetDrive(fso.GetDriveName(drvPath))
   s = "Unidad " & UCase(drvPath) & " - "
   s = s & drv.VolumeName & "<br>"
   s = s & "Espacio total: " & FormatNumber(drv.TotalSize / 1024, 0)
   s = s & " Kb" & "<br>"
   s = s & "Espacio libre: " & FormatNumber(drv.FreeSpace / 1024, 0)
   s = s & " Kb" & "<br>"
   Response.Write s
End Sub

El código siguiente muestra la misma funcionalidad en JScript:

function ShowDriveInfo1(drvPath)
{
   var fso, drv, s ="";
   fso = new ActiveXObject("Scripting.FileSystemObject");
   drv = fso.GetDrive(fso.GetDriveName(drvPath));
   s += "Unidad " + drvPath.toUpperCase()+ " - ";
   s += drv.VolumeName + "<br>";
   s += "Espacio total: " + drv.TotalSize / 1024;
   s += " Kb" + "<br>";
   s += "Espacio libre: " + drv.FreeSpace / 1024;
   s += " Kb" + "<br>";
   Response.Write(s);
}

Trabajar con carpetas

Las tareas comunes de carpetas y los métodos para realizarlas se describen en la tabla siguiente.

Tarea | Método
Crear una carpeta. | FileSystemObject.CreateFolder
Eliminar una carpeta. | Folder.Delete o FileSystemObject.DeleteFolder
Mover una carpeta. | Folder.Move o FileSystemObject.MoveFolder
Copiar una carpeta. | Folder.Copy o FileSystemObject.CopyFolder
Recuperar el nombre de una carpeta. | Folder.Name
Averiguar si existe una carpeta en una unidad. | FileSystemObject.FolderExists
Obtener una instancia de un objeto Folder existente. | FileSystemObject.GetFolder
Averiguar el nombre de la carpeta primaria de una carpeta. | FileSystemObject.GetParentFolderName
Averiguar la ruta de las carpetas del sistema. | FileSystemObject.GetSpecialFolder

Consulte el código de ejemplo para ver cómo se utilizan muchos de estos métodos y propiedades en FileSystemObject.

El ejemplo siguiente demuestra cómo utilizar los objetos Folder y FileSystemObject para tratar las carpetas y obtener información acerca de ellas en VBScript:

Sub ShowFolderInfo()
   Dim fso, fldr, s
   ' Obtener instancia de FileSystemObject.
   Set fso = CreateObject("Scripting.FileSystemObject")
   ' Obtener objeto Drive.
   Set fldr = fso.GetFolder("c:")
   ' Imprimir nombre de la carpeta primaria.
   Response.Write "El nombre de la carpeta primaria es: " & fldr & "<br>"
   ' Imprimir nombre de la unidad.
   Response.Write "Se encuentra en la unidad " & fldr.Drive & "<br>"
   ' Imprimir nombre del archivo raíz.
   If fldr.IsRootFolder = True Then
      Response.Write "Esta es la carpeta raíz." & ""<br>"<br>"
   Else
      Response.Write "Esta carpeta no es una carpeta raíz." & "<br><br>"
   End If
   ' Crear una carpeta nueva con el objeto FileSystemObject.
   fso.CreateFolder ("C:\Bogus")
   Response.Write "Carpeta creada C:\Bogus" & "<br>"
   ' Imprimir el nombre base de la carpeta.
   Response.Write "Nombre base = " & fso.GetBaseName("c:\bogus") & "<br>"
   ' Eliminar la carpeta recién creada.
   fso.DeleteFolder ("C:\Bogus")
   Response.Write "Carpeta eliminada C:\Bogus" & "<br>"
End Sub

Este ejemplo muestra cómo utilizar los objetos Folder y FileSystemObject en JScript:

function ShowFolderInfo()
{
   var fso, fldr, s = "";
   // Obtener instancia de FileSystemObject.
   fso = new ActiveXObject("Scripting.FileSystemObject");
   // Obtener objeto Drive.
   fldr = fso.GetFolder("c:");
   // Imprimir nombre de carpeta primaria.
   Response.Write("El nombre de la carpeta primaria es: " + fldr + "<br>");
   // Imprimir nombre de la unidad.
   Response.Write("Se encuentra en la unidad" + fldr.Drive + "<br>");
   // Imprimir nombre del archivo raíz.
   if (fldr.IsRootFolder)
      Response.Write("Esta es la carpeta raíz.");
   else
      Response.Write("Esta carpeta no es una carpeta raíz.");
   Response.Write("<br><br>");
   // Crear una carpeta nueva con el objeto FileSystemObject.
   fso.CreateFolder ("C:\\Bogus");
   Response.Write("Carpeta creada C:\\Bogus" + "<br>");
   // Imprimir el nombre base de la carpeta.
   Response.Write("Nombre base = " + fso.GetBaseName("c:\\bogus") + "<br>");
   // Eliminar la carpeta recién creada.
   fso.DeleteFolder ("C:\\Bogus");
   Response.Write("Carpeta eliminada C:\\Bogus" + "<br>");
}


Trabajar con archivos

Hay dos categorías principales de control de archivos:

  • Crear, agregar o quitar datos y leer archivos
  • Mover, copiar y eliminar archivos

Crear archivos

Hay tres formas de crear un archivo de texto vacío (algunas veces se le llama "secuencia de texto").

La primera forma es utilizar el método CreateTextFile. El ejemplo siguiente demuestra cómo crear un archivo de texto utilizando este método en VBScript:

Dim fso, f1
Set fso = CreateObject("Scripting.FileSystemObject")
Set f1 = fso.CreateTextFile("c:\archprue.txt", True)

Para utilizar este método en JScript, utilice este código:

var fso, f1;
fso = new ActiveXObject("Scripting.FileSystemObject");
f1 = fso.CreateTextFile("c:\\archprue.txt", true);

La segunda forma de crear un archivo de texto es utilizar el método OpenTextFile del objeto FileSystemObject con el indicador ForWriting establecido. En VBScript, el código se parece a este ejemplo:

Dim fso, ts
Const ForWriting = 2
Set fso = CreateObject("Scripting. FileSystemObject")
Set ts = fso.OpenTextFile("c:\prueba.txt", ForWriting, True)

Para crear un archivo de texto utilizando este método en JScript, utilice este código:

var fso, ts;
var ForWriting= 2;
fso = new ActiveXObject("Scripting.FileSystemObject");
ts = fso.OpenTextFile("c:\\prueba.txt", ForWriting, true);

Una tercera forma de crear un archivo de texto es utilizar el método OpenAsTextStream con el indicador ForWriting establecido. Para este método, utilice el código siguiente en VBScript:

Dim fso, f1, ts
Const ForWriting = 2
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CreateTextFile ("c:\prueba1.txt")
Set f1 = fso.GetFile("c:\prueba1.txt")
Set ts = f1.OpenAsTextStream(ForWriting, True)

En JScript, utilice el código del siguiente ejemplo:

var fso, f1, ts;
var ForWriting = 2;
fso = new ActiveXObject("Scripting.FileSystemObject");
fso.CreateTextFile ("c:\\prueba1.txt");
f1 = fso.GetFile("c:\\prueba1.txt");
ts = f1.OpenAsTextStream(ForWriting, true);

Agregar datos al archivo

Una vez creado el archivo de texto, agregue datos al archivo utilizando los tres pasos siguientes:

Abrir el archivo de texto.

Escribir los datos.

Cerrar el archivo.

Para abrir un archivo existente, utilice el método OpenTextFile del objeto FileSystemObject o bien el método OpenAsTextStream del objeto File.

Para escribir datos al archivo de texto abierto, utilice los métodos Write, WriteLine o WriteBlankLines del objeto TextStream, según las tareas esquematizadas en la tabla siguiente.

Tarea | Método
Escribir datos en un archivo de texto abierto sin un carácter de nueva línea a continuación. | Write
Escribir datos en un archivo de texto abierto con un un carácter de nueva línea a continuación. | WriteLine
Escribir una o más líneas en blanco en un archivo de texto abierto. | WriteBlankLines

Para cerrar un archivo abierto, utilice el método Close del objeto TextStream.

Nota El carácter de nueva línea contiene un carácter o caracteres (según el sistema operativo) para avanzar el cursor al principio de la línea siguiente (retorno de carro/avance de línea). Tenga en cuenta que el final de algunas cadenas puede tener ya dichos caracteres no imprimibles.

El ejemplo VBScript siguiente demuestra cómo abrir un archivo, utilizar los tres métodos write para agregar datos al archivo y, a continuación, cerrar el archivo:

Sub CreateFile()
   Dim fso, tf
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set tf = fso.CreateTextFile("c:\archprue.txt", True)
   ' Escribir una línea con un carácter nueva línea.
   tf.WriteLine("Probando 1, 2, 3.")
   ' Escribir tres caracteres de nueva línea al archivo.
   tf.WriteBlankLines(3)
   ' Escribir una línea.
   tf.Write ("Esto es una prueba.")
   tf.Close
End Sub

Este ejemplo demuestra cómo utilizar los tres métodos en JScript:

function CreateFile()
{
   var fso, tf;
   fso = new ActiveXObject("Scripting.FileSystemObject");
   tf = fso.CreateTextFile("c:\\archprue.txt", true);
   // Escribir una línea con un carácter de nueva línea.
   tf.WriteLine("Probando 1, 2, 3.") ;
   // Escribir tres caracteres de nueva línea en el archivo.
   tf.WriteBlankLines(3) ;
   // Escribir una línea.
   tf.Write ("Esto es una prueba.");
   tf.Close();
}

Leer archivos

Para leer datos desde un archivo de texto, utilice los métodos Read, ReadLine o ReadAll del objeto TextStream. La tabla siguiente describe que método utilizar para diversas tareas.

Tarea | Método
Leer un número específico de caracteres de un archivo. | Read
Leer una línea entera (hasta, pero sin incluir, el carácter de nueva línea). | ReadLine
Leer el contenido completo de un archivo de texto. | ReadAll

Si utiliza los métodos Read o ReadLine y desea saltar un grupo de datos en particular, utilice los métodos Skip o SkipLine. El texto resultante de los métodos de lectura se almacena en una cadena que se puede mostrar en un control, analizar con funciones de cadena (como Left, Right y Mid), concatenar, etc.

El ejemplo VBScript siguiente demuestra cómo abrir un archivo, escribir en él y después, leer desde él:

Sub ReadFiles
   Dim fso, f1, ts, s
   Const ForReading = 1
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f1 = fso.CreateTextFile("c:\archprue.txt", True)
   ' Escribir una línea.
   Response.Write "Escribir archivo <br>"
   f1.WriteLine "Hola a todos"
   f1.WriteBlankLines(1)
   f1.Close
   ' Leer los contenidos del archivo.
   Response.Write "Leer archivo <br>"
   Set ts = fso.OpenTextFile("c:\archprue.txt", ForReading)
   s = ts.ReadLine
   Response.Write "Contenido del archivo= '" & s & "'"
   ts.Close
End Sub

Este código demuestra lo mismo en JScript:

function ReadFiles()
{
   var fso, f1, ts, s;
   var ForReading = 1;
   fso = new ActiveXObject("Scripting.FileSystemObject");
   f1 = fso.CreateTextFile("c:\\archprue.txt", true);
   // Escribir una línea.
   Response.Write("Escribir archivo <br>");
   f1.WriteLine("Hola a todos");
   f1.WriteBlankLines(1);
   f1.Close();
   // Leer los contenidos del archivo.
   Response.Write("Leer archivo <br>");
   ts = fso.OpenTextFile("c:\\archprue.txt", ForReading);
   s = ts.ReadLine();
   Response.Write("Contenido del archivo= '" + s + "'");
   ts.Close();
}

Mover, copiar y eliminar archivos

El modelo de objetos FSO puede mover, copiar y eliminar archivos con dos métodos distintos como se describe en la tabla siguiente.

Tarea | Método
Mover un archivo | File.Move o FileSystemObject.MoveFile
Copiar un archivo | File.Copy o FileSystemObject.CopyFile
Eliminar un archivo | File.Delete o FileSystemObject.DeleteFile

El siguiente ejemplo de VBScript crea un archivo de texto en el directorio raíz de la unidad C, escribe alguna información en él, lo mueve a un directorio llamado \tmp, realiza una copia de él en un directorio llamado \temp y, a continuación, elimina las copias en ambos directorios.

Para ejecutar el ejemplo siguiente, cree directorios llamados \tmp y \temp en el directorio raíz de la unidad C:

Sub ManipFiles
   Dim fso, f1, f2, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f1 = fso.CreateTextFile("c:\archprue.txt", True)
   Response.Write "Escribir archivo <br>"
   ' Escribir una línea.
   f1.Write ("Esto es una prueba.")
   ' Cerrar el archivo para la escritura.
   f1.Close
   Response.Write "Mover archivo a c:\tmp <br>"
   ' Obtener un identificador para el archivo en la raíz de C:\.
   Set f2 = fso.GetFile("c:\archprue.txt")
   ' Mover el archivo al directorio \tmp.
   f2.Move ("c:\tmp\archprue.txt")
   Response.Write "Copiar archivo a c:\temp <br>"
   ' Copiar el archivo a \temp.
   f2.Copy ("c:\temp\archprue.txt")
   Response.Write "Eliminar archivos <br>"
   ' Obtener identificadores para la ubicación actual de los archivos.
   Set f2 = fso.GetFile("c:\tmp\archprue.txt")
   Set f3 = fso.GetFile("c:\temp\archprue.txt")
   ' Eliminar los archivos.
   f2.Delete
   f3.Delete
   Response.Write "Terminado"
End Sub

Este código muestra lo mismo en JScript:

function ManipFiles()
{
   var fso, f1, f2, s;
   fso = new ActiveXObject("Scripting.FileSystemObject");
   f1 = fso.CreateTextFile("c:\\archprue.txt", true);
   Response.Write("Escribir archivo <br>");
   // Escribir una línea.
   f1.Write("Esto es una prueba.");
   // Cerrar el archivo para la escritura.
   f1.Close();
   Response.Write("Mover archivo a c:\\tmp <br>");
   // Obtener un identificador para el archivo en la raíz de C:\.
   f2 = fso.GetFile("c:\\archprue.txt");
   // Mover el archivo al directorio \tmp.
   f2.Move ("c:\\tmp\\archprue.txt");
   Response.Write("Copiar archivo a c:\\temp <br>");
   // Copiar el archivo a \temp.
   f2.Copy ("c:\\temp\\archprue.txt");
   Response.Write("Eliminar archivos <br>");
   // Obtener identificadores para la ubicación actual de los archivos.
   f2 = fso.GetFile("c:\\tmp\\archprue.txt");
   f3 = fso.GetFile("c:\\temp\\archprue.txt");
   // Eliminar los archivos.
   f2.Delete();
   f3.Delete();
   Response.Write("Terminado");
}


Código de ejemplo de FileSystemObject

El código de ejemplo descrito en esta sección proporciona un ejemplo real que demuestra muchas de las características disponibles en el modelo de objetos FileSystemObject. Este código muestra cómo todas las características del modelo de objetos funcionan juntas y cómo utilizar esas características eficazmente en su propio código.

Observe que puesto que este código es bastante genérico, se necesita algún código adicional además de ligeras modificaciones para que este código se pueda ejecutar en su equipo. Estos cambios son necesarios por las diversas maneras en que se controlan las entradas y salidas al usuario entre las páginas Active Server y Windows Scripting Host.

Para ejecutar este código en una página Active Server, utilice los pasos siguientes:

Cree una página Web estándar con una extensión .asp.

Copie el código de ejemplo siguiente en ese archivo entre las etiquetas <BODY>...</BODY>.

Encierre todo el código dentro de etiquetas <%...%>.

Mueva la instrucción Option Explicit desde su posición actual en el código a la parte superior de su página HTML, colocándolo incluso antes de la etiqueta <HTML> de apertura.

Sitúe etiquetas <%...%> alrededor de la instrucción Option Explicit para asegurarse de que se ejecuta en el servidor.

Agregue el código siguiente al final del código de ejemplo:

Sub Print(x)
   Response.Write "<PRE>&ltFONT FACE=""Courier New"" SIZE=""1"">"
   Response.Write x
   Response.Write "</FONT></PRE>"
End Sub
Main

El código anterior agrega un procedimiento de impresión que se ejecutará en el servidor pero que muestra los resultados en el cliente. Para ejecutar este código en Windows Scripting Host, agregue el código siguiente al final del código de ejemplo:

Sub Print(x)
   WScript.Echo x
End Sub
Main

La siguiente sección contiene el código:

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Código de ejemplo FileSystemObject
' Copyright 1998 Microsoft Corporation.  Todos los derechos reservados.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Option Explicit

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' En cuanto a la calidad del código:
' 1) El código siguiente realiza un tratamiento de cadenas
'    concatenando  cadenas cortas con el operador "&" .
'    Puesto que la concatenación de cadenas es costosa, esta es una
'    manera poco eficiente de escribir el código.
'    No obstante, es una forma de escribir código muy facil de
'    mantener y se utiliza aquí porque este programa realiza
'    frecuentes operaciones de disco y porque el disco es mucho
'    más lento que las operaciones de memoria necesarias para
'    concatenar las cadenas. Tenga en cuenta que esto es un código
'    de demostración, no un código de producción.
'
' 2) "Option Explicit" se utiliza porque un acceso de variable declarada
'    es un poco más rápido que el acceso de variable no declarada.
'    También evita que se arrastren los errores por todo el código,
'    como cuando escribe DriveTypeCDORM en lugar de DriveTypeCDROM.
'
' 3) El control de errores está ausente en este código para conseguir
'    un código más legible. Aunque se tomaron precauciones para asegurar
'    que el código no cometerá errores en casos comunes, los sistemas de
'    archivo pueden ser impredecibles. En el código de producción, utilice '    On Error Resume Next y el objeto Err para atrapar posibles errores.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Algunas variables globales útiles
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Dim TabStop
Dim NewLine

Const TestDrive = "C"
Const TestFilePath = "C:\Test"

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Constantes devueltas por Drive.DriveType
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Const DriveTypeRemovable = 1
Const DriveTypeFixed = 2
Const DriveTypeNetwork = 3
Const DriveTypeCDROM = 4
Const DriveTypeRAMDisk = 5

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Constantes devueltas por File.Attributes
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Const FileAttrNormal  = 0
Const FileAttrReadOnly = 1
Const FileAttrHidden = 2
Const FileAttrSystem = 4
Const FileAttrVolume = 8
Const FileAttrDirectory = 16
Const FileAttrArchive = 32
Const FileAttrAlias = 64
Const FileAttrCompressed = 128

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Constantes para abrir archivos
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Const OpenFileForReading = 1
Const OpenFileForWriting = 2
Const OpenFileForAppending = 8

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' ShowDriveType
' Objetivo:
'    Genera una cadena que describe el tipo de unidad de un objeto
'    Drive dado.
' Demuestra lo siguiente
' - Drive.DriveType
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Function ShowDriveType(Drive)

   Dim S

   Select Case Drive.DriveType
   Case DriveTypeRemovable
      S = "Extraible"
   Case DriveTypeFixed
      S = "Fijo"
   Case DriveTypeNetwork
      S = "Red"
   Case DriveTypeCDROM
      S = "CD-ROM"
   Case DriveTypeRAMDisk
      S = "Disco RAM"
   Case Else
      S = "Desconocido"
   End Select

   ShowDriveType = S

End Function

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' ShowFileAttr
' Objetivo:
'    Genera una cadena que describe los atributos de un archivo o carpeta.
' Demuestra lo siguiente
' - File.Attributes
' - Folder.Attributes
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Function ShowFileAttr(File) ' File puede ser un archivo o carpeta

   Dim S
     Dim Attr

   Attr = File.Attributes

   If Attr = 0 Then
      ShowFileAttr = "Normal"
      Exit Function
   End If

   If Attr And FileAttrDirectory  Then S = S & "Directorio "
   If Attr And FileAttrReadOnly   Then S = S & "Sólo lectura"
   If Attr And FileAttrHidden     Then S = S & "Oculto "
   If Attr And FileAttrSystem     Then S = S & "Sistema "
   If Attr And FileAttrVolume     Then S = S & "Volumen "
   If Attr And FileAttrArchive    Then S = S & "Modificado "
   If Attr And FileAttrAlias      Then S = S & "Alias "
   If Attr And FileAttrCompressed Then S = S & "Comprimido "

   ShowFileAttr = S

End Function

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' GenerateDriveInformation
' Objetivo:
'    Genera una cadena que describe el estado actual de las unidades
'    disponibles.
' Demuestra lo siguiente
' - FileSystemObject.Drives
' - Iterating the Drives collection
' - Drives.Count
' - Drive.AvailableSpace
' - Drive.DriveLetter
' - Drive.DriveType
' - Drive.FileSystem
' - Drive.FreeSpace
' - Drive.IsReady
' - Drive.Path
' - Drive.SerialNumber
' - Drive.ShareName
' - Drive.TotalSize
' - Drive.VolumeName
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Function GenerateDriveInformation(FSO)

   Dim Drives
   Dim Drive
   Dim S

   Set Drives = FSO.Drives
   S = "Número de unidades:" & TabStop & Drives.Count & NewLine & NewLine

   ' Construir la primera línea del informe.
   S = S & String(2, TabStop) & "Nombre"
   S = S & String(3, TabStop) & "Sistema"
   S = S & TabStop & "Espacio"
   S = S & TabStop & "Espacio"
   S = S & TabStop & "Espacio"
   S = S & TabStop & "Número" & NewLine

   ' Construir la segunda línea del informe.
   S = S & "Letra"
   S = S & TabStop & "Ruta"
   S = S & TabStop & "Tipo"
   S = S & TabStop & "¿Listo?"
   S = S & TabStop & "de unidad"
   S = S & TabStop & "de archivos"
   S = S & TabStop & "total"
   S = S & TabStop & "libre"
   S = S & TabStop & "disponible"
   S = S & TabStop & "de serie" & NewLine

   ' Línea separadora.
   S = S & String(105, "-") & NewLine

   For Each Drive in Drives
      S = S & Drive.DriveLetter
      S = S & TabStop & Drive.Path
      S = S & TabStop & ShowDriveType(Drive)
      S = S & TabStop & Drive.IsReady

      If Drive.IsReady Then
          If DriveTypeNetwork = Drive.DriveType Then
            S = S & TabStop & Drive.ShareName
         Else
            S = S & TabStop & Drive.VolumeName
         End If
         S = S & TabStop & Drive.FileSystem
         S = S & TabStop & Drive.TotalSize
         S = S & TabStop & Drive.FreeSpace
         S = S & TabStop & Drive.AvailableSpace
         S = S & TabStop & Hex(Drive.SerialNumber)
      End If

      S = S & NewLine

   Next

   GenerateDriveInformation = S

End Function

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' GenerateFileInformation
' Objetivo:
'    Genera una cadena que describe el estado actual de un archivo.
' Demuestra lo siguiente
' - File.Path
' - File.Name
' - File.Type
' - File.DateCreated
' - File.DateLastAccessed
' - File.DateLastModified
' - File.Size
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Function GenerateFileInformation(File)

   Dim S

   S = NewLine & "Ruta de acceso:" & TabStop & File.Path
   S = S & NewLine & "Nombre:" & TabStop & File.Name
   S = S & NewLine & "Tipo:" & TabStop & File.Type
   S = S & NewLine & "Atributos:" & TabStop & ShowFileAttr(File)
   S = S & NewLine & "Creado:" & TabStop & File.DateCreated
   S = S & NewLine & "Con acceso:" & TabStop & File.DateLastAccessed
   S = S & NewLine & "Modificado:" & TabStop & File.DateLastModified
   S = S & NewLine & "Tamaño" & TabStop & File.Size & NewLine

   GenerateFileInformation = S

End Function
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' GenerateFolderInformation
' Objetivo:
'    Genera una cadena que describe el estado actual de una carpeta.
' Demuestra lo siguiente
' - Folder.Path
' - Folder.Name
' - Folder.DateCreated
' - Folder.DateLastAccessed
' - Folder.DateLastModified
' - Folder.Size
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Function GenerateFolderInformation(Folder)

   Dim S

   S = "Ruta de acceso:" & TabStop & Folder.Path
   S = S & NewLine & "Nombre:" & TabStop & Folder.Name
   S = S & NewLine & "Atributos:" & TabStop & ShowFileAttr(Folder)
   S = S & NewLine & "Creado:" & TabStop & Folder.DateCreated
   S = S & NewLine & "Con acceso:" & TabStop & Folder.DateLastAccessed
   S = S & NewLine & "Modificado:" & TabStop & Folder.DateLastModified
   S = S & NewLine & "Tamaño:" & TabStop & Folder.Size & NewLine

   GenerateFolderInformation = S

End Function

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' GenerateAllFolderInformation
' Objetivo:
'    Genera una cadena que describe el estado actual de una carpeta y
'    todos los archivos y subcarpetas.
' Demuestra lo siguiente
' - Folder.Path
' - Folder.SubFolders
' - Folders.Count
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Function GenerateAllFolderInformation(Folder)

   Dim S
   Dim SubFolders
   Dim SubFolder
   Dim Files
   Dim File

   S = "Carpeta:" & TabStop & Folder.Path & NewLine & NewLine
   Set Files = Folder.Files

   If 1 = Files.Count Then
      S = S & "Hay 1 archivo" & NewLine
   Else
      S = S & "Hay " & Files.Count & " archivos" & NewLine
   End If

   If Files.Count <> 0 Then
      For Each File In Files
         S = S & GenerateFileInformation(File)
      Next
   End If

   Set SubFolders = Folder.SubFolders

   If 1 = SubFolders.Count Then
      S = S & NewLine & "Hay 1 subcarpeta" & NewLine & NewLine
   Else
      S = S & NewLine & "Hay" & SubFolders.Count & " subcarpetas" & NewLine & NewLine
   End If

   If SubFolders.Count <> 0 Then
      For Each SubFolder In SubFolders
         S = S & GenerateFolderInformation(SubFolder)
      Next
      S = S & NewLine
      For Each SubFolder In SubFolders
         S = S & GenerateAllFolderInformation(SubFolder)
      Next
   End If

   GenerateAllFolderInformation = S

End Function

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' GenerateTestInformation
' Objetivo:
'    Genera una cadena que describe el estado actual de la carpeta
'    C:\Test y todos los archivos y subcarpetas.
' Demuestra lo siguiente
' - FileSystemObject.DriveExists
' - FileSystemObject.FolderExists
' - FileSystemObject.GetFolder
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Function GenerateTestInformation(FSO)

   Dim TestFolder
   Dim S

   If Not FSO.DriveExists(TestDrive) Then Exit Function
   If Not FSO.FolderExists(TestFilePath) Then Exit Function

   Set TestFolder = FSO.GetFolder(TestFilePath)

   GenerateTestInformation = GenerateAllFolderInformation(TestFolder)

End Function

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' DeleteTestDirectory
' Objetivo:
'    Limpia el directorio de prueba.
' Demuestra lo siguiente
' - FileSystemObject.GetFolder
' - FileSystemObject.DeleteFile
' - FileSystemObject.DeleteFolder
' - Folder.Delete
' - File.Delete
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Sub DeleteTestDirectory(FSO)

   Dim TestFolder
   Dim SubFolder
   Dim File

   ' Dos formas de eliminar un archivo:

   FSO.DeleteFile(TestFilePath & "\Beatles\OctopusGarden.txt")

   Set File = FSO.GetFile(TestFilePath & "\Beatles\BathroomWindow.txt")
   File.Delete

   ' Dos formas de eliminar una carpeta:
   FSO.DeleteFolder(TestFilePath & "\Beatles")
   FSO.DeleteFile(TestFilePath & "\ReadMe.txt")
   Set TestFolder = FSO.GetFolder(TestFilePath)
   TestFolder.Delete

End Sub

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' CreateLyrics
' Objetivo:
'    Genera un par de archivos de texto en una carpeta.
' Demuestra lo siguiente
' - FileSystemObject.CreateTextFile
' - TextStream.WriteLine
' - TextStream.Write
' - TextStream.WriteBlankLines
' - TextStream.Close
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Sub CreateLyrics(Folder)

   Dim TextStream

   Set TextStream = Folder.CreateTextFile("OctopusGarden.txt")

   ' Note que esto no agrega una línea al archivo.
   TextStream.Write("Octopus' Garden ")
   TextStream.WriteLine("(por Ringo Starr)")
   TextStream.WriteBlankLines(1)
   TextStream.WriteLine("I'd like to be under the sea in an octopus' garden in the shade,")
   TextStream.WriteLine("He'd let us in, knows where we've been -- in his octopus' garden in the shade.")
   TextStream.WriteBlankLines(2)

   TextStream.Close

   Set TextStream = Folder.CreateTextFile("BathroomWindow.txt")
   TextStream.WriteLine("She Came In Through The Bathroom Window (por Lennon/McCartney)")
   TextStream.WriteLine("")
   TextStream.WriteLine("She came in through the bathroom window protected by a silver spoon")
   TextStream.WriteLine("But now she sucks her thumb and wanders by the banks of her own lagoon")
   TextStream.WriteBlankLines(2)
   TextStream.Close

End Sub

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' GetLyrics
' Objetivo:
'    Muestra los contenidos de los archivos de letras.
' Demuestra lo siguiente
' - FileSystemObject.OpenTextFile
' - FileSystemObject.GetFile
' - TextStream.ReadAll
' - TextStream.Close
' - File.OpenAsTextStream
' - TextStream.AtEndOfStream
' - TextStream.ReadLine
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Function GetLyrics(FSO)

   Dim TextStream
   Dim S
   Dim File

   ' Hay varias formas de abrir un archivo de texto y varias formas de
   ' leer los datos de un archivo.  Aquí hay dos formas para hacer cada
   ' una de ellas:

   Set TextStream = FSO.OpenTextFile(TestFilePath & "\Beatles\OctopusGarden.txt", OpenFileForReading)

   S = TextStream.ReadAll & NewLine & NewLine
   TextStream.Close

   Set File = FSO.GetFile(TestFilePath & "\Beatles\BathroomWindow.txt")
   Set TextStream = File.OpenAsTextStream(OpenFileForReading)
   Do    While Not TextStream.AtEndOfStream
      S = S & TextStream.ReadLine & NewLine
   Loop
   TextStream.Close

   GetLyrics = S

End Function

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' BuildTestDirectory
' Objetivo:
'    Genera una jerarquía de directorio para demostrar FileSystemObject.
'    Construimos una jerarquía en este orden:
'       C:\Test
'       C:\Test\ReadMe.txt
'       C:\Test\Beatles
'       C:\Test\Beatles\OctopusGarden.txt
'       C:\Test\Beatles\BathroomWindow.txt
' Demuestra lo siguiente
' - FileSystemObject.DriveExists
' - FileSystemObject.FolderExists
' - FileSystemObject.CreateFolder
' - FileSystemObject.CreateTextFile
' - Folders.Add
' - Folder.CreateTextFile
' - TextStream.WriteLine
' - TextStream.Close
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Function BuildTestDirectory(FSO)

   Dim TestFolder
   Dim SubFolders
   Dim SubFolder
   Dim TextStream

   ' Salir si (a) la unidad no existe, o si (b) ya existe el directorio
   ' generado.

   If Not FSO.DriveExists(TestDrive) Then
      BuildTestDirectory = False
      Exit Function
   End If

   If FSO.FolderExists(TestFilePath) Then
      BuildTestDirectory = False
      Exit Function
   End If

   Set TestFolder = FSO.CreateFolder(TestFilePath)

   Set TextStream = FSO.CreateTextFile(TestFilePath & "\ReadMe.txt")
   TextStream.WriteLine("Mi colección de letras de canciones")
   TextStream.Close

   Set SubFolders = TestFolder.SubFolders
   Set SubFolder = SubFolders.Add("Beatles")
   CreateLyrics SubFolder
   BuildTestDirectory = True

End Function

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' La rutina principal
' Primero, crea un directorio de prueba, junto con algunas subcarpetas
' y archivos. Entonces, vuelca alguna información sobre las unidades
' de disco disponibles y sobre el directorio de prueba y después,
' limpia todo de nuevo.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Sub Main
   Dim FSO

   ' Configurar datos globales.
   TabStop = Chr(9)
   NewLine = Chr(10)

   Set FSO = CreateObject("Scripting.FileSystemObject")

   If Not BuildTestDirectory(FSO) Then
      Print "El directorio de prueba ya existe o no se puede crear. No puede continuar."
      Exit Sub
   End If

   Print GenerateDriveInformation(FSO) & NewLine & NewLine
   Print GenerateTestInformation(FSO) & NewLine & NewLine
   Print GetLyrics(FSO) & NewLine & NewLine
   DeleteTestDirectory(FSO)

End Sub


Referencia para la ejecución de VBScript

Visual Basic Scripting Edition

Referencia de la biblioteca de tiempo de ejecución de secuencias de comandos

Información de características

Lista de palabras clave por orden alfabético

Constantes

Métodos

Objetos

Propiedades

Bienvenido a la referencia de la biblioteca de tiempo de ejecución de secuencias de comandos

Esta información le ayudará a familiarizarse con las distintas partes de la referencia de la biblioteca de tiempo de ejecución de secuencias de comandos.

Cada parte de la referencia de la biblioteca de tiempo de ejecución de secuencias de comandos se enumera alfabéticamente bajo la Lista de palabras clave por orden alfabético. Si desea examinar sólo una categoría, por ejemplo, objetos, basta con que haga clic en el encabezado de los objetos, y solamente verá los objetos de ejecución de secuencias de comandos.

Haga clic en el encabezado de la izquierda para mostrar una lista de los elementos que se incluyen en esa categoría. En dicha lista, seleccione el tema que desea ver. Una vez que haya abierto un tema, podrá consultar fácilmente a otras secciones relacionadas.

Tómese su tiempo para explorar las distintas partes que componen la Referencia de la biblioteca de tiempo de ejecución de secuencias de comandos y compruebe lo versátil que puede llegar a ser.

Características | Descripción
Características de la biblioteca de tiempo de ejecución de secuencias de comandos de Microsoft | Lista de características de la Referencia de la biblioteca de tiempo de ejecución de secuencias de comandos de Microsoft.
Lenguaje (elemento) | Descripción
Add (método) (Dictionary) | Agrega una pareja de clave y elemento a un objeto Dictionary.
Add (método) (Folders) | Agrega una nueva carpeta a la colección Folders.
AtEndOfLine (propiedad) | Devuelve True si el puntero de secuencia precede inmediatamente al marcador de final de una secuencia de texto , y False en caso contrario.
AtEndOfStream (propiedad) | Devuelve True si el puntero de secuencia está al final de una secuencia de texto , y False en caso contrario.
Attributes (propiedad) | Devuelve o establece los atributos de archivos o carpetas.
AvailableSpace (propiedad) | Devuelve la cantidad de espacio disponible para un usuario en la unidad o recurso compartido de red especificados.
BuildPath (método) | Anexa un nombre a una ruta de acceso.
Close (método) | Cierra un archivo TextStream abierto.
Column (propiedad) | Devuelve el número de columna de la posición del carácter actual en un archivo TextStream.
CompareMode (propiedad) | Establece y devuelve el modo de comparación para comparar claves de cadenas en un objeto Dictionary.
Copy (método) | Copia un archivo o carpeta especificado de una ubicación a otra.
CopyFile (método) | Copia uno o varios archivos de una ubicación a otra.
CopyFolder (método) | Copia de forma recursiva una carpeta de una ubicación a otra.
Count (propiedad) | Devuelve el número de elementos de una colección u objeto Dictionary.
CreateFolder (método) | Crea una carpeta.
CreateTextFile (método) | Crea un archivo especificado y devuelve un objeto TextStream que se puede usar para leer o escribir en el archivo.
DateCreated (propiedad) | Devuelve la fecha y la hora en que se creó el archivo o carpeta especificados.
DateLastAccessed (propiedad) | Devuelve la fecha y la hora en que se tuvo acceso por última vez al archivo o carpeta especificados.
DateLastModified (propiedad) | Devuelve la fecha y la hora en que se modificó por última vez el archivo o carpeta especificados.
Delete (método) | Elimina un archivo o carpeta especificado.
DeleteFile (método) | Elimina un archivo especificado.
DeleteFolder (método) | Elimina una carpeta especificada y su contenido.
Dictionary (objeto) | Objeto que almacena parejas de datos clave-elemento.
Drive (objeto) | Proporciona acceso a las propiedades de un recurso compartido de la red o unidad de disco en particular.
Drive (propiedad) | Devuelve la letra de la unidad en la que reside el archivo o carpeta especificados.
DriveExists (método) | Devuelve True si la unidad especificada existe y False en caso contrario.
DriveLetter (propiedad) | Devuelve la letra de unidad de una unidad local física o recurso compartido de red.
Drives (colección) | Colección de sólo lectura de todas las unidades disponibles.
Drives (propiedad) | Devuelve una colección Drives que se compone de todos los objetos Drive disponibles en el equipo local.
DriveType (constantes) | Define los distintos tipos de unidades disponibles en el equipo host, como fijo, extraíble, CD-ROM, etc.
DriveType (propiedad) | Devuelve un valor que indica el tipo de la unidad especificada.
Exists (método) | Devuelve True si la clave especificada existe en el objetoDictionary y False en caso contrario.
File Attribute (constantes) | Define varios atributos del archivo como Oculto, Sólo lectura, etc.
File Input/Output (Constantes) | Define constantes utilizadas con un archivo de entrada o salida.
FileExists (método) | Devuelve True si el archivo especificado existe y False en caso contrario.
File (objeto) | Proporciona acceso a todas las propiedades de un archivo.
Files (colección) | Colección de todos los objetos File contenidos en una carpeta.
Files (propiedad) | Devuelve una colección Files que se compone de todos los objetos File contenidos en la carpeta especificada, incluidos aquellos con los atributos Oculto y Archivo de sistema establecidos.
FileSystemObject (objeto) | Proporciona acceso al sistema de archivos de un equipo.
FileSystemObject (constantes) | Lista de las constantes para el objeto de automatización File System.
FileSystem (propiedad) | Devuelve el tipo de sistema de archivos que se usa para la unidad especificada.
Folder (objeto) | Proporciona acceso a todas las propiedades de una carpeta.
Folders (colección) | Colección de todos los objetos Folder contenidos en un objeto Folder.
FolderExists (método) | Devuelve True si la carpeta especificada existe y False en caso contrario.
FreeSpace (propiedad) | Devuelve la cantidad de espacio libre disponible para un usuario en la unidad o recurso compartido de red especificados.
GetAbsolutePathName (método) | Devuelve una ruta de acceso completa y no ambigua a partir de la especificación de ruta de acceso suministrada.
GetBaseName (método) | Devuelve una cadena que contiene el nombre base del archivo, sin extensión, o de la carpeta en la especificación de ruta de acceso suministrada.
GetDrive (método) | Devuelve un objeto Drive que corresponde a la unidad de una ruta de acceso especificada.
GetDriveName (método) | Devuelve una cadena que contiene el nombre de la unidad para la ruta de acceso especificada.
GetExtensionName (método) | Devuelve una cadena que contiene la extensión del último componente de una ruta de acceso.
GetFile (método) | Devuelve un objeto File que corresponde al archivo en una ruta de acceso especificada.
GetFileName (método) | Devuelve el nombre del último archivo o carpeta de la ruta de acceso indicada que no forma parte de la especificación de unidad.
GetFolder (método) | Devuelve un objeto Folder que corresponde a la carpeta en una ruta de acceso especificada.
GetParentFolderName (método) | Devuelve una cadena que contiene el nombre de la carpeta principal del último archivo o carpeta en la ruta de acceso especificada.
GetSpecialFolder (método) | Devuelve la carpeta especial especificada.
GetTempName (método) | Devuelve un nombre de archivo o carpeta temporal generado aleatoriamente.
IsReady (propiedad) | Devuelve True si la unidad especificada está preparada y False en caso contrario.
IsRootFolder (propiedad) | Devuelve True si la carpeta especificada es la carpeta raíz y False en caso contrario.
Item (propiedad) | Establece o devuelve un elemento para una clave especificada en un objeto Dictionary.
Items (método) | Devuelve una matriz que contiene todos los elementos de un objeto Dictionary.
Key (propiedad) | Establece una clave en un objeto Dictionary.
Keys (método) | Devuelve una matriz que contiene todas las claves existentes en un objeto Dictionary.
Line (propiedad) | Devuelve el número de línea actual en un archivo TextStream .
Move (método) | Mueve un archivo o carpeta especificado de una ubicación a otra.
MoveFile (método) | Mueve uno o varios archivos de una ubicación a otra.
MoveFolder (método) | Mueve una o varias carpetas de una ubicación a otra.
Name (propiedad) | Establece o devuelve el nombre de un archivo o carpeta especificados.
OpenAsTextStream (método) | Abre un archivo especificado y devuelve un objeto TextStream que se puede usar para leer, escribir o anexar en el archivo.
OpenTextFile (método) | Abre un archivo especificado y devuelve un objeto TextStream que se puede usar para leer, escribir o anexar en el archivo.
ParentFolder (propiedad) | Devuelve el objeto Folder primario del archivo o carpeta especificados.
Path (propiedad) | Devuelve la ruta de acceso de un archivo, carpeta o unidad especificados.
Read (método) | Lee un número especificado de caracteres de un archivo TextStream y devuelve la cadena resultante.
ReadAll (método) | Lee un archivo TextStream completo y devuelve la cadena resultante.
ReadLine (método) | Lee una línea entera (hasta el carácter de nueva línea sin incluirlo) en un archivo TextStream y devuelve la cadena resultante.
Remove (método) | Quita una pareja de clave y elemento de un objeto Dictionary.
RemoveAll (método) | Quita todas las parejas de claves y elementos de un objeto Dictionary.
RootFolder (propiedad) | Devuelve un objeto Folder que representa la carpeta raíz de una unidad especificada.
SerialNumber (propiedad) | Devuelve el número de serie decimal que se usa para identificar de forma única un volumen de disco.
ShareName (propiedad) | Devuelve el nombre de recurso compartido de red de una unidad especificada.
ShortName (propiedad) | Devuelve el nombre corto que utilizan los programas que requieren el uso de la convención de denominación 8.3 anterior.
ShortPath (propiedad) | Devuelve la ruta de acceso corta que utilizan los programas que requieren el uso de la convención de denominación 8.3 anterior.
Size (propiedad) | Devuelve el tamaño, en bytes, del archivo o carpeta especificados.
Skip (método) | Omite un número especificado de caracteres cuando se lee un archivo TextStream.
SkipLine (método) | Omite la línea siguiente cuando se lee un archivo TextStream.
SpecialFolder (constantes) | Define las carpetas especiales disponibles en su sistema operativo
SubFolders (propiedad) | Devuelve una colección Folders que se compone de todas las carpetas contenidas en una carpeta especificada, incluidas aquellas con los atributos Oculto y Archivo de sistema establecidos.
TextStream (objeto) | Facilita el acceso secuencial a un archivo.
TotalSize (propiedad) | Devuelve el espacio total, en bytes, de una unidad o recurso compartido de red.
Type (propiedad) | Devuelve información acerca del tipo de un archivo o carpeta.
VolumeName (propiedad) | Establece o devuelve el nombre de volumen de la unidad especificada.
Write (método) | Escribe una cadena especificada en un archivo TextStream.
WriteBlankLines (método) | Escribe un número especificado de caracteres de nueva línea en un archivo TextStream.
WriteLine (método) | Escribe una cadena especificada y un carácter de nueva línea en un archivo TextStream.
Lenguaje (elemento) | Descripción
DriveType (constantes) | Define los distintos tipos de unidades disponibles en el equipo host, como fijo, extraíble, CD-ROM, etc.
File Attribute (constantes) | Define varios atributos del archivo como Oculto, Sólo lectura, etc.
FileSystemObject (constantes) | Lista de las constantes para el objeto de automatización File System.
SpecialFolder (constantes) | Define las carpetas especiales disponibles en su sistema operativo
Lenguaje (elemento) | Descripción
Add (método) (Dictionary) | Agrega una pareja de clave y elemento a un objeto Dictionary.
Add (método) (Folders) | Agrega una nueva carpeta a la colección Folders.
BuildPath (método) | Anexa un nombre a una ruta de acceso.
Close (método) | Cierra un archivo TextStream abierto.
Copy (método) | Copia un archivo o carpeta especificado de una ubicación a otra.
CopyFile (método) | Copia uno o varios archivos de una ubicación a otra.
CopyFolder (método) | Copia de forma recursiva una carpeta de una ubicación a otra.
CreateFolder (método) | Crea una carpeta.
CreateTextFile (método) | Crea un archivo especificado y devuelve un objeto TextStream que se puede usar para leer o escribir en el archivo.
Delete (método) | Elimina un archivo o carpeta especificado.
DeleteFile (método) | Elimina un archivo especificado.
DeleteFolder (método) | Elimina una carpeta especificada y su contenido.
DriveExists (método) | Devuelve True si la unidad especificada existe y False en caso contrario.
Exists (método) | Devuelve True si la clave especificada existe en el objetoDictionary y False en caso contrario.
FileExists (método) | Devuelve True si el archivo especificado existe y False en caso contrario.
FolderExists (método) | Devuelve True si la carpeta especificada existe y False en caso contrario.
GetAbsolutePathName (método) | Devuelve una ruta de acceso completa y no ambigua a partir de la especificación de ruta de acceso suministrada.
GetBaseName (método) | Devuelve una cadena que contiene el nombre base del archivo, sin extensión, o de la carpeta en la especificación de ruta de acceso suministrada.
GetDrive (método) | Devuelve un objeto Drive que corresponde a la unidad de una ruta de acceso especificada.
GetDriveName (método) | Devuelve una cadena que contiene el nombre de la unidad para la ruta de acceso especificada.
GetExtensionName (método) | Devuelve una cadena que contiene la extensión del último componente de una ruta de acceso.
GetFile (método) | Devuelve un objeto File que corresponde al archivo en una ruta de acceso especificada.
GetFileName (método) | Devuelve el nombre del último archivo o carpeta de la ruta de acceso indicada que no forma parte de la especificación de unidad.
GetFolder (método) | Devuelve un objeto Folder que corresponde a la carpeta en una ruta de acceso especificada.
GetParentFolderName (método) | Devuelve una cadena que contiene el nombre de la carpeta principal del último archivo o carpeta en la ruta de acceso especificada.
GetSpecialFolder (método) | Devuelve la carpeta especial especificada.
GetTempName (método) | Devuelve un nombre de archivo o carpeta temporal generado aleatoriamente.
Items (método) | Devuelve una matriz que contiene todos los elementos de un objeto Dictionary.
Keys (método) | Devuelve una matriz que contiene todas las claves existentes en un objeto Dictionary.
Move (método) | Mueve un archivo o carpeta especificado de una ubicación a otra.
MoveFile (método) | Mueve uno o varios archivos de una ubicación a otra.
MoveFolder (método) | Mueve una o varias carpetas de una ubicación a otra.
OpenAsTextStream (método) | Abre un archivo especificado y devuelve un objeto TextStream que se puede usar para leer, escribir o anexar en el archivo.
OpenTextFile (método) | Abre un archivo especificado y devuelve un objeto TextStream que se puede usar para leer, escribir o anexar en el archivo.
Read (método) | Lee un número especificado de caracteres de un archivo TextStream y devuelve la cadena resultante.
ReadAll (método) | Lee un archivo TextStream completo y devuelve la cadena resultante.
ReadLine (método) | Lee una línea entera (hasta el carácter de nueva línea sin incluirlo) en un archivo TextStream y devuelve la cadena resultante.
Remove (método) | Quita una pareja de clave y elemento de un objeto Dictionary.
RemoveAll (método) | Quita todas las parejas de claves y elementos de un objeto Dictionary.
Skip (método) | Omite un número especificado de caracteres cuando se lee un archivo TextStream.
SkipLine (método) | Omite la línea siguiente cuando se lee un archivo TextStream.
Write (método) | Escribe una cadena especificada en un archivo TextStream.
WriteBlankLines (método) | Escribe un número especificado de caracteres de nueva línea en un archivo TextStream.
WriteLine (método) | Escribe una cadena especificada y un carácter de nueva línea en un archivo TextStream.
Lenguaje (elemento) | Descripción
Dictionary (objeto) | Objeto que almacena parejas de datos clave-elemento.
Drive (objeto) | Proporciona acceso a las propiedades de un recurso compartido de la red o unidad de disco en particular.
Drives (colección) | Colección de Sólo lectura para todas las unidades disponibles.
File (objeto) | Proporciona acceso a todas las propiedades de un archivo.
Files (colección) | Colección de todos los objetos File contenidos en una carpeta.
FileSystemObject (objeto) | Proporciona acceso a los archivos de sistema de un equipo.
Folder (objeto) | Proporciona acceso a todas las propiedades de una carpeta.
Folders (colección) | Colección de todos los objetos Folder contenidos en un objeto Folder.
TextStream (objeto) | Facilita el acceso secuencial a un archivo
Lenguaje (elemento) | Descripción
AtEndOfLine (propiedad) | Devuelve True si el puntero de secuencia precede inmediatamente al marcador de final de una secuencia de texto , y False en caso contrario.
AtEndOfStream (propiedad) | Devuelve True si el puntero de secuencia está al final de una secuencia de texto , y False en caso contrario.
Attributes (propiedad) | Devuelve o establece los atributos de archivos o carpetas.
AvailableSpace (propiedad) | Devuelve la cantidad de espacio disponible para un usuario en la unidad o recurso compartido de red especificados.
Column (propiedad) | Devuelve el número de columna de la posición del carácter actual en un archivo TextStream.
CompareMode (propiedad) | Establece y devuelve el modo de comparación para comparar claves de cadenas en un objeto Dictionary.
Count (propiedad) | Devuelve el número de elementos de una colección u objeto Dictionary.
DateCreated (propiedad) | Devuelve la fecha y la hora en que se creó el archivo o carpeta especificados.
DateLastAccessed (propiedad) | Devuelve la fecha y la hora en que se tuvo acceso por última vez al archivo o carpeta especificados.
DateLastModified (propiedad) | Devuelve la fecha y la hora en que se modificó por última vez el archivo o carpeta especificados.
Drive (propiedad) | Devuelve la letra de la unidad en la que reside el archivo o carpeta especificados.
DriveLetter (propiedad) | Devuelve la letra de unidad de una unidad local física o recurso compartido de red.
Drives (propiedad) | Devuelve una colección Drives que se compone de todos los objetos Drive disponibles en el equipo local.
DriveType (propiedad) | Devuelve un valor que indica el tipo de la unidad especificada.
Files (propiedad) | Devuelve una colección Files que se compone de todos los objetos File contenidos en la carpeta especificada, incluidos aquellos con los atributos Oculto y Archivo de sistema establecidos.
FileSystem (propiedad) | Devuelve el tipo de sistema de archivos que se usa para la unidad especificada.
FreeSpace (propiedad) | Devuelve la cantidad de espacio libre disponible para un usuario en la unidad o recurso compartido de red especificados.
IsReady (propiedad) | Devuelve True si la unidad especificada está preparada y False en caso contrario.
IsRootFolder (propiedad) | Devuelve True si la carpeta especificada es la carpeta raíz y False en caso contrario.
Item (propiedad) | Establece o devuelve un elemento para una clave especificada en un objeto Dictionary.
Key (propiedad) | Establece una clave en un objeto Dictionary.
Line (propiedad) | Devuelve el número de línea actual en un archivo TextStream .
Name (propiedad) | Establece o devuelve el nombre de un archivo o carpeta especificados.
Number (propiedad) | Devuelve o establece un valor numérico que especifica un error.
ParentFolder (propiedad) | Devuelve el objeto Folder primario del archivo o carpeta especificados.
Path (propiedad) | Devuelve la ruta de acceso de un archivo, carpeta o unidad especificados.
RootFolder (propiedad) | Devuelve un objeto Folder que representa la carpeta raíz de una unidad especificada.
SerialNumber (propiedad) | Devuelve el número de serie decimal que se usa para identificar de forma única un volumen de disco.
ShareName (propiedad) | Devuelve el nombre de recurso compartido de red de una unidad especificada.
ShortName (propiedad) | Devuelve el nombre corto que utilizan los programas que requieren el uso de la convención de denominación 8.3 anterior.
ShortPath (propiedad) | Devuelve la ruta de acceso corta que utilizan los programas que requieren el uso de la convención de denominación 8.3 anterior.
Size (propiedad) | Devuelve el tamaño, en bytes, del archivo o carpeta especificados.
SubFolders (propiedad) | Devuelve una colección Folders que se compone de todas las carpetas contenidas en una carpeta especificada, incluidas aquellas con los atributos Oculto y Archivo de sistema establecidos.
TotalSize (propiedad) | Devuelve el espacio total, en bytes, de una unidad o recurso compartido de red.
Type (propiedad) | Devuelve información acerca del tipo de un archivo o carpeta.
VolumeName (propiedad) | Establece o devuelve el nombre de volumen de la unidad especificada.


Características de la referencia de la biblioteca de tiempo de ejecución de secuencias de comandos de Microsoft

Categoría | Característica o palabra clave
Colecciones | Drives Files Folders
Almacenamiento de datos | Dictionary
Diccionario | Add Exists Items, Keys Remove, RemoveAll Count Item, Key
Sistema de archivos | Drive File FileSystemObject Folder TextStream
FileSystemObject | BuildPath CopyFile, CopyFolder CreateFolder,CreateTextFile DeleteFile,DeleteFolder DriveExists, FileExists, FolderExists GetAbsolutePathName, GetBaseName GetDrive, GetDriveName GetFile, GetExtensionName GetFileName GetFolder, GetParentFolderName GetSpecialFolder GetTempName MoveFile, MoveFolder OpenTextFile Drives
Unidad, Unidades | AvailableSpace Count DriveLetter DriveType FileSystem FreeSpace IsReady Item RootFolder SerialNumber ShareName TotalSize VolumeName
Archivo, Archivos Carpeta, Carpetas | Add Attributes Copy, Delete, Move Count OpenAsTextStream DateCreated, DateLastAccessed, DateLastModified Drive Item ParentFolder Name, Path ShortName, ShortPath Size
TextStream | Close Read, ReadAll, ReadLine Skip, SkipLine Write, WriteBlankLines, WriteLine AtEndOfLine, AtEndOfStream Column, Line


Constantes para DriveType

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

Constante | Valor | Descripción
Unknown | 0 | No se puede determinar el tipo de unidad.
Removable | 1 | La unidad tiene medios extraíbles, como unidades de disco y muchas otras variedades de dispositivos de almacenamiento.
Fixed | 2 | La unidad tiene medios fijos (no extraíbles), entre ellos todos los discos duros, incluidos los discos duros que son extraíbles.
Remote | 3 | Unidades de red, es decir, las unidades compartidas en cualquier lugar de una red.
CDROM | 4 | La unidad es un CD-ROM. No se hace distinción entre unidades de CD-ROM de sólo lectura y las de lectura y escritura.
RAMDisk | 5 | La unidad es un bloque de memoria de acceso aleatorio (RAM) en el equipo local que se comporta como una unidad de disco.

Consulte también

Constantes de comparación | Constantes de File Attribute | Constantes de entrada y salida de archivo | Constantes de SpecialFolder | Constantes de triple estado


Constantes de atributos de archivo

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

Constante | Valor | Descripción
Normal | 0 | Archivo normal. No se establece ningún atributo.
ReadOnly | 1 | Archivo de sólo lectura.
Hidden | 2 | Archivo oculto.
System | 4 | Archivo de sistema.
Directory | 16 | Carpeta o directorio.
Archive | 32 | El archivo ha cambiado desde la última copia de seguridad.
Alias | 1024 | Vínculo o acceso directo.
Compressed | 2048 | Archivo comprimido.

Consulte también

Constantes de comparación | Constantes de DriveType | Constantes de entrada y salida de archivo | Constantes de SpecialFolder | Constantes de triple estado


Constantes de entrada y salida de archivo

Estas constantes sólo están disponibles cuando su proyecto tiene una referencia explícita a el tipo de biblioteca apropiado que contiene estas definiciones de constantes. En VBScript, debe declarar explícitamente estas constantes en su código.

Constante | Valor | Descripción
ForReading | 1 | Abre un archivo como sólo lectura. No se podrá escribir en ese archivo.
ForWriting | 2 | Abre un archivo como escritura. Si existe un archivo con el mismo nombre, se sobrescribe su contenido anterior.
ForAppending | 8 | Abre un archivo y escribe al final del mismo.

Consulte también

Constantes de comparación | Constantes de DriveType | Constantes de atributo de archivo | Constantes de SpecialFolder | Constantes de triple estado


Constantes para FileSystemObject

FileSystemObject tiene un número de constantes útiles que puede utilizar en su código. Las constantes proporcionan una forma conveniente de utilizar valores específicos sin tener que recordar realmente el propio valor. También hacen que su código se pueda mantener mejor, si cambiara alguna vez el valor de alguna constante.

Según su entorno de ejecución de secuencias de comandos, puede ocurrir que estas constantes estén ya definidas. Si así fuera, utilice simplemente las constantes en cualquier parte de su código en lugar de los valores que representa. En los casos en los que su entorno de ejecución no haga referencia explícita a SCRRUN.DLL, tendrá que definir estas constantes en su código antes de poder utilizarlas. Ejemplos de este caso incluyen Microsoft Internet Explorer y Microsoft Internet Information Services (IIS).

La siguiente lista describe las diversas categorías de constantes proporcionadas para FileSystemObject, junto con una breve descripción:

  • Constantes para DriveType Define los diversos tipos de unidad disponibles en el equipo del entorno de ejecución, tales como fijo, extraíble, CD-ROM, etc.
  • Constantes de atributos de archivos Define los diversos atributos de archivo tales como oculto, sólo lectura, etc.
  • Constantes de entrada y salida de archivos Define las constantes utilizadas con la entrada y salida de archivos.
  • Constantes para SpecialFolder Define las carpetas especiales disponibles en su sistema operativo.

Consulte también

Constantes de VBScript


Constantes para SpecialFolder

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

Constante | Valor | Descripción
WindowsFolder | 0 | La carpeta de Windows contiene archivos instalados por el sistema operativo Windows.
SystemFolder | 1 | La carpeta System contiene bibliotecas, fuentes y controladores de dispositivos.
TemporaryFolder | 2 | La carpeta Temp se utiliza para almacenar archivos temporales. Su ruta se encuentra en la variable de entorno TMP.

Consulte también

Constantes de comparación | Constantes de DriveType | Constantes de FileAttribute | Constantes de entrada y salida de archivo | Constantes de triple estado


Método Add (Dictionary)

Agrega una clave y par de elementos a un objeto Dictionary.

objeto.Add clave, elemento

Argumentos

objeto

Necesario. Siempre el nombre de un objeto Dictionary.

clave

Necesario. La clave asociada con el elemento que se agrega.

elemento

Necesario. El elemento asociado con la clave que se agrega.

Comentarios

Se produce un error si la clave ya existe .

El siguiente ejemplo ilustra el uso del método Add:

Dim d   ' Crea una variable.
Set d = CreateObject("Scripting.Dictionary")
d.Add "a", "Atenas"   ' Agrega algunas claves y elementos.
d.Add "b", "Belgrado"
d.Add "c", "El Cairo"

Consulte también

Add (Folders, método)) | Exists (método) | Items (método) | Keys (método) | Remove (método) | RemoveAll (método)

Se aplica a: Dictionary (objeto)


Método Add (Folders)

Agrega un nuevo objeto Folder a una colección Folders.

objeto.Add(carpeta)

Argumentos

objeto

Necesario. Siempre el nombre de una colección Folders.

carpeta

Necesario. El nombre del nuevo objeto Folder que se agrega.

Comentarios

El siguiente ejemplo ilustra el uso del método Add para agregar un nuevo objeto Folder:

Sub AgregarNuevaCarpeta(ruta, nombreCarpeta)
   Dim fso, f, fc, nf
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFolder(ruta)
   Set fc = f.SubFolders
   If nombreCarpeta <> "" Then
      Set nf = fc.Add(nombreCarpeta)
   Else
      Set nf = fc.Add("Nueva carpeta")
   End If
End Sub

Se produce un error si carpeta ya existe.

Consulte también

Add (Dictionary, método)

Se aplica a: Folders (colección)


Método BuildPath

Agrega un nombre a una ruta existente.

objeto.BuildPath(ruta, nombre)

Argumentos

objeto

Necesario. Siempre el nombre de un objeto FileSystemObject.

ruta

Necesario. Ruta de acceso existente a la que se agrega el nombre. La ruta puede ser absoluta o relativa y no se necesita especificar ninguna carpeta existente.

nombre

Necesario. El nombre agregado a la ruta existente.

Comentarios

El método BuildPath inserta un separador de ruta adicional entre la ruta existente y el nombre, sólo si es necesario.

El siguiente ejemplo ilustra el uso del método BuildPath:

Function EjemploBuildPath(ruta)
   Dim fso, nuevaRuta
   Set fso = CreateObject("Scripting.FileSystemObject")
   nuevaRuta = fso.BuildPath(ruta, "Subcarpeta")
   EjemploBuildPath = nuevaRuta
End Function

Consulte también

GetAbsolutePathName (método) | GetBaseName (método) | GetDriveName (método) | GetExtensionName (método) | GetFileName (método) | GetParentFolderName (método) | GetTempName (método)

Se aplica a: FileSystemObject (objeto)


Método Close

Cierra un archivo TextStream abierto.

objeto.Close

El objeto es siempre el nombre de un objeto TextStream.

Remarks

El siguiente ejemplo ilustra el uso del método Close para cerrar un archivo TextStream abierto:

Sub CrearArchivo
   Dim fso, MiArchivo
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set MiArchivo = fso.CreateTextFile("c:\archivoPrueba.txt", True)
   MiArchivo.WriteLine("Esto es una prueba.")
   MiArchivo.Close
End Sub

Consulte también

Read (método) | ReadAll (método) | ReadLine (método) | Skip (método) | SkipLine (método) | Write (método) | WriteLine (método) | WriteBlankLines (método)

Se aplica a: TextStream (objeto)


Método Copy

Copia un archivo o carpeta especificada de una ubicación a otra.

objeto.Copy destino[, sobrescribir]

Argumentos

objeto

Necesario. Siempre el nombre de un objeto File o Folder.

destino

Necesario. Destino donde se va a copiar el archivo o carpeta. No se permite el uso de caracteres comodines.

sobrescribir

Opcional. Valor booleano que es True (predeterminado) si se van a sobrescribir los archivos o carpetas existentes; False en caso contrario.

Comentarios

Los resultados del método Copy en un objeto File o Folder son idénticos a las operaciones realizadas con FileSystemObject.CopyFile o FileSystemObject.CopyFolder donde el archivo o carpeta a la que se refiere el objeto se pasa como argumento. Debe tener en cuenta, sin embargo, que los métodos alternativos pueden copiar múltiples archivos o carpetas.

El siguiente ejemplo ilustra el uso del método Copy:

Dim fso, MiArchivo
Set fso = CreateObject("Scripting.FileSystemObject")
Set MiArchivo = fso.CreateTextFile("c:\archivoPrueba.txt", True)
MiArchivo.WriteLine("Esto es una prueba.")
MiArchivo.Close
Set MiArchivo = fso.GetFile("c:\archivoPrueba.txt")
MiArchivo.Copy ("c:\windows\Escritorio\prueba2.txt")

Consulte también

CopyFile (método) | CopyFolder (método) | Delete (método) | Move (método) | OpenAsTextStream (método)

Se aplica a: File (objeto) | Folder (objeto)


Método CopyFile

Copia uno o varios archivos de una ubicación a otra.

objeto.CopyFile origen, destino[, sobrescribir]

Argumentos

objeto

Necesario. El objeto es siempre el nombre de un objeto FileSystemObject.

origen

Necesario. La especificación de archivos de cadenas de caracteres, que puede incluir caracteres comodín, para uno o varios archivos que se vayan a copiar.

destino

Necesario. El destino de la cadena de caracteres en el que se va a copiar el archivo o archivos desde el origen. No se permite el uso de caracteres comodín.

sobrescribir

Opcional. Valor booleano que indica si se van a sobrescribir los archivos existentes. Si es True, los archivos se sobrescriben; si es False, no. El valor predeterminado es True. Tenga en cuenta que CopyFile producirá un error si el destino tiene atributo de sólo lectura, sin importar el valor que tenga sobrescribir.

Comentarios

Los caracteres comodín sólo se pueden utilizar en el último componente de la ruta del argumento origen. Por ejemplo, puede utilizar:

FileSystemObject.CopyFile "c:\MisDocumentos\cartas\*.doc", "c:\carpetaTemp\"

Pero no puede utilizar:

FileSystemObject.CopyFile "c:\MisDocumentos\*\R1???97.xls", "c:\carpetaTemp"

Si el origen contiene caracteres comodín o el destino termina en un separador de ruta (\), se asume que el destino es una carpeta existente en la que se copian los archivos coincidentes. Si no es así, se asume que el destino es el nombre de un archivo que se va a crear. En cualquier caso, pueden ocurrir tres cosas cuando se copia un solo archivo.

  • Si el destino no existe, el origen se copia. Éste es el caso habitual.
  • Si el destino es un archivo existente, aparece un error si sobrescribir es False. De otro modo, se intenta copiar el origen sobre el archivo existente.
  • Si el destino es un directorio, se produce un error.

También se produce un error si un origen que utiliza caracteres comodín no coincide con ningún archivo. El método CopyFile se detiene en el primer error que encuentre. No se intenta deshacer ningún cambio antes de que se produzca un error.

Consulte también

Copy (método) | CopyFolder (método) | CreateTextFile (método) | DeleteFile (método) | MoveFile (método)

Se aplica a: FileSystemObject (objeto)


Método CopyFolder

Copia de forma recursiva un archivo de una ubicación a otra.

objeto.CopyFolder origen, destino[, sobrescribir]

Argumentos

objeto

Necesario. Siempre el nombre de un objeto FileSystemObject.

origen

Necesario. Especificación de carpetas de cadenas de caracteres, que puede incluir caracteres comodín, para una o más carpetas que se vayan a copiar.

destino

Necesario. Destino de la cadena de caracteres en el que se van a copiar la carpeta y subcarpetas desde el origen. No se permiten caracteres comodín.

sobrescribir

Opcional. Valor booleano que indica si las carpetas existentes se van a sobrescribir. Si es True, los archivos se sobrescriben; si False, no. El valor predeterminado es True.

Comentarios

Los caracteres comodín sólo se pueden utilizar en el último componente de la ruta del argumento origen. Por ejemplo, puede utilizar:

FileSystemObject.CopyFolder "c:\MisDocumentos\cartas\*", "c:\carpetaTemp\"

Pero no puede utilizar:

FileSystemObject.CopyFolder "c:\MisDocumentos\*\*", "c:\carpetaTemp\"

Si el origen contiene caracteres comodín o el destino termina en un separador de ruta (\), se asume que el destino es una carpeta existente en la que se copian las carpetas y subcarpetas coincidentes. Si no es así, se asume que el destino es el nombre de una carpeta que se va a crear. En cualquier caso, pueden ocurrir cuatro cosas cuando se copia una carpeta individual.

  • Si el destino no existe, la carpeta origen y todo su contenido se copia. Éste es el caso habitual.
  • Si el destino es un archivo existente, se produce un error.
  • Si el destino es un directorio, se intenta copiar la carpeta y todo su contenido. Si un archivo contenido en el origen ya existe en el destino, aparece un error si sobrescribir es False. Si no es así, se intentará copiar el archivo sobre el archivo existente.
  • Si el destino es un directorio de sólo lectura, se produce un error si se intenta copiar un archivo existente de sólo lectura en dicho directorio y sobrescribir es False.

También se produce un error si un origen que utiliza caracteres comodín no coincide con ninguna carpeta.

El método CopyFolder se detiene en el primer error que encuentra. No se intenta deshacer ningún cambio realizado antes de que se produzca un error.

Consulte también

CopyFile (método) | Copy (método) | CreateFolder (método) | DeleteFolder (método) | MoveFolder (método)

Se aplica a: FileSystemObject (objeto)


Método CreateFolder

Crea una carpeta.

objeto.CreateFolder(carpeta)

Argumentos

objeto

Necesario. Siempre el nombre de un objeto FileSystemObject.

carpeta

Necesario. Expresión de cadena que identifica la carpeta que se va a crear.

Comentarios

Se produce un error si la carpeta especificada ya existe.

El siguiente ejemplo ilustra el uso del método CreateFolder:

Function EjemploDeCreateFolder
   Dim fso, f
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.CreateFolder("c:\Nueva carpeta")
   EjemploDeCreateFolder = f.Path
End Function

Consulte también

CopyFolder (método) | DeleteFolder (método) | MoveFolder (método)

Se aplica a: FileSystemObject (objeto)


Método CreateTextFile

Crea un nombre de archivo específico y devuelve un objeto TextStream que se puede utilizar para leer el archivo o escribir en él.

objeto.CreateTextFile(archivo[, sobrescribir[, unicode]])

Argumentos

objeto

Necesario. Siempre el nombre de un objeto FileSystemObject o Folder.

archivo

Necesario. Expresión de cadena que identifica el archivo que se va a crear.

sobrescribir

Opcional. Valor booleano que indica si un archivo existente se puede sobrescribir. El valor es True si el archivo se puede sobrescribir; False si no se puede. Si se omite, los archivos existentes no se sobrescriben.

unicode

Opcional. El valor booleano que indica si el archivo se ha creado como un archivo Unicode o ASCII. El valor es True si el archivo se ha creado como archivo Unicode; False si se ha creado como un archivo ASCII. Si se omite, se asume que es un archivo ASCII.

Comentarios

La siguiente porción de código ilustra cómo utilizar el método CreateTextFile para crear y abrir un archivo de texto:

Sub CrearUnArchivo
   Dim fso, MiArchivo
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set MiArchivo = fso.CreateTextFile("c:\archivoPrueba.txt", True)
   MiArchivo.WriteLine("Esto es una prueba.")
   MiArchivo.Close
End Sub

Si el argumento sobrescribir es False o no se proporciona para un archivo que ya existe, se produce un error.

Consulte también

CreateFolder (método) | OpenAsTextStream (método) | OpenTextFile (método)

Se aplica a: FileSystemObject (objeto) | Folder (objeto)


Método Delete

Elimina un archivo o carpeta especificada.

objeto.Delete forzar

Argumentos

objeto

Necesario. Siempre el nombre de un objeto File o Folder.

forzar

Opcional. Valor booleano que es True si se van a eliminar los archivos o carpetas con atributo de sólo lectura y False (predeterminado) en caso contrario.

Comentarios

Se produce un error si no existe el archivo o carpeta especificada. El método Delete no distingue entre carpetas que tengan contenido y las que no. La carpeta especificada se elimina tenga o no contenido.

El resultado del método Delete en un objeto File o Folder es idéntico a las operaciones realizadas mediante FileSystemObject.DeleteFile o FileSystemObject.DeleteFolder.

El siguiente ejemplo ilustra el uso del método Delete:

Dim fso, MiArchivo
Set fso = CreateObject("Scripting.FileSystemObject")
Set MiArchivo = fso.CreateTextFile("c:\archivoPrueba.txt", True)
MiArchivo.WriteLine("Esto es una prueba.")
MiArchivo.Close
Set MiArchivo = fso.GetFile("c:\archivoPrueba.txt")
MiArchivo.Delete

Consulte también

Copy (método) | DeleteFile (método) | DeleteFolder (método) | Move (método) | OpenAsTextStream (método)

Se aplica a: File (objeto) | Folder (objeto)


Método DeleteFile

Elimina un archivo especificado.

objeto.DeleteFile archivo[, forzar]

Argumentos

objeto

Necesario. Siempre el nombre de un objeto FileSystemObject.

archivo

Necesario. El nombre del archivo que se va a eliminar. El archivo puede contener caracteres comodín en el último componente de la ruta.

forzar

Opcional. Valor booleano que es True si se van a eliminar archivos con atributo de sólo lectura y False (predeterminado) en caso contrario.

Comentarios

Se produce un error si no se encuentran archivos coincidentes. El método DeleteFile se detiene en el primer error que encuentra. No se intenta deshacer ningún cambio realizado antes de que se produzca un error.

El siguiente ejemplo ilustra el uso del método DeleteFile:

Sub EliminarArchivo(MiArchivo)
   Dim fso
   Set fso = CreateObject("Scripting.FileSystemObject")
   fso.DeleteFile(MiArchivo)
End Sub

Consulte también

CopyFile (método) | CreateTextFile (método) | Delete (método) | DeleteFolder (método) | MoveFile (método)

Se aplica a: FileSystemObject (objeto)


Método DeleteFolder

Elimina una carpeta especificada y su contenido.

objeto.DeleteFolder carpeta[, forzar]

Argumentos

objeto

Necesario. Siempre el nombre de un objeto FileSystemObject.

carpeta

Necesario. El nombre de la carpeta que se va a eliminar. La carpeta puede contener caracteres comodín en el último componente de la ruta.

forzar

Opcional. Valor booleano que es True si se van a eliminar carpetas con atributo de sólo lectura y False (predeterminado) en caso contrario.

Comentarios

El método DeleteFolder no distingue entre carpetas que tengan contenido y las que no. La carpeta especificada se elimina tenga o no contenido.

Se produce un error si no se encuentran carpetas coincidentes. El método DeleteFolder se detiene en el primer error que encuentra. No se intenta deshacer ningún cambio realizado antes de que se produzca un error.

El siguiente ejemplo ilustra el uso del método DeleteFolder:

Sub EliminarCarpeta(MiCarpeta)
   Dim fso
   Set fso = CreateObject("Scripting.FileSystemObject")
   fso.DeleteFolder(MiCarpeta)
End Sub

Consulte también

CopyFolder (método) | CreateFolder (método) | Delete (método) | DeleteFile (método) | MoveFolder (método)

Se aplica a: FileSystemObject (objeto)


Método DriveExists

Devuelve True si la unidad especificada existe y False en caso contrario.

objeto.DriveExists(unidad)

Argumentos

objeto

Necesario. Siempre el nombre de un FileSystemObject.

unidad

Necesario. Una letra de unidad o una especificación de ruta completa.

Comentarios

Para unidades con medios extraíbles, el método DriveExists devuelve True aunque no haya ningún medio presente. Utilice la propiedad IsReady del objeto Drive para determinar si una unidad está lista.

El siguiente ejemplo ilustra el uso del método DriveExists:

Function InformeEstadoUnidad(unidad)
   Dim fso, msg
   Set fso = CreateObject("Scripting.FileSystemObject")
   If fso.DriveExists(unidad) Then
      msg = ("La unidad " & UCase(unidad) & " existe.")
   Else
      msg = ("La unidad " & UCase(unidad) & " no existe.")
   End If
   InformeEstadoUnidad = msg
End Function

Consulte también

Drive (objeto) | Drives (colección) | FileExists (método) | FolderExists (método) | GetDrive (método) | GetDriveName (método) | IsReady (propiedad)

Se aplica a: FileSystemObject (objeto)


Método Exists

Devuelve True si existe una clave especificada en el objeto Dictionary y si no es así, False.

objeto.Exists(clave)

Argumentos

objeto

Necesario. Siempre el nombre de un objeto Dictionary.

clave

Necesario. Valor Clave que se busca en el objeto Dictionary.

Comentarios

El siguiente ejemplo ilustra el uso del método Exists:

Function EjemploDeExists
   Dim d, msg   ' Crea algunas variables.
   Set d = CreateObject("Scripting.Dictionary")
   d.Add "a", "Atenas"   ' Agrega algunas claves y elementos.
   d.Add "b", "Belgrado"
   d.Add "c", "El Cairo"
   If d.Exists("c") Then
      msg = "Existe la clave especificada."
   Else
      msg = "No existe la clave especificada."
   End If
   EjemploDeExists = msg
End Function

Consulte también

Add (Dictionary, método) | Items (método) | Keys (método) | Remove (método) | RemoveAll (método)

Se aplica a: Dictionary (objeto)


Método FileExists

Devuelve True si existe un archivo especificado y si no es así devuelve False.

objeto.FileExists(archivo)

Argumentos

objeto

Necesario. Siempre el nombre de un objeto FileSystemObject.

archivo

Necesario. El nombre del archivo cuya existencia se va a determinar. Se debe proporcionar una especificación de ruta completa (absoluta o relativa) si no se espera que el archivo exista en la carpeta actual.

Comentarios

El siguiente ejemplo ilustra el uso del método FileExists:

Function InformeEstadoArchivo(miArchivo)
   Dim fso, msg
   Set fso = CreateObject("Scripting.FileSystemObject")
   If (fso.FileExists(miArchivo)) Then
      msg = miArchivo & " existe."
   Else
      msg = miArchivo & " no existe."
   End If
   InformeEstadoArchivo = msg
End Function

Consulte también

DriveExists (método) | FolderExists (método) | GetFile (método) | GetFileName (método)

Se aplica a: FileSystemObject (objeto)


Método FolderExists

Devuelve True si existe una carpeta especificada y si no es así, False.

objeto.FolderExists(carpeta)

Argumentos

objeto

Necesario. Siempre el nombre de un objeto FileSystemObject.

carpeta

Necesario. El nombre de la carpeta cuya existencia se va a determinar. Se debe proporcionar una especificación de ruta completa (absoluta o relativa) si no se espera que la carpeta exista en la carpeta actual.

Comentarios

El siguiente ejemplo ilustra el uso del método FolderExists:

Function InformeEstadoCarpeta(miCarpeta)
   Dim fso, msg
   Set fso = CreateObject("Scripting.FileSystemObject")
   If (fso.FolderExists(miCarpeta)) Then
      msg = miCarpeta & " existe."
   Else
      msg = miCarpeta & " no existe."
   End If
   InformeEstadoCarpeta = msg
End Function

Consulte también

DriveExists (método) | FileExists (método) | GetFolder (método) | GetParentFolderName (método)

Se aplica a: FileSystemObject (objeto)


Método GetAbsolutePathName

Devuelve una ruta completa y sin ambigüedades desde una especificación de ruta proporcionada.

objeto.GetAbsolutePathName(ruta)

Argumentos

objeto

Necesario. Siempre el nombre de un objeto FileSystemObject.

ruta

Necesario. Especificación de ruta para cambiar a una ruta completa y sin ambigüedades.

Comentarios

Una ruta es completa y no es ambigua si proporciona una referencia completa desde la raíz de la unidad especificada. Una ruta completa sólo puede terminar con un carácter separador de ruta (\) si especifica la carpeta raíz de una unidad asignada.

Tomando c:\MisDocumentos\informes como directorio actual, la siguiente tabla ilustra el comportamiento del método GetAbsolutePathName.

ruta | Ruta devuelta
"c:" | "c:\MisDocumentos\informes"
"c:.." | "c:\MisDocumentos"
"c:\\\" | "c:\"
"c:*.*\mayo97" | "c:\MisDocumentos\informes\*.*\mayo97"
"región1" | "c:\MisDocumentos\informes\región1"
"c:\..\..\MisDocumentos" | "c:\MisDocumentos"

Consulte también

GetBaseName (método) | GetDrive (método) | GetDriveName (método) | GetExtensionName (método) | GetFile (método) | GetFileName (método) | GetFolder (método) | GetParentFolderName (método) | GetSpecialFolder (método) | GetTempName (método)

Se aplica a: FileSystemObject (objeto)


Método GetBaseName

Devuelve una cadena que contiene el nombre base del archivo (sin ninguna extensión de archivo) o carpeta de una ruta proporcionada.

objeto.GetBaseName(ruta)

Argumentos

object

Requerido. Siempre el nombre de un FileSystemObject.

ruta

Requerido. La especificación de ruta del archivo o carpeta cuyos nombres base se devolverán.

Comentarios

El método GetBaseName devuelve una cadena de longitud cero ("") si no coincide ningún archivo o carpeta con el argumento ruta.

El ejemplo siguiente ilustra el uso del método GetBaseName:

Function ObtenerBase(miArchivo)
   Dim fso
   Set fso = CreateObject("Scripting.FileSystemObject")
   ObtenerBase = fso.GetBaseName(miArchivo)
End Function

Nota El método GetBaseName sólo funciona en la cadena de la ruta proporcionada. No intenta resolver la ruta, ni comprueba la existencia de la ruta especificada.

Consulte también

GetAbsolutePathName (método) | GetDrive (método) | GetDriveName (método) | GetExtensionName (método) | GetFile (método) | GetFileName (método) | GetFolder (método) | GetParentFolderName (método) | GetSpecialFolder (método) | GetTempName (método)

Se aplica a: FileSystemObject (objeto)


Método GetDrive

Devuelve un objeto Drive que corresponde a la unidad de una ruta especificada.

objeto.GetDrive unidad

Argumentos

objeto

Necesario. Siempre el nombre de un objeto FileSystemObject.

unidad

Necesario. El argumento unidad puede ser una letra de unidad (c), una letra de unidad seguida de dos puntos (c:), una letra de unidad seguida de dos puntos y un separador de ruta (c:\) o cualquier especificación de recurso compartido de red (\\computer2\share1).

Comentarios

Para recursos compartidos de red, se realiza una comprobación para asegurarse de que existe dicho recurso compartido.

Se produce un error si la unidad no corresponde a una de las formas aceptadas o no existe. Para llamar al método GetDrive en una cadena de ruta normal, utilice la siguiente secuencia para obtener una cadena que sea apropiada para su uso como unidad:

DriveSpec = GetDriveName(GetAbsolutePathName(Ruta))

El siguiente ejemplo ilustra el uso del método GetDrive:

Function MostrarEspacioLibre(rutaUnidad)
   Dim fso, d, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set d = fso.GetDrive(fso.GetDriveName(rutaUnidad))
   s = "Unidad " & UCase(rutaUnidad) & " - "
   s = s & d.VolumeName   & "<BR>"
   s = s & "Espacio libre: " & FormatNumber(d.FreeSpace/1024, 0)
   s = s & " Kbytes"
   MostrarEspacioLibre = s
End Function

Consulte también

GetAbsolutePathName (método) | GetBaseName (método) | GetDriveName (método) | GetExtensionName (método) | GetFile (método) | GetFileName (método) | GetFolder (método) | GetParentFolderName (método) | GetSpecialFolder (método) | GetTempName (método)

Se aplica a: FileSystemObject (objeto)


Método GetDriveName

Devuelve una cadena que contiene el nombre de la unidad de una ruta especificada.

objeto.GetDriveName(ruta)

Argumentos

objeto

Necesario. Siempre el nombre de un objeto FileSystemObject.

ruta

Necesario. La especificación de ruta del componente cuyo nombre de unidad se va a devolver.

Comentarios

El método GetDriveName devuelve una cadena de longitud cero ("") si no se puede determinar la unidad.

El siguiente ejemplo ilustra el uso del método GetDriveName:

Function ObtenerNombre(miUnidad)
   Dim fso
   Set fso = CreateObject("Scripting.FileSystemObject")
   ObtenerNombre = fso.GetDriveName(miUnidad)
End Function

Nota El método GetDriveName funciona sólo en la cadena de ruta proporcionada. No intenta resolver la ruta ni comprobar la existencia de la ruta especificada.

Consulte también

GetAbsolutePathName (método) | GetBaseName (método) | GetDrive (método) | GetExtensionName (método) | GetFile (método) | GetFileName (método) | GetFolder (método) | GetParentFolderName (método) | GetSpecialFolder (método) | GetTempName (método)

Se aplica a: FileSystemObject (objeto)


Método GetExtensionName

Devuelve una cadena que contiene el nombre de la extensión del último componente de una ruta.

objeto.GetExtensionName(ruta)

Argumentos

objeto

Necesario. Siempre el nombre de un objeto FileSystemObject.

ruta

Necesario. La especificación de ruta del componente cuyo nombre de extensión se va a devolver.

Comentarios

En unidades de red, el directorio raíz (\) se considera un componente.

El método GetExtensionName devuelve una cadena de longitud cero ("") si ninguno coincide con el argumento de la ruta.

El siguiente ejemplo ilustra el uso del método GetExtensionName:

Function ObtenerExtensión(miUnidad)
   Dim fso
   Set fso = CreateObject("Scripting.FileSystemObject")
   ObtenerExtensión = fso.GetExtensionName(miUnidad)
End Function

Consulte también

GetAbsolutePathName (método) | GetBaseName (método) | GetDrive (método) | GetDriveName (método) | GetFile (método) | GetFileName (método) | GetFolder (método) | GetParentFolderName (método) | GetSpecialFolder (método) | GetTempName (método)

Se aplica a: FileSystemObject (objeto)


Método GetFile

Devuelve un objeto File que corresponde al archivo de una ruta especificada.

objeto.GetFile(archivo)

Argumentos

objeto

Necesario. Siempre el nombre de un FileSystemObject.

archivo

Necesario. El archivo es la ruta (absoluta o relativa) a un archivo específico.

Comentarios

Se produce un error si no existe el archivo especificado.

El siguiente ejemplo ilustra el uso del método GetFile:

Function MostrarAccesoArchivo(miArchivo)
   Dim fso, f, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFile(miArchivo)
   s = f.Path & "<br>"
   s = s & "Creado: " & f.DateCreated & "<br>"
   s = s & "Último acceso: " & f.DateLastAccessed & "<br>"
   s = s & "Última modificación: " & f.DateLastModified
   MostrarAccesoArchivo = s
End Function

Consulte también

GetAbsolutePathName (método) | GetBaseName (método) | GetDrive (método) | GetDriveName (método) | GetExtensionName (método) | GetFileName (método) | GetFolder (método) | GetParentFolderName (método) | GetSpecialFolder (método) | GetTempName (método)

Se aplica a: FileSystemObject (objeto)


Método GetFileName

Devuelve el último nombre de archivo o carpeta de una ruta especificada que no es parte de la especificación de unidad.

objeto.GetFileName(ruta)

Argumentos

objeto

Necesario. Siempre el nombre de un objeto FileSystemObject.

ruta

Necesario. La ruta (absoluta o relativa) a un archivo específico.

Comentarios

El método GetFileName devuelve una cadena de longitud cero ("") si la ruta no termina en el archivo o carpeta nombrada.

El siguiente ejemplo ilustra el uso del método GetFileName:

Function ObtenerNombre(miUnidad)
   Dim fso
   Set fso = CreateObject("Scripting.FileSystemObject")
   ObtenerNombre = fso.GetFileName(miUnidad)
End Function

Nota El método GetFileName funciona sólo en la cadena de la ruta proporcionada. No intenta resolver la ruta ni comprueba la existencia de la ruta especificada.

Consulte también

GetAbsolutePathName (método) | GetBaseName (método) | GetDrive (método) | GetDriveName (método) | GetExtensionName (método) | GetFile (método) | GetFolder (método) | GetParentFolderName (método) | GetSpecialFolder (método) | GetTempName (método)

Se aplica a: FileSystemObject (objeto)


Método GetFolder

Devuelve un objeto Folder que corresponde a la carpeta de una ruta especificada.

objeto.GetFolder(carpeta)

Argumentos

objeto

Necesario. Siempre el nombre de un objeto FileSystemObject.

carpeta

Necesario. La carpeta es la ruta (absoluta o relativa) de una carpeta especificada.

Comentarios

Se produce un error si no existe la carpeta especificada.

El siguiente ejemplo ilustra el uso del método GetFolder para devolver un objeto de carpeta:

Sub AgregarNuevaCarpeta(ruta, nombreCarpeta)
   Dim fso, f, fc, nf
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFolder(ruta)
   Set fc = f.SubFolders
   If nombreCarpeta <> "" Then
      Set nf = fc.Add(nombreCarpeta)
   Else
      Set nf = fc.Add("Nueva carpeta")
   End If
End Sub

Consulte también

GetAbsolutePathName (método) | GetBaseName (método) | GetDrive (método) | GetDriveName (método) | GetExtensionName (método) | GetFile (método) | GetFileName (método) | GetParentFolderName (método) | GetSpecialFolder (método) | GetTempName (método)

Se aplica a: FileSystemObject (objeto)


Método GetParentFolderName

Devuelve una cadena que contiene el nombre de la carpeta principal del último archivo o carpeta de una ruta especificada.

objeto.GetParentFolderName(ruta)

Argumentos

objeto

Necesario. Siempre el nombre de un objeto FileSystemObject.

ruta

Necesario. La especificación de ruta del archivo o carpeta cuyo nombre de carpeta principal se va a devolver.

Comentarios

El método GetParentFolderName devuelve una cadena de longitud cero ("") si no existe ninguna carpeta principal para el archivo o carpeta especificada en el argumento ruta.

El siguiente ejemplo ilustra el uso del método GetParentFolderName:

Function ObtenerPadre(miUnidad)
   Dim fso
   Set fso = CreateObject("Scripting.FileSystemObject")
   ObtenerPadre = fso.GetParentFolderName(miUnidad)
End Function

Nota El método GetParentFolderName funciona sólo en la cadena de ruta proporcionada. No intenta resolver la ruta ni comprueba la existencia de la ruta especificada.

Consulte también

GetAbsolutePathName (método) | GetBaseName (método) | GetDrive (método) | GetDriveName (método) | GetExtensionName (método) | GetFile (método) | GetFileName (método) | GetFolder (método) | GetSpecialFolder (método) | GetTempName (método)

Se aplica a: FileSystemObject (objeto)


Método GetSpecialFolder

Devuelve la carpeta especial especificada.

objeto.GetSpecialFolder(carpeta)

Argumentos

objeto

Necesario. Siempre el nombre de un objeto FileSystemObject.

carpeta

Necesario. El nombre de la carpeta especial que se va a devolver. Puede ser cualquiera de las constantes mostradas en la sección de Valores.

Valores

El argumento carpeta puede tener cualquiera de los siguientes valores:

Constante | Valor | Descripción
WindowsFolder | 0 | La carpeta de Windows contiene los archivos instalados por el sistema operativo Windows.
SystemFolder | 1 | La carpeta System contiene bibliotecas, fuentes y controladores de dispositivos.
TemporaryFolder | 2 | La carpeta Temp se utiliza para almacenar archivos temporales. Su ruta se encuentra en la variable de entorno TMP.

Comentarios

El siguiente ejemplo ilustra el uso del método GetSpecialFolder:

Dim fso, tempfile
Set fso = CreateObject("Scripting.FileSystemObject")

Function CrearArchivoTemp
   Dim tcarpeta, tnombre, tarchivo
   Const CarpetaTemporal = 2
   Set tcarpeta = fso.GetSpecialFolder(CarpetaTemporal)
   tnombre = fso.GetTempName
   Set tarchivo = tcarpeta.CreateTextFile(tnombre)
   Set CrearArchivoTemp = tarchivo
End Function

Set archivoTemporal = CrearArchivoTemp
archivoTemporal.WriteLine "Hola a todos."
archivoTemporal.Close

Consulte también

GetAbsolutePathName (método) | GetBaseName (método) | GetDrive (método) | GetDriveName (método) | GetExtensionName (método) | GetFile (método) | GetFileName (método) | GetFolder (método) | GetParentFolderName (método) | GetTempName (método)

Se aplica a: FileSystemObject (objeto)


Método GetTempName

Devuelve un archivo temporal o nombre de carpeta generados de manera aleatoria que es útil para realizar operaciones que requieren un archivo o carpeta temporal.

objeto.GetTempName

El argumento opcional objeto es siempre el nombre de un FileSystemObject.

Comentarios

El método GetTempName no crea un archivo. Proporciona sólo un nombre de archivo temporal que se puede utilizar con CreateTextFile para crear un archivo.

El siguiente ejemplo ilustra el uso del método GetTempName:

Dim fso, archivoTemporal
Set fso = CreateObject("Scripting.FileSystemObject")

Function CrearArchivoTemporal
   Dim tcarpeta, tnombre, tarchivo
   Const CarpetaTemporal = 2
   Set tcarpeta = fso.GetSpecialFolder(CarpetaTemporal)
   tnombre = fso.GetTempName
   Set tarchivo = tcarpeta.CreateTextFile(tnombre)
   Set CrearArchivoTemporal = tarchivo
End Function

Set archivoTemporal = CrearArchivoTemporal
archivoTemporal.WriteLine "Hola a todos."
archivoTemporal.Close

Consulte también

GetAbsolutePathName (método) | GetBaseName (método) | GetDrive (método) | GetDriveName (método) | GetExtensionName (método) | GetFile (método) | GetFileName (método) | GetFolder (método) | GetParentFolderName (método) | GetSpecialFolder (método)

Se aplica a: FileSystemObject (objeto)


Método Items

Devuelve una matriz que contiene todos los elementos de un objeto Dictionary.

objeto.Items

El objeto es siempre el nombre de un objeto Dictionary.

Comentarios

La siguiente porción de código ilustra el uso del método Items:

Function EjemploDic
   Dim a, d, i, s      ' Crea algunas variables.
   Set d = CreateObject("Scripting.Dictionary")
   d.Add "a", "Atenas"   ' Agrega algunas claves y elementos.
   d.Add "b", "Belgrado"
   d.Add "c", "El Cairo"
   a = d.Items      ' Obtiene los elementos.
   For i = 0 To d.Count -1   ' Repite la matriz.
      s = s & a(i) & "<BR>"   ' Crea la cadena de retorno.
   Next
   EjemploDic = s
End Function

Consulte también

Add (Dictionary,método) | Exists (método) | Keys (método) | Remove (método) | RemoveAll (método)

Se aplica a: Dictionary (objeto)


Método Keys

Devuelve una matriz que contiene todas las claves existentes de un objeto Dictionary.

objeto.Keys

El objeto es siempre el nombre de un objeto Dictionary.

Comentarios

La siguiente porción de código ilustra el uso del método Keys:

Function EjemploDic
   Dim a, d, i   ' Crea algunas variables.
   Set d = CreateObject("Scripting.Dictionary")
   d.Add "a", "Atenas"   ' Agrega algunas claves y elementos.
   d.Add "b", "Belgrado"
   d.Add "c", "El Cairo"
   a = d.Keys   ' Obtiene las claves.
   For i = 0 To d.Count -1   ' Repite la matriz.
      s = s & a(i) & "<BR>"   ' Devuelve los resultados.
   Next
   EjemploDic = s
End Function

Consulte también

Add (Dictionary, método) | Exists (método) | Items (método) | Remove (método) | RemoveAll (método)

Se aplica a: Dictionary (objeto)


Método Move

Mueve un archivo o carpeta especificada de una ubicación a otra.

objeto.Move destino

Argumentos

objeto

Necesario. Siempre el nombre de un objeto File o Folder.

destino

Necesario. Destino al que el archivo o carpeta se va a mover. No se permiten caracteres comodín.

Comentarios

El resultado del método Move en un objeto File o Folder es idéntico a las operaciones realizadas con FileSystemObject.MoveFile o FileSystemObject.MoveFolder. Debe tener en cuenta, sin embargo, que los métodos alternativos pueden mover múltiples archivos o carpetas.

El siguiente ejemplo ilustra el uso del método Move:

Dim fso, MiArchivo
Set fso = CreateObject("Scripting.FileSystemObject")
Set MiArchivo = fso.CreateTextFile("c:\archivoPrueba.txt", True)
MiArchivo.WriteLine("Esto es una prueba.")
MiArchivo.Close
Set MiArchivo = fso.GetFile("c:\archivoPrueba.txt")

MiArchivo.Move "c:\windows\Escritorio\"

Consulte también

Copy (método) | Delete (método) | MoveFile (método) | MoveFolder (método) | OpenAsTextStream (método)

Se aplica a: File (objeto) | Folder (objeto)


Método MoveFile

Mueve uno o varios archivos de una ubicación a otra.

objeto.MoveFile origen, destino

Argumentos

objeto

Necesario. Siempre el nombre de un objeto FileSystemObject.

origen

Necesario. La ruta del archivo o archivos que se van a mover. La cadena del argumento origen puede contener caracteres comodín sólo en el último componente de la ruta.

destino

Necesario. La ruta a la que el archivo o archivos se van a mover. El argumento destino no puede contener caracteres comodín.

Comentarios

Si el origen contiene comodines o el destino termina en un separador de ruta (\), se asume que el destino especifica una carpeta existente a la que se mueven los archivos coincidentes. Si no es así, se asume que el destino es el nombre de un archivo de destino que se va a crear. En cualquier caso, pueden ocurrir tres cosas cuando se mueve un solo archivo:

  • Si el destino no existe, el archivo se mueve. Este es el caso habitual.
  • Si el destino es un archivo existente, se produce un error.
  • Si el destino es un directorio, se produce un error.

También se produce un error si un carácter comodín que se ha utilizado en el origen no coincide con ningún archivo. El método MoveFile se detiene en el primer error que encuentra. No intenta deshacer ningún cambio realizado antes de que se produzca el error.

El siguiente ejemplo ilustra el uso del método MoveFile:

Sub MoverArchivo(miUnidad)
   Dim fso
   Set fso = CreateObject("Scripting.FileSystemObject")
   fso.MoveFile miUnidad, "c:\windows\Escritorio\"
End Sub

Nota El método GetParentFolderName sólo trabaja en la cadena ruta proporcionada. Ni intenta resolver la ruta, ni comprueba si la ruta especificada existe.

Consulte también

CopyFile (método) | DeleteFile (método) | GetFile (método) | GetFileName (método) | Move (método) | MoveFolder (método) | OpenTextFile (método)

Se aplica a: FileSystemObject (objeto)


Método MoveFolder

Mueve una o varias carpetas de una ubicación a otra.

objeto.MoveFolder origen, destino

Argumentos

objeto

Necesario. Siempre el nombre de un objeto FileSystemObject.

origen

Necesario. La ruta de la carpeta o carpetas que se van a mover. La cadena del argumento origen puede contener caracteres comodín sólo en el último componente de la ruta.

destino

Necesario. La ruta a la que la carpeta o carpetas se van a mover. El argumento destino no puede contener caracteres comodín.

Comentarios

Si el origen contiene comodines o el destino termina en un separador de ruta (\), se asume que el destino especifica una carpeta existente a la que se mueven los archivos coincidentes. Si no es así, se asume que el destino es el nombre de una carpeta de destino que se va a crear. En cualquier caso, pueden ocurrir tres cosas cuando se mueve una carpeta individual:

  • Si el destino no existe, la carpeta se mueve. Éste es el caso habitual.
  • Si el destino es un archivo existente, se produce un error.
  • Si el destino es un directorio, se produce un error.

También se produce un error si un carácter comodín que se utiliza en el origen no coincide con ninguna carpeta. El método MoveFolder se detiene en el primer error que encuentra. No intenta deshacer ningún cambio realizado antes de que se produzca el error.

El siguiente ejemplo ilustra el uso del método MoveFolder:

Sub MoverCarpeta(miUnidad)
   Dim fso
   Set fso = CreateObject("Scripting.FileSystemObject")
   fso.MoveFolder miUnidad, "c:\windows\Escritorio\"
End Sub

Importante Este método permite mover carpetas entre volúmenes sólo si lo permite el sistema operativo.

Consulte también

CopyFolder (método) | CreateFolder (método) | DeleteFolder (método) | GetFolder (método) | GetParentFolderName (método) | Move (método) | MoveFile (método)

Se aplica a: FileSystemObject (objeto)


Método OpenAsTextStream

Abre un archivo específico y devuelve un objeto TextStream que se puede utilizar para leer, escribir o agregar al archivo.

objeto.OpenAsTextStream([modoEs, [formato]])

Argumentos

objeto

Necesario. Siempre el nombre de un objeto File.

modoEs

Opcional. Indica el modo de entrada/salida. Puede ser una de las tres constantes: ForReading, ForWriting, o ForAppending.

formato

Opcional. Uno de los tres valores Tristate utilizados para indicar el formato del archivo abierto. Si se omite, el archivo se abre como ASCII.

Valores

El argumento modoEs puede tener uno de los siguientes valores:

Constante | Valor | Descripción
ForReading | 1 | Abre un archivo para sólo lectura. No puede escribir en este archivo.
ForWriting | 2 | Abre un archivo para escritura. Si existe un archivo con el mismo nombre, se sobrescribe su contenido.
ForAppending | 8 | Abre un archivo y escribe desde el final del archivo.

El argumento formato puede contener cualquiera de los siguientes valores:

Constante | Valor | Descripción
TristateUseDefault | -2 | Abre el archivo con el valor predeterminado del sistema.
TristateTrue | -1 | Abre el archivo como Unicode.
TristateFalse | 0 | Abre el archivo como ASCII.

Comentarios

El método OpenAsTextStream proporciona la misma funcionalidad que el método OpenTextFile del objeto FileSystemObject. Además, el método OpenAsTextStream se puede utilizar para escribir en un archivo.

La siguiente porción de código ilustra el uso del método OpenAsTextStream:

Function PruebaDeTextStream
   Const ParaLectura = 1, ParaEscritura = 2, ParaAnexar = 8
   Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
   Dim fso, f, ts
   Set fso = CreateObject("Scripting.FileSystemObject")
   fso.CreateTextFile "prueba1.txt"   ' Crea un archivo.
   Set f = fso.GetFile("prueba1.txt")
   Set ts = f.OpenAsTextStream(ParaEscritura, TristateUseDefault)
   ts.Write "Hola a todos."
   ts.Close
   Set ts = f.OpenAsTextStream(ParaLectura, TristateUseDefault)
   PruebaDeTextStream = ts.ReadLine
   ts.Close
End Function

Consulte también

Copy (método) | CreateTextFile (método) | Delete (método) | Move (método) | OpenTextFile (método)

Se aplica a: File (objeto)


Método OpenTextFile

Abre un archivo específico y devuelve un objeto TextStream que se puede utilizar para leer, escribir o agregar al archivo.

objeto.OpenTextFile(archivo[, modoEs[, crear[, formato]]])

Argumentos

objeto

Necesario. Siempre el nombre de un objeto FileSystemObject.

archivo

Necesario. Expresión de cadena que identifica el archivo que se va a abrir.

modoEs

Opcional. Indica el modo de entrada/salida. Puede ser una de las tres constantes: ForReading, ForWriting, o ForAppending.

crear

Opcional. Valor booleano que indica si se puede crear un archivo nuevo si el archivo especificado no existe. El valor es True si se crea un nuevo archivo y si no es así, False. El valor predeterminado es False.

formato

Opcional. Uno de los tres valores Tristate utilizados para indicar el formato del archivo abierto. Si se omite, el archivo se abre como ASCII.

Valores

El argumento modoEs puede tener uno de los siguientes valores:

Constante | Valor | Descripción
ForReading | 1 | Abre un archivo para sólo lectura. No puede escribir en este archivo.
ForWriting | 2 | Abre un archivo para sólo escritura. No puede leer este archivo.
ForAppending | 8 | Abre un archivo y escribe desde el final del archivo.

El argumento formato puede tener cualquiera de los siguientes valores:

Constante | Valor | Descripción
TristateUseDefault | -2 | Abre el archivo con el valor predeterminado del sistema.
TristateTrue | -1 | Abre el archivo como Unicode.
TristateFalse | 0 | Abre el archivo como ASCII.

Comentarios

La siguiente porción de código ilustra el uso del método OpenTextFile para abrir un archivo para escribir texto:

Sub PruebaDeOpenTextFile
   Const ParaLectura = 1, ParaEscritura = 2, ParaAnexar = 8
   Dim fso, f
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.OpenTextFile("c:\archivoPrueba.txt", ParaEscritura, True)
   f.Write "Hola a todos."
   f.Close
End Sub

Consulte también

OpenAsTextStream (método) | CreateTextFile (método)

Se aplica a: FileSystemObject (objeto)


Método Read

Lee un número de caracteres especificado de un archivo TextStream y devuelve la cadena resultante.

objeto.Read(caracteres)

Argumentos

objeto

Necesario. Siempre el nombre de un objeto TextStream.

caracteres

Necesario. Número de caracteres que desea leer del archivo.

Comentarios

El siguiente ejemplo ilustra cómo utilizar el método Read para leer cinco caracteres de un archivo y devolver la cadena resultante:

Function PruebaDeReadTextFile
   Const ParaLectura = 1, ParaEscritura = 2, ParaAnexar = 8
   Dim fso, f, Msg
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.OpenTextFile("c:\archivoPrueba.txt", ParaEscritura, True)
   f.Write "Hola a todos."
   Set f = fso.OpenTextFile("c:\archivoPrueba.txt", ParaLectura)
   ReadTextFileTest =  f.Read(5)
End Function

Consulte también

Close (método) | ReadAll (método) | ReadLine (método) | Skip (método) | SkipLine (método) | Write (método) | WriteLine (método) | WriteBlankLines (método)

Se aplica a: TextStream (objeto)


Método ReadAll

Lee un archivo completo de TextStream y devuelve la cadena resultante.

objeto.ReadAll

El objeto es siempre el nombre de un objeto TextStream.

Remarks

Para archivos largos, al utilizar el método ReadAll se desperdician recursos de la memoria. Se debe emplear otras técnicas para introducir un archivo, tales como leer un archivo línea a línea.

Function ArchivoTextoReadAll
   Const ParaLectura = 1, ParaEscritura = 2
   Dim fso, f
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.OpenTextFile("c:\archivoPrueba.txt", ParaEscritura, True)
   f.Write "Hola a todos."
   Set f = fso.OpenTextFile("c:\archivoPrueba.txt", ParaLectura)
   ArchivoTextoReadAll =  f.ReadAll
End Function

Consulte también

Close (método) | Read (método) | ReadLine (método) | Skip (método) | SkipLine (método) | Write (método) | WriteLine (método) | WriteBlankLines (método)

Se aplica a: TextStream (objeto)


Método ReadLine

Lee una línea completa (hasta, pero sin incluir, el carácter de nueva línea) desde un archivo TextStream y devuelve la cadena resultante.

objeto.ReadLine

El argumento objeto es siempre el nombre de un objeto TextStream.

Comentarios

El siguiente ejemplo muestra cómo utilizar el método ReadLine para leer una línea desde un archivo TextStream y devolver la cadena:

Function ArchivoTextoReadLine
   Const ParaLectura = 1, ParaEscritura = 2
   Dim fso, MiArchivo
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set MiArchivo = fso.OpenTextFile("c:\archivoPrueba.txt", ParaEscritura, True)
   MiArchivo.WriteLine "Hola a todos."
   MiArchivo.WriteLine "El veloz murciélago hindú"
   MiArchivo.Close
   Set MiArchivo = fso.OpenTextFile("c:\archivoPrueba.txt", ParaLectura)
   ArchivoTextoReadLine = MiArchivo.ReadLine   ' Devuelve "Hola a todos."
End Function

Consulte también

Close (método) | Read (método) | ReadAll (método) | Skip (método) | SkipLine (método) | Write (método) | WriteLine (método) | WriteBlankLines (método)

Se aplica a: TextStream (objeto)


Método Remove

Elimina una clave o par de elementos de un objeto Dictionary.

objeto.Remove(clave)

Argumentos

objeto

Necesario. Siempre el nombre de un objeto Dictionary.

clave

Necesario. Clave asociada con la clave o par de elementos que desea quitar del objeto Dictionary.

Comentarios

Se produce un error si la clave o par de elementos especificado no existe.

La siguiente porción de código ilustra el uso del método Remove:

Dim a, d   ' Crea algunas variables.
Set d = CreateObject("Scripting.Dictionary")
d.Add "a", "Atenas"   ' Agrega algunas claves y elementos.
d.Add "b", "Belgrado"
d.Add "c", "El Cairo"
...
d.Remove("b")   ' Elimina el segundo par.

Consulte también

Add (Dictionary, método) | Exists (método) | Items (método) | Keys (método) | RemoveAll (método)

Se aplica a: Dictionary (objeto)


Método Skip

Salta un número específico de caracteres cuando lee un archivo TextStream.

objeto.Skip(caracteres)

Argumentos

objeto

Necesario. Siempre el nombre de un objeto TextStream.

caracteres

Necesario. Número de caracteres que se va a saltar cuando se lea un archivo.

Comentarios

Se descartan los caracteres que se saltan.

El siguiente ejemplo utiliza el método Skip para saltar los primeros seis caracteres antes de leer un archivo de texto:

Function SkipTextFile
   Const ParaLectura = 1, ParaEscritura = 2
   Dim fso, f
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.OpenTextFile("c:\archivoPrueba.txt", ParaEscritura, True)
   f.Write "Hola a todos."
   Set f = fso.OpenTextFile("c:\archivoPrueba.txt", ParaLectura)
   f.Skip(6)
   SkipTextFile =  f.ReadLine
End Function

Consulte también

Close (método) | Read (método) | ReadAll (método) | ReadLine (método) | SkipLine (método) | Write (método) | WriteLine (método) | WriteBlankLines (método)

Se aplica a: TextStream (objeto)


Método SkipLine

Salta la siguiente línea cuando se lee un archivo TextStream.

objeto.SkipLine

El objeto es siempre el nombre de un objeto TextStream.

Comentarios

Saltar una línea significa leer y descartar todos los caracteres en una línea hasta, e incluido, el siguiente carácter de nueva línea. Se produce un error si el archivo no está abierto para lectura.

El siguiente ejemplo ilustra el uso del método SkipLine:

Function SaltarLíneaEnArchivo
   Const ParaLectura = 1, ParaEscritura = 2
   Dim fso, f
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.OpenTextFile("c:\archivoPrueba.txt", ParaEscritura, True)
   f.Write "Hola a todos." & vbCrLf & "¡Qué divertido es VB Script!"
   Set f = fso.OpenTextFile("c:\archivoPrueba.txt", ParaLectura)
   f.SkipLine
   SaltarLíneaEnArchivo = f.ReadLine
End Function

Consulte también

Close (método) | Read (método) | ReadAll (método) | ReadLine (método) | Skip (método) | Write (método) | WriteLine (método) | WriteBlankLines (método)

Se aplica a: TextStream (objeto)


Método Write

Escribe una cadena especificada en un archivo TextStream.

objeto.Write(cadena)

Argumentos

objeto

Necesario. Siempre el nombre de un objeto TextStream .

cadena

Necesario. El texto que desea escribir en el archivo.

Comentarios

Se escriben cadenas específicas en el archivo sin espacios ni caracteres entre cada cadena. Utilice el método WriteLine para escribir un carácter de nueva línea o una cadena que termine en un carácter de nueva línea.

El siguiente ejemplo ilustra el uso del método Write:

Function EscribirEnArchivo
   Const ParaLectura = 1, ParaEscritura = 2
   Dim fso, f
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.OpenTextFile("c:\archivoPrueba.txt", ParaEscritura, True)
   f.Write "Hola a todos."
   Set f = fso.OpenTextFile("c:\archivoPrueba.txt", ParaLectura)
   EscribirEnArchivo =  f.ReadLine
End Function

Consulte también

Close (método) | Read (método) | ReadAll (método) | ReadLine (método) | Skip (método) | SkipLine (método) | WriteLine (método) | WriteBlankLines (método)

Se aplica a: TextStream (objeto)


Método WriteBlankLines

Escribe el número de caracteres de nueva línea especificado en un archivo TextStream.

objeto.WriteBlankLines(líneas)

Argumentos

objeto

Necesario. Siempre el nombre de un objeto TextStream.

líneas

Necesario. Número de caracteres de nueva línea que desea escribir en el archivo.

Comentarios

El siguiente ejemplo ilustra el uso del método WriteBlankLines:

Function EscribirLíneasBlancaEnArchivo
   Const ParaLectura = 1, ParaEscritura = 2
   Dim fso, f
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.OpenTextFile("c:\archivoPrueba.txt", ParaEscritura, True)
   f.WriteBlankLines 2
   f.WriteLine "Hola a todos."
   Set f = fso.OpenTextFile("c:\archivoPrueba.txt", ParaLectura)
   WriteBlankLinesToFile = f.ReadAll
End Function

Consulte también

Close (método) | Read (método) | ReadAll (método) | ReadLine (método) | Skip (método) | SkipLine (método) | Write (método) | WriteLine (método)

Se aplica a: TextStream (objeto)


Método WriteLine

Escribe una cadena y carácter de nueva línea específicos en un archivo TextStream.

objeto.WriteLine([cadena])

Argumentos

objeto

Necesario. Siempre el nombre de un objeto TextStream.

cadena

Opcional. El texto que desea escribir en el archivo. Si se omite, se escribe un nuevo carácter de nueva línea en el archivo.

Comentarios

El siguiente ejemplo ilustra el uso del método WriteLine:

Function EscribirLíneaEnArchivo
   Const ParaLectura = 1, ParaEscritura = 2
   Dim fso, f
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.OpenTextFile("c:\archivoPrueba.txt", ParaEscritura, True)
   f.WriteLine "Hola a todos."
   f.WriteLine "¡Qué divertido es VBScript!"
   Set f = fso.OpenTextFile("c:\archivoPrueba.txt", ParaLectura)
   EscribirLíneaEnArchivo = f.ReadAll
End Function

Consulte también

Close (método) | Read (método) | ReadAll (método) | ReadLine (método) | Skip (método) | SkipLine (método) | Write (método) | WriteBlankLines (método)

Se aplica a: TextStream (objeto)


Objeto Dictionary

Objeto que guarda clave de datos y pares de elementos.

Comentarios

Un objeto Dictionary es el equivalente a una matriz asociativa de PERL. Elementos, que pueden ser cualquier tipo de datos, se guardan en la matriz. Cada elemento se asocia con una clave única. La clave se utiliza para obtener un elemento individual y es normalmente un número entero o una cadena, pero puede ser cualquier cosa excepto una matriz.

La siguiente porción de código ilustra cómo crear un objeto Dictionary:

Dim d                  ' Crea una variable.
Set d = CreateObject("Scripting.Dictionary")
d.Add "a", "Atenas"   ' Agrega algunas claves y elementos.
d.Add "b", "Belgrado"
d.Add "c", "El Cairo"
...

Propiedades

CompareMode (propiedad) | Count (propiedad) | Item (propiedad) | Key (propiedad)

Métodos

Add (Dictionary, método) | Exists (método) | Items (método) | Keys (método) | Remove (método) | RemoveAll (método)

Consulte también

FileSystemObject (objeto) | TextStream (objeto)


Objeto Drive

Proporciona acceso a las propiedades de una unidad de disco particular o recurso compartido de red.

Comentarios

La siguiente porción de código ilustra el uso del objeto Drive para tener acceso a las propiedades de la unidad:

Function MostrarEspacioLibre(rutaUnidad)
   Dim fso, d, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set d = fso.GetDrive(fso.GetDriveName(rutaUnidad))
   s = "Unidad " & UCase(rutaUnidad) & " - "
   s = s & d.VolumeName   & "<BR>"
   s = s & "Espacio libre: " & FormatNumber(d.FreeSpace/1024, 0)
   s = s & " Kbytes"
   MostrarEspacioLibre = s
End Function

Propiedades

AvailableSpace (propiedad) | DriveLetter (propiedad) | DriveType (propiedad) | FileSystem (propiedad) | FreeSpace (propiedad) | IsReady (propiedad) | Path (propiedad) | RootFolder (propiedad) | SerialNumber (propiedad) | ShareName (propiedad) | TotalSize (propiedad) | VolumeName (propiedad)

Métodos

El objeto Drive no tiene ningún método.

Consulte también

Drives (colección) | File (objeto) | Files (colección) | Folder (objeto) | Folders (colección) | GetDrive (método)


Colección Drives

Colección de sólo lectura de todas la unidades disponibles.

Comentarios

Las unidades con medios extraíbles no necesitan tener medios insertados para que aparezcan en la colección Drives.

La siguiente porción de código ilustra cómo obtener la colección Drives y repetirla mediante la instrucción For Each...Next:

Function MostrarListaUnidades
   Dim fso, d, dc, s, n
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set dc = fso.Drives
   For Each d in dc
      n = ""
      s = s & d.DriveLetter & " - "
      If d.DriveType = Remote Then
         n = d.ShareName
      ElseIf d.IsReady Then
         n = d.VolumeName
      End If
      s = s & n & "<BR>"
   Next
   MostrarListaUnidades = s
End Function

Propiedades

Count (propiedad) | Item (propiedad)

Métodos

La colección Drives no tiene métodos.

Consulte también

Drive (objeto) | Drives (propiedad) | File (objeto) | Files (colección) | Folder (objeto) | Folders (colección)


Objeto File

Proporciona acceso a todas las propiedades de un archivo.

Comentarios

La siguiente porción de código ilustra cómo obtener un objeto File y cómo ver una de sus propiedades.

Function MostrarFechaCreacion(nombreArchivo)
   Dim fso, f
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFile(nombreArchivo)
   MostrarFechaCreacion = f.DateCreated
End Function

Propiedades

Attributes (propiedad) | DateCreated (propiedad) | DateLastAccessed (propiedad) | DateLastModified (propiedad) | Drive (propiedad) | Name (propiedad) | ParentFolder (propiedad) | Path (propiedad) | ShortName (propiedad) | ShortPath (propiedad) | Size (propiedad) | Type (propiedad)

Métodos

Copy (método) | Delete (método) | Move (método) | OpenAsTextStream (método)

Consulte también

Drive (objeto) | Drives (colección) | Files (colección) | Folder (objeto) | Folders (colección)


Colección Files

Colección de todos los objetos File dentro de una carpeta.

Comentarios

La siguiente porción de código ilustra cómo obtener una colección Files y repetirla mediante la instrucción For Each...Next:

Function MostrarListaCarpetas(nombreCarpeta)
   Dim fso, f, f1, fc, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFolder(nombreCarpeta)
   Set fc = f.Files
   For Each f1 in fc
      s = s & f1.name
      s = s & "<BR>"
   Next
   MostrarListaCarpetas = s
End Function

Propiedades

Count (propiedad) | Item (propiedad)

Métodos

La colección Files no tiene métodos.

Consulte también

Drive (objeto) | Drives (colección) | File (objeto) | Folder (objeto) | Folders (colección)


Objeto FileSystemObject

Proporciona acceso al sistema de archivos de un equipo.

Comentarios

La siguiente porción de código ilustra cómo se utiliza FileSystemObject para devolver un objeto TextStream en el que se puede leer o escribir:

Dim fso, MiArchivo
Set fso = CreateObject("Scripting.FileSystemObject")
Set MiArchivo = fso.CreateTextFile("c:\archivoPrueba.txt", True)
MiArchivo.WriteLine("Esto es una prueba.")
MiArchivo.Close

En el código que precede, la función CreateObject devuelve FileSystemObject (fso). Después, el método CreateTextFile crea el archivo como un objeto TextStream (a) y el método WriteLine escribe una línea de texto en el archivo de texto creado. El método Close vacía el búfer y cierra el archivo.

Propiedades

Drives (propiedad)

Métodos

BuildPath (método) | CopyFile (método) | CopyFolder (método) | CreateFolder (método) | CreateTextFile (método) | DeleteFile (método) | DeleteFolder (método) | DriveExists (método) | FileExists (método) | FolderExists (método) | GetAbsolutePathName (método) | GetBaseName (método) | GetDrive (método) | GetDriveName (método) | GetExtensionName (método) | GetFile (método) | GetFileName (método) | GetFolder (método) | GetParentFolderName (método) | GetSpecialFolder (método) | GetTempName (método) | MoveFile (método) | MoveFolder (método) | OpenTextFile (método)

Consulte también

CreateObject (función) | Dictionary (objeto) | Drive (objeto) | Drives (colección) | File (objeto) | FileSystem (ptopiedad) | Files (colección) | Folder (objeto) | Folders (colección) | TextStream (objeto)


Objeto Folder

Proporciona acceso a todas las propiedades de una carpeta.

Comentarios

La siguiente porción de código ilustra cómo obtener un objeto Folder y cómo devolver una de sus propiedades:

Function MostrarFechaCreacion(nombreCarpeta)
   Dim fso, f
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFolder(nombreCarpeta)
   MostrarFechaCreacion = f.DateCreated
End Function

Propiedades

Attributes (propiedad) | DateCreated (propiedad) | DateLastAccessed (propiedad) | DateLastModified (propiedad) | Drive (propiedad) | Files (propiedad) | IsRootFolder (propiedad) | Name (propiedad) | ParentFolder (propiedad) | Path (propiedad) | ShortName (propiedad) | ShortPath (propiedad) | Size (propiedad) | SubFolders (propiedad) | Type (propiedad)

Métodos

Copy (método) | Delete (método) | Move (método) | CreateTextFile (método)

Consulte también

Drive (objeto) | Drives (colección) | File (objeto) | Files (colección) | Folders (colección)


Colección Folders

Colección de todos los objetos Folder contenidos en un objeto Folder.

Comentarios

La siguiente porción de código ilustra cómo obtener una colección Folders y cómo repetirla mediante la instrucción For Each...Next:

Function MostrarListaCarpetas(nombreCarpeta)
   Dim fso, f, f1, fc, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFolder(nombreCarpeta)
   Set fc = f.SubFolders
   For Each f1 in fc
      s = s & f1.name
      s = s &  "<BR>"
   Next
   MostrarListaCarpetas = s
End Function

Propiedades

Count (propiedad) | Item (propiedad)

Métodos

Add (método)

Consulte también

Drive (objeto) | Drives (colección) | File (objeto) | Files (colección) | Folder (objeto) | SubFolders (propiedad)


Propiedad AtEndOfLine

Devuelve True si el indicador de archivo precede inmediatamente al marcador de nueva línea en un archivo TextStream y si no es así, False. Sólo lectura.

objeto.AtEndOfLine

El objeto es siempre el nombre de un objeto TextStream.

Comentarios

La propiedad AtEndOfLine se aplica sólo a los archivos TextStream que están abiertos para lectura; si no, se produce un error.

La siguiente porción de código ilustra el uso de la propiedad AtEndOfLine:

Function LeerArchivoEntero(nombreArchivo)
   Const ComoLectura = 1
   Dim fso, elArchivo, retstring
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set elArchivo = fso.OpenTextFile(nombreArchivo, ComoLectura, False)
   Do While elArchivo.AtEndOfLine <> True
      retstring = elArchivo.Read(1)
   Loop
   elArchivo.Close
   LeerArchivoEntero = retstring
End Function

Consulte también

AtEndOfStream (propiedad) | Column (propiedad) | Line (propiedad)

Se aplica a: TextStream (objeto)


Propiedad AtEndOfStream

Devuelve True si el marcador de archivo está al final de un archivo TextStream y si no es así, False. Sólo lectura.

objeto.AtEndOfStream

El objeto es siempre el nombre de un objeto TextStream.

Comentarios

La propiedad AtEndOfStream sólo se aplica a los archivos TextStream que están abiertos para lectura, si no, se produce un error.

La siguiente porción de código ilustra el uso de la propiedad AtEndOfStream:

Function LeerArchivoEntero(nombreArchivo)
   Const ComoLectura = 1
   Dim fso, elArchivo, retstring
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set elArchivo = fso.OpenTextFile(nombreArchivo, ComoLectura, False)
   Do While elArchivo.AtEndOfStream <> True
      retstring = elArchivo.ReadLine
   Loop
   elArchivo.Close
   LeerArchivoEntero = retstring
End Function

Consulte también

AtEndOfLine (propiedad) | Column (propiedad) | Line (propiedad)

Se aplica a: TextStream (objeto)


Propiedad Attributes

Establece o devuelve los atributos de archivos o carpetas. Lectura y escritura o sólo lectura, según el atributo.

objeto.Attributes [= nuevosatributos]

Argumentos

objeto

Necesario. Siempre el nombre de un objeto File o Folder.

nuevosatributos

Opcional. Si se proporciona, nuevosatributos es el nuevo valor para los atributos del objeto especificado.

Valores

El argumento nuevosatributos puede tener cualquiera de los siguientes valores o cualquier combinación lógica de los siguientes valores:

Constante | Valor | Descripción
Normal | 0 | Archivo normal. No se establece ningún atributo.
ReadOnly | 1 | Archivo de sólo lectura. El atributo es de lectura y escritura.
Hidden | 2 | Archivo oculto. El atributo es de lectura y escritura.
System | 4 | Archivo de sistema. El atributo es de lectura y escritura.
Directory | 16 | Carpeta o directorio. El atributo es de sólo lectura.
Archive | 32 | El archivo ha cambiado desde la última copia de seguridad. El atributo es de lectura y escritura.
Alias | 1024 | Hipervínculo o acceso directo. El atributo es de sólo lectura.
Compressed | 2048 | Archivo comprimido. El atributo es de sólo lectura.

Comentarios

Los intentos para cambiar cualquiera de los atributos de sólo lectura (Alias, Compressed o Directory) se omiten.

Cuando se establecen los atributos, es una buena idea leer primero los atributos actuales, después, cambiar los atributos individuales como desee, y finalmente escribir de nuevo los atributos.

La siguiente porción de código ilustra el uso de la propiedad Attributes con un archivo:

Function AlternarBitDeArchivo(nombreArchivo)
   Dim fso, f
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFile(nombreArchivo)
   If f.attributes and 32 Then
      f.attributes = f.attributes - 32
      AlternarBitDeArchivo = "Se ha borrado el bit de archivo."
   Else
      f.attributes = f.attributes + 32
      AlternarBitDeArchivo = "Se ha establecido el bit de archivo."
   End If
End Function

Consulte también

DateCreated (propiedad) | DateLastAccessed (propiedad) | DateLastModified (propiedad) | Drive (propiedad) | Files (propiedad) | IsRootFolder (propiedad) | Name (propiedad) | ParentFolder (propiedad) | Path (propiedad) | ShortName (propiedad) | ShortPath (propiedad) | Size (propiedad) | SubFolders (propiedad) | Type (propiedad)

Se aplica a: File (objeto) | Folder (objeto)


Propiedad AvailableSpace

Devuelve la cantidad de espacio disponible para un usuario en la unidad especificada o en el recurso compartido de red.

objeto.AvailableSpace

El objeto es siempre un objeto Drive.

Comentarios

El valor devuelto por la propiedad AvailableSpace es el mismo que el devuelto por la propiedad FreeSpace. Pueden existir diferencias entre los dos sistemas de los equipos que admiten cuotas.

La siguiente porción de código ilustra el uso de la propiedad AvailableSpace:

Function MostrarEspacioDisponible(rutaUnidad)
   Dim fso, d, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set d = fso.GetDrive(fso.GetDriveName(rutaUnidad))
   s = "Unidad " & UCase(rutaUnidad) & " - "
   s = s & d.VolumeName   & "<BR>"
   s = s & "Espacio disponible: " & FormatNumber(d.AvailableSpace/1024, 0)
   s = s & " Kbytes"
   MostrarEspacioDisponible = s
End Function

Consulte también

DriveLetter (propiedad) | DriveType (propiedad) | FileSystem (propiedad) | FreeSpace (propiedad) | IsReady (propiedad) | Path (propiedad) | RootFolder (propiedad) | SerialNumber (propiedad) | ShareName (propiedad) | TotalSize (propiedad) | VolumeName (propiedad)

Se aplica a: Drive (objeto)


Propiedad Column

La propiedad de sólo lectura que devuelve el número de columna de la posición del carácter actual de un archivo TextStream.

objeto.Column

El objeto es siempre el nombre de un objeto TextStream.

Comentarios

Después de haber escrito un carácter de nueva línea, pero antes de que se escriba cualquier otro carácter, Column es igual a 1.

El siguiente ejemplo ilustra el uso de la propiedad Column:

Function ObtenerColumna
   Const ComoLectura = 1, ComoEscritura = 2
   Dim fso, f, m
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.OpenTextFile("c:\archivoPrueba.txt", ComoEscritura, True)
   f.Write "Hola a todos."
   f.Close
   Set f = fso.OpenTextFile("c:\archivoPrueba.txt", ComoLectura)
   m =  f.ReadLine
   ObtenerColumna = f.Column
End Function

Consulte también

AtEndOfLine (propiedad) | AtEndOfStream (propiedad) | Line (propiedad)

Se aplica a: TextStream (objeto)


Propiedad CompareMode

Establece y devuelve el modo de comparación para comparar claves de cadenas en un objeto Dictionary.

objeto.CompareMode[ = comparar]

Argumentos

objeto

Necesario. Siempre el nombre de un objeto Dictionary.

comparar

Opcional. Si se proporciona, comparar es un valor que representa el modo de comparación utilizado por funciones tales como StrComp.

Valores

El argumento comparar tiene los siguientes valores:

Constante | Valor | Descripción
vbBinaryCompare | 0 | Realiza una comparación binaria.
vbTextCompare | 1 | Realiza una comparación textual.

Comentarios

Se pueden utilizar valores mayores de 2 para referirse a comparaciones que utilizan los Id. de la configuración regional específica (LCID). Se produce un error si intenta cambiar el modo de comparación de un objeto Dictionary que ya contiene datos.

La propiedad CompareMode utiliza los mismos valores que el argumento comparar para la función StrComp.

El siguiente ejemplo ilustra el uso de la propiedad CompareMode:

Dim d
Set d = CreateObject("Scripting.Dictionary")
d.CompareMode = vbTextCompare
d.Add "a", "Atenas"      'Agrega algunas claves y elementos.
d.Add "b", "Belgrado"
d.Add "c", "El Cairo"
d.Add "B", "Baltimore"   ' Se produce un error en el método Add
                         ' en esta línea porque la letra b ya
                         ' existe en el objeto Dictionary.

Consulte también

Count (propiedad) | Item (propiedad) | Key (propiedad)

Se aplica a: Dictionary (objeto)


Propiedad Count

Devuelve el número de elementos en una colección u objeto Dictionary. Sólo lectura.

objeto.Count

El objeto es siempre el nombre de uno de los elementos de la lista "Se aplica a".

Comentarios

La siguiente porción de código ilustra el uso de la propiedad Count:

Function MostrarClaves
   Dim a, d, i, s          ' Crea algunas variables.
   Set d = CreateObject("Scripting.Dictionary")
   d.Add "a", "Atenas"      ' Agrega algunas claves y elementos.
   d.Add "b", "Belgrado"
   d.Add "c", "El Cairo"
   a = d.Keys               ' Obtiene las claves.
   For i = 0 To d.Count -1   ' Repite la matriz.
      s = s & a(i) & "<BR>"   ' Crea la cadena de retorno.
   Next
   MostrarClaves = s
End Function

Consulte también

CompareMode (propiedad) | Item (propiedad) | Key (propiedad)

Se aplica a: Dictionary (objeto) | Drives (colección) | Files (colección) | Folders (colección) | Matches (colección)


Propiedad DateCreated

Devuelve la fecha y hora en la que se creó el archivo o carpeta especificado. Sólo lectura.

objeto.DateCreated

El objeto es siempre un objeto File o Folder.

Comentarios

La siguiente porción de código ilustra el uso de la propiedad DateCreated con un archivo:

Function MostrarInfoArchivo(nombreArchivo)
   Dim fso, f
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFile(nombreArchivo)
   MostrarInfoArchivo = "Fecha creación: " & f.DateCreated
End Function

Consulte también

Attributes (propiedad) | DateLastAccessed (propiedad) | DateLastModified (propiedad) | Drive (propiedad) | Files (propiedad) | IsRootFolder (propiedad) | Name (propiedad) | ParentFolder (propiedad) | Path (propiedad) | ShortName (propiedad) | ShortPath (propiedad) | Size (propiedad) | SubFolders (propiedad) | Type (propiedad)

Se aplica a: File (objeto) | Folder (objeto)


Propiedad DateLastAccessed

Devuelve la fecha y hora del último acceso al archivo o carpeta especificada. Sólo lectura.

objeto.DateLastAccessed

El objeto es siempre un objeto File o Folder.

Comentarios

La siguiente porción de código ilustra el uso de la propiedad DateLastAccessed con un archivo:

Function MostrarInfoAccesoArchivo(nombreArchivo)
   Dim fso, f, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFile(nombreArchivo)
   s = UCase(nombreArchivo) & "<BR>"
   s = s & "Fecha creación: " & f.DateCreated & "<BR>"
   s = s & "Último acceso: " & f.DateLastAccessed & "<BR>"
   s = s & "Última modificación: " & f.DateLastModified
   MostrarInfoAccesoArchivo = s
End Function

Importante El comportamiento de este método depende del sistema operativo subyacente. Si el sistema operativo no permite ofrecer información de tiempo, no se devolverá ninguna.

Consulte también

Attributes (propiedad) | DateCreated (propiedad) | DateLastModified (propiedad) | Drive (propiedad) | Files (propiedad) | IsRootFolder (propiedad) | Name (propiedad) | ParentFolder (propiedad) | Path (propiedad) | ShortName (propiedad) | ShortPath (propiedad) | Size (propiedad) | SubFolders (propiedad) | Type (propiedad)

Se aplica a: File (objeto) | Folder (objeto)


Propiedad DateLastModified

Devuelve la fecha y hora en que se modificó por última vez el archivo o carpeta especificada. Sólo lectura.

objeto.DateLastModified

El objeto es siempre un objeto File o Folder.

Comentarios

La siguiente porción de código ilustra el uso de la propiedad DateLastModified con un archivo:

Function MostrarInfoAccesoArchivo(nombreArchivo)
   Dim fso, f, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFile(nombreArchivo)
   s = UCase(nombreArchivo) & "<BR>"
   s = s & "Fecha creación: " & f.DateCreated & "<BR>"
   s = s & "Último acceso: " & f.DateLastAccessed & "<BR>"
   s = s & "Última modificación: " & f.DateLastModified
   MostrarInfoAccesoArchivo = s
End Function

Consulte también

Attributes (propiedad) | DateCreated (propiedad) | DateLastAccessed (propiedad) | Drive (propiedad) | Files (propiedad) | IsRootFolder (propiedad) | Name (propiedad) | ParentFolder (propiedad) | Path (propiedad) | ShortName (propiedad) | ShortPath (propiedad) | Size (propiedad) | SubFolders (propiedad) | Type (propiedad)

Se aplica a: File (objeto) | Folder (objeto)


Propiedad Drive

Devuelve la letra de la unidad en la que reside el archivo o carpeta especificada. Sólo lectura.

objeto.Drive

El objeto es siempre un objeto File o Folder.

Comentarios

La siguiente porción de código ilustra el uso de la propiedad Drive:

Function MostrarInfoAccesoArchivo(nombreArchivo)
   Dim fso, f, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFile(nombreArchivo)
   s = f.Name & " en la unidad " & UCase(f.Drive) & "<BR>"
   s = s & "Fecha creación: " & f.DateCreated & "<BR>"
   s = s & "Último acceso: " & f.DateLastAccessed & "<BR>"
   s = s & "Última modificación: " & f.DateLastModified
   MostrarInfoAccesoArchivo = s
End Function

Consulte también

Attributes (propiedad) | DateCreated (propiedad) | DateLastAccessed (propiedad) | DateLastModified (propiedad) | Files (propiedad) | IsRootFolder (propiedad) | Name (propiedad) | ParentFolder (propiedad) | Path (propiedad) | ShortName (propiedad) | ShortPath (propiedad) | Size (propiedad) | SubFolders (propiedad) | Type (propiedad)

Se aplica a: File (objeto) | Folder (objeto)


Propiedad DriveLetter

Devuelve la letra de una unidad local o recurso compartido de red. Sólo lectura.

objeto.DriveLetter

El objeto es siempre un objeto Drive.

Comentarios

La propiedad DriveLetter devuelve una cadena de longitud cero ("") si la unidad especificada no está asociada con una letra de unidad, por ejemplo, un recurso compartido de red que no haya sido asignado a una letra de unidad.

La siguiente porción de código ilustra el uso de la propiedad DriveLetter:

Function MostrarLetraUnidad(rutaUnidad)
   Dim fso, d, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set d = fso.GetDrive(fso.GetDriveName(rutaUnidad))
   s = "Unidad " & d.DriveLetter & ": - "
   s = s & d.VolumeName & "<BR>"
   s = s & "Espacio libre: " & FormatNumber(d.FreeSpace/1024, 0)
   s = s & " Kbytes"
   MostrarLetraUnidad = s
End Function

Consulte también

AvailableSpace (propiedad) | DriveType (propiedad) | FileSystem (propiedad) | FreeSpace (propiedad) | IsReady (propiedad) | Path (propiedad) | RootFolder (propiedad) | SerialNumber (propiedad) | ShareName (propiedad) | TotalSize (propiedad) | VolumeName (propiedad)

Se aplica a: Drive (objeto)


Propiedad Drives

Devuelve una colección de Drives formada por todos los objetos Drive disponibles en el equipo local.

objeto.Drives

El objeto es siempre un objeto FileSystemObject.

Comentarios

Las unidades de medios externos no necesitan tener medios insertados para que aparezcan en la colección Drives.

Puede repetir los miembros de la colección Drives mediante una construcción For Each...Next como se ilustra en la siguiente porción de código:

Function MostrarListaUnidades
   Dim fso, d, dc, s, n
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set dc = fso.Drives
   For Each d in dc
      n = ""
      s = s & d.DriveLetter & " - "
      If d.DriveType = 3 Then
         n = d.ShareName
      ElseIf d.IsReady Then
         n = d.VolumeName
      End If
      s = s & n & "<BR>"
   Next
   MostrarListaUnidades = s
End Function

Consulte también

Drives (colección) | Files (propiedad) | SubFolders (propiedad)

Se aplica a: FileSystemObject (objeto)


Propiedad DriveType

Devuelve un valor que indica el tipo de una unidad especificada.

objeto.DriveType

El objeto es siempre un objeto Drive.

Comentarios

La siguiente porción de código ilustra el uso de la propiedad DriveType:

Function MostrarTipoUnidad(rutaUnidad)
   Dim fso, d, t
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set d = fso.GetDrive(rutaUnidad)
   Select Case d.DriveType
      Case 0: t = "Desconocido"
      Case 1: t = "Extraíble"
      Case 2: t = "Fijo"
      Case 3: t = "Red"
      Case 4: t = "CD-ROM"
      Case 5: t = "Disco RAM"
   End Select
   MostrarTipoUnidad = "Unidad " & d.DriveLetter & ": - " & t
End Function

Consulte también

AvailableSpace (propiedad) | DriveLetter (propiedad) | FileSystem (propiedad) | FreeSpace (propiedad) | IsReady (propiedad) | Path (propiedad) | RootFolder (propiedad) | SerialNumber (propiedad) | ShareName (propiedad) | TotalSize (propiedad) | VolumeName (propiedad)

Se aplica a: Drive (objeto)


Propiedad Files

Devuelve una colección Files que está formada por todos los objetos File contenidos en la carpeta especificada, incluidos aquellos con atributos de archivo de sistema y ocultos.

objeto.Files

El objeto es siempre un objeto Folder.

Comentarios

La siguiente porción de código ilustra el uso de la propiedad Files:

Function MostrarListaArchivos(nombreCarpeta)
   Dim fso, f, f1, fc, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFolder(nombreCarpeta)
   Set fc = f.Files
   For Each f1 in fc
      s = s & f1.name
      s = s &  "<BR>"
   Next
   MostrarListaArchivos = s
End Function

Consulte también

Attributes (propiedad) | DateCreated (propiedad) | DateLastAccessed (propiedad) | DateLastModified (propiedad) | Drives (propiedad) | IsRootFolder (propiedad) | Name (propiedad) | ParentFolder (propiedad) | Path (propiedad) | ShortName (propiedad) | ShortPath (propiedad) | Size (propiedad) | SubFolders (propiedad) | Type (propiedad)

Se aplica a: Folder (objeto)


Propiedad FileSystem

Devuelve el tipo de sistema de archivo utilizado para la unidad especificada.

objeto.FileSystem

El objeto es siempre un objeto Drive.

Comentarios

Los tipos de retorno disponibles incluyen FAT, NTFS y CDFS.

La siguiente porción de código ilustra el uso de la propiedad FileSystem:

Function MostrarTipoSistemaArchivos(nombreUnidad)
   Dim fso,d
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set d = fso.GetDrive(nombreUnidad)
   MostrarTipoSistemaArchivos = d.FileSystem
End Function

Consulte también

AvailableSpace (propiedad) | DriveLetter (propiedad) | DriveType (propiedad) | FileSystemObject (objeto) | FreeSpace (propiedad) | IsReady (propiedad) | Path (propiedad) | RootFolder (propiedad) | SerialNumber (propiedad) | ShareName (propiedad) | TotalSize (propiedad) | VolumeName (propiedad)

Se aplica a: Drive (objeto)


Propiedad FreeSpace

Devuelve la cantidad de espacio libre disponible para un usuario en la unidad o recurso compartido de red especificado. Sólo lectura.

objeto.FreeSpace

El objeto es siempre un objeto Drive.

Comentarios

El valor devuelto por la propiedad FreeSpace es normalmente el mismo que el devuelto por la propiedad AvailableSpace. Pueden haber diferencias entre los dos en sistemas de equipos que admitan cuotas.

La siguiente porción de código ilustra el uso de la propiedad FreeSpace:

Function MostrarEspacioLibre(rutaUnidad)
   Dim fso, d, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set d = fso.GetDrive(fso.GetDriveName(rutaUnidad))
   s = "Unidad " & UCase(rutaUnidad) & " - "
   s = s & d.VolumeName   & "<BR>"
   s = s & "Espacio libre: " & FormatNumber(d.FreeSpace/1024, 0)
   s = s & " Kbytes"
   MostrarEspacioLibre = s
End Function

Consulte también

AvailableSpace (propiedad) | DriveLetter (propiedad) | DriveType (propiedad) | FileSystem (propiedad) | IsReady (propiedad) | Path (propiedad) | RootFolder (propiedad) | SerialNumber (propiedad) | ShareName (propiedad) | TotalSize (propiedad) | VolumeName (propiedad)

Se aplica a: Drive (objeto)


Propiedad IsReady

Devuelve True si la unidad especificada está lista y si no es así, False.

objeto.IsReady

El objeto es siempre un objeto Drive.

Comentarios

Para unidades con medios extraíbles y unidades de CD-ROM, IsReady devuelve True sólo cuando se inserta el medio apropiado y está listo para tener acceso al mismo.

La siguiente porción de código ilustra el uso de la propiedad IsReady:

Function MostrarInfoUnidad(rutaUnidad)
   Dim fso, d, s, t
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set d = fso.GetDrive(rutaUnidad)
   Select Case d.DriveType
      Case 0: t = "Desconocido"
      Case 1: t = "Extraíble"
      Case 2: t = "Fijo"
      Case 3: t = "Red"
      Case 4: t = "CD-ROM"
      Case 5: t = "Disco RAM"
   End Select
   s = "Unidad " & d.DriveLetter & ": - " & t
   If d.IsReady Then
      s = s & "<BR>" & "La unidad está lista."
   Else
      s = s & "<BR>" & "La unidad no está lista."
   End If
   MostrarInfoUnidad = s
End Function

Consulte también

AvailableSpace (propiedad) | DriveLetter (propiedad) | DriveType (propiedad) | FileSystem (propiedad) | FreeSpace (propiedad) | Path (propiedad) | RootFolder (propiedad) | SerialNumber (propiedad) | ShareName (propiedad) | TotalSize (propiedad) | VolumeName (propiedad)

Se aplica a: Drive (objeto)


Propiedad IsRootFolder

Devuelve True si la carpeta especificada es la carpeta raíz y si no es así, False.

objeto.IsRootFolder

El objeto es siempre un objeto Folder.

Comentarios

La siguiente porción de código ilustra el uso de la propiedad IsRootFolder:

Function MostrarNivelProfundidad(nombreRuta)
   Dim fso, f, n
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFolder(nombreRuta)
   If f.IsRootFolder Then
      MostrarNivelProfundidad = "La carpeta especificada es la carpeta raíz."
   Else
      Do Until f.IsRootFolder
         Set f = f.ParentFolder
         n = n + 1
      Loop
      MostrarNivelProfundidad = "La carpeta especificada está anidada en " & n & " niveles."
   End If
End Function

Consulte también

Attributes (propiedad) | DateCreated (propiedad) | DateLastAccessed (propiedad) | DateLastModified (propiedad) | Drive (propiedad) | Files (propiedad) | Name (propiedad) | ParentFolder (propiedad) | Path (propiedad) | ShortName (propiedad) | ShortPath (propiedad) | Size (propiedad) | SubFolders (propiedad) | Type (propiedad)

Se aplica a: Folder (objeto)


Propiedad Item

Establece o devuelve un elemento para una clave especificada en un objeto Dictionary. Para colecciones, devuelve un elemento basado en la clave especificada. Lectura y escritura.

objeto.Item(clave) [= nuevoelemento]

Argumentos

objeto

Necesario. Siempre el nombre de una colección u objeto Dictionary.

clave

Necesario. Clave asociada con el elemento que se recupera o agrega.

nuevoelemento

Opcional. Utilizado sólo para el objeto Dictionary; no existe ninguna aplicación para colecciones. Si se proporciona, nuevoelemento es el nuevo valor asociado con la clave especificada.

Comentarios

Si la clave no se encuentra cuando se cambia un elemento, se crea una nueva clave con el nuevoelemento especificado. Si la clave no se encuentra cuando se intente devolver un elemento existente, se crea una nueva clave y su elemento correspondiente se deja vacío.

El siguiente ejemplo ilustra el uso de la propiedad Item:

Function EjemploDeItem
   Dim d   ' Crea algunas variables.
   Set d = CreateObject("Scripting.Dictionary")
   d.Add "a", "Atenas"   ' Agrega algunas claves y elementos.
   d.Add "b", "Belgrado"
   d.Add "c", "El Cairo"
   EjemploDeItem = d.Item("c")   ' Obtiene el elemento.
End Function

Consulte también

CompareMode (propiedad) | Count (propiedad) | Key (propiedad)

Se aplica a: Dictionary (objeto) | Drives (colección) | Files (colección) | Folders (colección) | Matches (colección)


Propiedad Key

Establece una clave en un objeto Dictionary.

objeto.Key(clave) = nuevaclave

Argumentos

objeto

Necesario. Siempre el nombre de un objeto Dictionary.

clave

Necesario. Valor de la clave que se modifica.

nuevaclave

Necesario. Nuevo valor que reemplaza la clave especificada.

Comentarios

Si clave no se encuentra cuando se modifica una clave, se producirá un error en tiempo de ejecución.

El siguiente ejemplo ilustra el uso de la propiedad Key:

Function EjemploDeDic
   Dim d   ' Crea algunas variables.
   Set d = CreateObject("Scripting.Dictionary")
   d.Add "a", "Atenas"      ' Agrega algunas claves y elementos.
   d.Add "b", "Belgrado"
   d.Add "c", "El Cairo"
   d.Key("c") = "d"         ' Establece una clave para "c" a "d".
   EjemploDeDic = d.Item("d")   ' Devuelve el elemento asociado.
End Function

Consulte también

CompareMode (propiedad) | Count (propiedad) | Item (propiedad)

Se aplica a: Dictionary (objeto)


Propiedad Line

Propiedad de sólo lectura que devuelve el número de la línea actual en un archivo TextStream.

objeto.Line

El objeto es siempre el nombre de un objeto TextStream.

Comentarios

Después de haber abierto inicialmente un archivo y antes de que se escriba cualquier cosa, Line es igual a 1.

El siguiente ejemplo ilustra el uso de la propiedad Line:

Function ObtenerLinea
   Const ComoLectura = 1, ComoEscritura = 2
   Dim fso, f, ra
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.OpenTextFile("c:\archivoPrueba.txt", ComoEscritura, True)
   f.Write "Hola a todos." & vbCrLf & "¡Qué divertido es VBScript!" & vbCrLf
   Set f = fso.OpenTextFile("c:\archivoPrueba.txt", ComoLectura)
   ra =  f.ReadAll
   ObtenerLinea = f.Line
End Function

Consulte también

AtEndOfStream (propiedad) | AtEndOfLine (propiedad) | Column (propiedad)

Se aplica a: TextStream (objeto)


Propiedad Name

Establece o devuelve el nombre de un archivo o carpeta especificada. Lectura y escritura.

objeto.Name [= nuevonombre]

Argumentos

objeto

Necesario. Siempre el nombre de un objeto File o Folder.

nuevonombre

Opcional. Si se proporciona, nuevonombre es el nuevo nombre del objeto especificado.

Comentarios

La siguiente porción de código ilustra el uso de la propiedad Name:

Function MostrarInfoAccesoArchivo(nombreArchivo)
   Dim fso, f, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFile(nombreArchivo)
   s = f.Name & " en la unidad " & UCase(f.Drive) & "<BR>"
   s = s & "Fecha creación: " & f.DateCreated & "<BR>"
   s = s & "Último acceso: " & f.DateLastAccessed & "<BR>"
   s = s & "Última modificación: " & f.DateLastModified
   MostrarInfoAccesoArchivo = s
End Function

Consulte también

Attributes (propiedad) | DateCreated (propiedad) | DateLastAccessed (propiedad) | DateLastModified (propiedad) | Drive (propiedad) | Files (propiedad) | IsRootFolder (propiedad) | ParentFolder (propiedad) | Path (propiedad) | ShortName (propiedad) | ShortPath (propiedad) | Size (propiedad) | SubFolders (propiedad) | Type (propiedad)

Se aplica a: File (objeto) | Folder (objeto)


Propiedad ParentFolder

Devuelve el objeto de carpeta de la carpeta principal del archivo o carpeta especificada. Sólo lectura.

objeto.ParentFolder

El objeto es siempre un objeto File o Folder.

Comentarios

La siguiente porción de código ilustra el uso de la propiedad ParentFolder con un archivo:

Function MostrarInfoAccesoArchivo(nombreArchivo)
   Dim fso, f, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFile(nombreArchivo)
   s = UCase(f.Name) & " en " & UCase(f.ParentFolder) & "<BR>"
   s = s & "Fecha creación: " & f.DateCreated & "<BR>"
   s = s & "Último acceso: " & f.DateLastAccessed & "<BR>"
   s = s & "Última modificación: " & f.DateLastModified
   MostrarInfoAccesoArchivo = s
End Function

Consulte también

Attributes (propiedad) | DateCreated (propiedad) | DateLastAccessed (propiedad) | DateLastModified (propiedad) | Drive (propiedad) | Files (propiedad) | IsRootFolder (propiedad) | Name (propiedad) | Path (propiedad) | ShortName (propiedad) | ShortPath (propiedad) | Size (propiedad) | SubFolders (propiedad) | Type (propiedad)

Se aplica a: File (objeto) | Folder (objeto)


Propiedad Path

Devuelve la ruta de un archivo, carpeta o unidad especificada.

objeto.Path

El objeto es siempre un objeto File, Folder o Drive.

Comentarios

Para letras de unidad, no se incluye la unidad raíz. Por ejemplo, la ruta para la unidad C es C:, no C:\.

La siguiente porción de código ilustra el uso de la propiedad Path con un objeto File:

Function MostrarInfoAccesoArchivo(nombreArchivo)
   Dim fso, d, f, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFile(nombreArchivo)
   s = UCase(f.Path) & "<BR>"
   s = s & "Fecha creación: " & f.DateCreated & "<BR>"
   s = s & "Último acceso: " & f.DateLastAccessed & "<BR>"
   s = s & "Última modificación: " & f.DateLastModified
   MostrarInfoAccesoArchivo = s
End Function

Consulte también

Attributes (propiedad) | AvailableSpace (propiedad) | DateCreated (propiedad) | DateLastAccessed (propiedad) | DateLastModified (propiedad) | Drive (propiedad) | DriveLetter (propiedad) | DriveType (propiedad) | Files (propiedad) | FileSystem (propiedad) | FreeSpace (propiedad) | IsReady (propiedad) | IsRootFolder (propiedad) | Name (propiedad) | ParentFolder (propiedad) | RootFolder (propiedad) | SerialNumber (propiedad) | ShareName (propiedad) | ShortName (propiedad) | ShortPath (propiedad) | Size (propiedad) | SubFolders (propiedad) | TotalSize (propiedad) | Type (propiedad) | VolumeName (propiedad)

Se aplica a: Drive (objeto) | File (objeto) | Folder (objeto)


Propiedad RootFolder

Devuelve un objeto Folder que representa la carpeta raíz de una unidad especificada. Sólo lectura.

objeto.RootFolder

El objeto es siempre un objeto Drive.

Comentarios

Se puede obtener acceso a todos los archivos y carpetas contenidas en la unidad mediante el objeto Folder devuelto.

El siguiente ejemplo ilustra el uso de la propiedad RootFolder:

Function MostrarCarpetaRaiz(nombreUnidad)
   Dim fso, f
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetDrive(nombreUnidad)
   MostrarCarpetaRaiz = f.RootFolder
End Function

Consulte también

AvailableSpace (propiedad) | DriveLetter (propiedad) | DriveType (propiedad) | FileSystem (propiedad) | FreeSpace (propiedad) | IsReady (propiedad) | Path (propiedad) | SerialNumber (propiedad) | ShareName (propiedad) | TotalSize (propiedad) | VolumeName (propiedad)

Se aplica a: Drive (objeto)


Propiedad SerialNumber

Devuelve el número de serie decimal utilizado para identificar únicamente un volumen de disco.

objeto.SerialNumber

El objeto es siempre un objeto Drive.

Comentarios

Puede utilizar la propiedad SerialNumber para asegurar que se ha insertado el disco correcto en una unidad de medios extraíbles.

La siguiente porción de código ilustra el uso de la propiedad SerialNumber:

Function MostrarInfoUnidad(rutaUnidad)
   Dim fso, d, s, t
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set d = fso.GetDrive(fso.GetDriveName(fso.GetAbsolutePathName(rutaUnidad)))
   Select Case d.DriveType
      Case 0: t = "Desconocido"
      Case 1: t = "Extraíble"
      Case 2: t = "Fijo"
      Case 3: t = "Red"
      Case 4: t = "CD-ROM"
      Case 5: t = "Disco RAM"
   End Select
   s = "Unidad " & d.DriveLetter & ": - " & t
   s = s & "<BR>" & "Nº de serie: " & d.SerialNumber
   MostrarInfoUnidad = s
End Function

Consulte también

AvailableSpace (propiedad) | DriveLetter (propiedad) | DriveType (propiedad) | FileSystem (propiedad) | FreeSpace (propiedad) | IsReady (propiedad) | Path (propiedad) | RootFolder (propiedad) | ShareName (propiedad) | TotalSize (propiedad) | VolumeName (propiedad)

Se aplica a: Drive (objeto)


Propiedad ShareName

Devuelve el nombre del recurso compartido de red para una unidad especificada.

objeto.ShareName

El objeto es siempre un objeto Drive.

Comentarios

Si objeto no es una unidad de red, la propiedad ShareName devuelve una cadena de longitud cero ("").

La siguiente porción de código ilustra el uso de la propiedad ShareName:

Function MostrarInfoUnidad(rutaUnidad)
   Dim fso, d
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set d = fso.GetDrive(fso.GetDriveName(fso.GetAbsolutePathName(rutaUnidad)))
   MostrarInfoUnidad = "Unidad " & d.DriveLetter & ": - " & d.ShareName
End Function

Consulte también

AvailableSpace (propiedad) | DriveLetter (propiedad) | DriveType (propiedad) | FileSystem (propiedad) | FreeSpace (propiedad) | IsReady (propiedad) | Path (propiedad) | RootFolder (propiedad) | SerialNumber (propiedad) | TotalSize (propiedad) | VolumeName (propiedad)

Se aplica a: Drive (objeto)


Propiedad ShortName

Devuelve el nombre corto utilizado por programas que requieren la anterior convención de nomenclatura 8.3.

objeto.ShortName

El objeto es siempre un objeto File o Folder.

Comentarios

La siguiente porción de código ilustra el uso de la propiedad ShortName con un objeto File:

Function MostrarNombreCorto(nombreArchivo)
   Dim fso, f, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFile(nombreArchivo)
   s = "El nombre corto para "   & UCase(f.Name) & "<BR>"
   s = s & "es: " & f.ShortName
   MostrarNombreCorto = s
End Function

Consulte también

Attributes (propiedad) | DateCreated (propiedad) | DateLastAccessed (propiedad) | DateLastModified (propiedad) | Drive (propiedad) | Files (propiedad) | IsRootFolder (propiedad) | Name (propiedad) | ParentFolder (propiedad) | Path (propiedad) | ShortPath (propiedad) | Size (propiedad) | SubFolders (propiedad) | Type (propiedad)

Se aplica a: File (objeto) | Folder (objeto)


Propiedad ShortPath

Devuelve la ruta corta utilizada por programas que requieren la anterior convención de nomenclatura de archivos 8.3.

objeto.ShortPath

El objeto es siempre un objeto File o Folder.

Comentarios

La siguiente porción de código ilustra el uso de la propiedad ShortPath con un objeto File:

Function MostrarRutaCorta(nombreArchivo)
   Dim fso, f, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFile(nombreArchivo)
   s = "La ruta corta de " & UCase(f.Name) & "<BR>"
   s = s & "es: " & f.ShortPath
   MostrarRutaCorta = s
End Function

Consulte también

Attributes (propiedad) | DateCreated (propiedad) | DateLastAccessed (propiedad) | DateLastModified (propiedad) | Drive (propiedad) | Files (propiedad) | IsRootFolder (propiedad) | Name (propiedad) | ParentFolder (propiedad) | Path (propiedad) | ShortName (propiedad) | Size (propiedad) | SubFolders (propiedad) | Type (propiedad)

Se aplica a: File (objeto) | Folder (objeto)


Propiedad Size

Para archivos, devuelve el tamaño, en bytes, del archivo especificado. Para carpetas, devuelve el tamaño, en bytes, de todos los archivos y subcarpetas contenidas en la carpeta.

objeto.Size

El objeto es siempre un objeto File o Folder.

Comentarios

La siguiente porción de código ilustra el uso de la propiedad Size con un objeto Folder:

Function ShowFolderSize(nombreArchivo)
   Dim fso, f, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFolder(nombreArchivo)
   s = UCase(f.Name) & " utiliza " & f.size & " bytes."
   ShowFolderSize = s
End Function

Consulte también

Attributes (propiedad) | DateCreated (propiedad) | DateLastAccessed (propiedad) | DateLastModified (propiedad) | Drive (propiedad) | Files (propiedad) | IsRootFolder (propiedad) | Name (propiedad) | ParentFolder (propiedad) | Path (propiedad) | ShortName (propiedad) | ShortPath (propiedad) | SubFolders (propiedad) | Type (propiedad)

Se aplica a: File (objeto) | Folder (objeto)


Propiedad SubFolders

Devuelve una colección Folders formada por todas las carpetas contenidas en una carpeta especificada, incluidas aquellas con atributos de archivo de sistema y oculto.

objeto.SubFolders

El objeto es siempre un objeto Folder.

Comentarios

La siguiente porción de código ilustra el uso de la propiedad SubFolders:

Function MostrarListaCarpetas(nombreCarpeta)
   Dim fso, f, f1, s, sf
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFolder(nombreCarpeta)
   Set sf = f.SubFolders
   For Each f1 in sf
      s = s & f1.name
      s = s & "<BR>"
   Next
   MostrarListaCarpetas = s
End Function

Consulte también

Attributes (propiedad) | DateCreated (propiedad) | DateLastAccessed (propiedad) | DateLastModified (propiedad) | Drive (propiedad) | Files (propiedad) | IsRootFolder (propiedad) | Name (propiedad) | ParentFolder (propiedad) | Path (propiedad) | ShortName (propiedad) | ShortPath (propiedad) | Size (propiedad) | Type (propiedad)

Se aplica a: Folder (objeto)


Propiedad TotalSize

Devuelve el espacio total, en bytes, de una unidad o recurso de red compartido.

objeto.TotalSize

El objeto es siempre un objeto Drive.

Comentarios

La siguiente porción de código ilustra el uso de la propiedad TotalSize:

Function MostrarInfoEspacio(rutaUnidad)
   Dim fso, d, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set d = fso.GetDrive(fso.GetDriveName(fso.GetAbsolutePathName(rutaUnidad)))
   s = "Unidad " & d.DriveLetter & ":"
   s = s & vbCrLf
   s = s & "Tamaño total: " & FormatNumber(d.TotalSize/1024, 0) & " Kbytes"
   s = s & vbCrLf
   s = s & "Disponible: " & FormatNumber(d.AvailableSpace/1024, 0) & " Kbytes"
   MostrarInfoEspacio = s
End Function

Consulte también

AvailableSpace (propiedad) | DriveLetter (propiedad) | DriveType (propiedad) | FileSystem (propiedad) | FreeSpace (propiedad) | IsReady (propiedad) | Path (propiedad) | RootFolder (propiedad) | SerialNumber (propiedad) | ShareName (propiedad) | VolumeName (propiedad)

Se aplica a: Drive (objeto)


Propiedad Type

Devuelve información acerca del tipo de un archivo o carpeta. Por ejemplo, para archivos terminados en .TXT, se devuelve "Documento de texto".

objeto.Type

El objeto es siempre un objeto File o Folder.

Comentarios

La siguiente porción de código ilustra el uso de la propiedad Type para devolver un tipo de carpeta. En este ejemplo, proporcione la ruta de la Papelera de reciclaje u otra carpeta única para el procedimiento.

Function MostrarTipoCarpeta(nombreArchivo)
   Dim fso, f, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFolder(nombreArchivo)
   s = UCase(f.Name) & " es del tipo: " & f.Type
   MostrarTipoCarpeta = s
End Function

Consulte también

Attributes (propiedad) | DateCreated (propiedad) | DateLastAccessed (propiedad) | DateLastModified (propiedad) | Drive (propiedad) | Files (propiedad) | IsRootFolder (propiedad) | Name (propiedad) | ParentFolder (propiedad) | Path (propiedad) | ShortName (propiedad) | ShortPath (propiedad) | Size (propiedad) | SubFolders (propiedad)

Se aplica a: File (objeto) | Folder (objeto)


Propiedad VolumeName

Establece o devuelve el nombre de volumen de la unidad especificada. Lectura y escritura.

objeto.VolumeName [= nuevonombre]

Argumentos

objeto

Necesario. Siempre el nombre de un objeto Drive.

nuevonombre

Opcional. Si se proporciona, nuevonombre es el nombre nuevo del objeto especificado.

Comentarios

La siguiente porción de código ilustra el uso de la propiedad VolumeName:

Function MostrarInfoVolumen(rutaUnidad)
   Dim fso, d, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set d = fso.GetDrive(fso.GetDriveName(fso.GetAbsolutePathName(rutaUnidad)))
   s = "Unidad " & d.DriveLetter & ": - " & d.VolumeName
   MostrarInfoVolumen = s
End Function

Consulte también

AvailableSpace (propiedad) | DriveLetter (propiedad) | DriveType (propiedad) | FileSystem (propiedad) | FreeSpace (propiedad) | IsReady (propiedad) | Path (propiedad) | RootFolder (propiedad) | SerialNumber (propiedad) | ShareName (propiedad) | TotalSize (propiedad)

Se aplica a: Drive (objeto)


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

Definición de expresión regular

Construir una expresión regular

Orden de precedencia

Caracteres ordinarios

Caracteres especiales

Caracteres no imprimibles

Coincidencia de caracteres

Cuantificadores

Delimitadores

Alternancia y agrupamiento

Referencias inversas


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 conseguir mediante las expresiones regulares, aunque éstas son mucho más eficaces y flexibles.


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.


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 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.


Sintaxis de expresión regular

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

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

JScript | 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.

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

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.
(?!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.
\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 (©).


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.


Orden de precedencia

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

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

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


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 '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.


Caracteres especiales

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

Carácter especial | Comentarios
$ | Coincide con la posición al final de una cadena de entrada. Si se establece la propiedad Multiline del objeto RegExp, $ también coincide con la posición que antecede a '\n' o '\r'. Para que coincida el carácter $, ( ), use \$.
( ) | Marca el comienzo y el final de una subexpresión. Las subexpresiones pueden capturarse para su uso posterior. Para que coincidan estos caracteres, utilice \( y \).
* | Coincide con la subexpresión precedente cero o más veces. Para que coincida el carácter *, use \*.
+ | Coincide con la subexpresión precedente una o más veces. Para que coincida el carácter +, use \+.
. | Coincide con cualquier carácter único excepto el carácter de nueva línea \n. Para que coincida, utilice \.
[ | Marca el comienzo y el final de una expresión de corchete. Para que [ coincida, use \[.
? | Coincide con la subexpresión precedente cero o una vez, o indica un cuantificador no expansivo. Para que coincida el carácter ?, use \?.
\ | Marca el carácter siguiente como un carácter especial, un literal, una referencia inversa o un código de escape octal. Por ejemplo, 'n' coincide con el carácter 'n'. '\n' coincide con un carácter de nueva línea. La secuencia '\\' coincide con "\" y '\(' coincide con "(".
^ | Coincide con la posición del comienzo de una cadena de entrada, excepto cuando se usa en una expresión de corchetes, donde niega el conjunto de caracteres. Para que el carácter ^ coincida consigo mismo, use \^.
{ | Marca el comienzo de una expresión de cuantificador. Para que { coincida, use \{.
| | Indica una opción entre dos elementos. Para que | coincida, use \|.


Caracteres no imprimibles

Hay varios caracteres no imprimibles muy útiles que deben utilizarse a veces. La tabla siguiente muestra las secuencias de escape empleadas para representarlos.

Carácter | 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.


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:

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

/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]"

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]"


Cuantificadores

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

La tabla siguiente muestra los distintos cuantificadores y su significado.

Carácter | 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.

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:

/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 incluye una expresión de JScript más adecuada 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 (<) 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.


Delimitadores

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

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

Carácter | Descripción
^ | Coincide con la posición al comienzo de la cadena de entrada. Si se establece la propiedad Multiline del objeto RegExp, ^ también coincide con la posición que sigue a '\n' o '\r'.
$ | Coincide con la posición al final de la cadena de entrada. Si se establece la propiedad Multiline del objeto RegExp, $ también coincide con la posición que precede a '\n' o '\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.

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 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.


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á 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 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'.


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:

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

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

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

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

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

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

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

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

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

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

http://msdn.microsoft.com:80/scripting/default.htm

Las siguientes expresiones regulares proporcionan dicha funcionalidad. En JScript:

/(\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 "msdn.microsoft.com"

RegExp.$3 contiene "80"

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


Copyright

Microsoft® VBScript®

La información contenida en este documento, incluidas las direcciones URL y cualquier otra referencia a sitios Web de Internet, está sujeta a modificaciones sin previo aviso. A menos que se indique lo contrario, los nombres de las compañías, productos, personas, personajes y datos mencionados son ficticios y no representan de ningún modo a ninguna persona, compañía, producto o acontecimiento reales. Es responsabilidad del usuario el cumplimiento de todas las leyes de derechos de autor aplicables. Ninguna parte de este documento puede ser reproducida, almacenada o introducida en un sistema de recuperación, o transmitida de ninguna forma, ni por ningún medio, ya sea electrónico, mecánico, fotocopia o grabación con ningún propósito, sin la previa autorización por escrito de Microsoft Corporation, sin que esto limite los derechos protegidos por copyright.

Microsoft puede ser titular de patentes, solicitudes de patentes, marcas, derechos de autor, u otros derechos de propiedad intelectual sobre los contenidos de este documento. El suministro de este documento no le otorga a usted ninguna licencia sobre estas patentes, marcas, derechos de autor, u otros derechos de propiedad intelectual, a menos que ello se prevea en un contrato escrito de licencia de Microsoft.

© 1991-2000 Microsoft Corporation. Reservados todos los derechos.

Microsoft, MS, MS-DOS, ActiveX, JScript, Microsoft Press, MSDN, Visual Basic, Windows, Windows NT, Win32 y Win32s son marcas registradas o marcas comerciales de Microsoft Corporation en Estados Unidos y/o en otros países.

Los nombres de productos y compañías reales mencionados aquí pueden ser marcas comerciales de sus respectivos propietarios.


Referencia del lenguaje de VBScript

Constantes

Errores

Sucesos

Funciones

Métodos

Objetos

Operadores

Instrucciones


Colección SubMatches

Colección de cadenas que son subcoincidencias de una expresión regular.

Comentarios

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 - dragon@xyzzy.com
   retStr = "La dirección de correo electrónico es: " & oCoincidencia & vbNewline
   ' Obtiene las partes subcoincidente de la dirección.
   retStr = retStr & "El alias de correo electrónico es: " & oCoincidencia.SubMatches(0)  ' dragon
   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 dragon@xyzzy.com. Gracias."))

Propiedades

Count (propiedad) | Item (propiedad)

Requisitos

Versión 5.5

Consulte también

For Each...Next (instrucción) | Match (objeto) | Matches (colección) | RegExp (objeto)


El componente ActiveX no puede crear el objeto

En tiempo de ejecución de VBScript 5.5 no se pudo crear una instancia del objeto, ya que su clase no está registrada en el Registro del sistema o una o varias de las bibliotecas de vínculos dinámicos (DLL, Dynamic Link Libraries) asociadas no están disponibles. Otra posibilidad es que una biblioteca DLL requerida por el objeto no sea utilizable, bien porque no puede encontrarse o porque está dañada.

Para corregir este error

  • Asegúrese de que todas las bibliotecas DLL asociadas están disponibles. Por ejemplo, Data Access Object (DAO) requiere bibliotecas DLL de compatibilidad distintas dependiendo del tipo de plataforma. Quizás sea necesario volver a ejecutar el programa de instalación del objeto.
  • Es posible que Internet Explorer esté intentando crear el objeto, pero que el usuario no tenga establecidos los permisos de seguridad correctos en Internet Explorer. Restablezca la configuración de seguridad de Internet Explorer y vuelva a intentarlo.

Consulte también

Usar VBScript con objetos


Error de excepción

La secuencia de comandos ha hecho una llamada a un objeto COM, que a su vez lanzó una excepción.

Para corregir este error

  • A menos que el método Raise generara esta llamada, póngase en contacto con el programador del objeto COM que provocó el error.
  • Póngase en contacto con el Servicio de soporte técnico de Microsoft para informar de las condiciones en las que apareció este mensaje de error.

Consulte también

Método Raise | Err


Argumento no opcional

Ha invocado un procedimiento, pero ha utilizado un número de argumentos incorrecto. El número de argumentos pasados a un procedimiento debe coincidir con el número de parámetros de la definición del procedimiento.

Para corregir este error

  • Compruebe la firma de función para asegurarse de que ha incluido todos los argumentos necesarios.

Consulte también

Procedimientos de VBScript


Esta matriz es fija o se encuentra temporalmente bloqueada

Ha intentado utilizar la instrucción ReDim para cambiar el número de elementos de una matriz de tamaño constante. Las matrices declaradas como dinámicas o que se incluyen en variables Variant pueden bloquearse temporalmente.

Para corregir este error

  • Si la matriz se declara dentro de un procedimiento, use la función ReDim para cambiarla de estática a dinámica.
  • Si la matriz está declarada en un módulo, declárela sin especificar el número de elementos.

Consulte también

Función Array | Instrucción Dim | Instrucción ReDim | Instrucción Set | Instrucción Private | Instrucción Public


No puede haber múltiples propiedades o métodos predeterminados en una clase

Ha marcado más de una propiedad o método como predeterminados en la definición de clase. Sólo puede haber una propiedad o un método predeterminado en una clase

Para corregir este error

  • Asegúrese de que sólo hay una propiedad o un método predeterminado en esta clase.

Consulte también

Instrucción Function


No se puede utilizar paréntesis al llamar a Sub

Ha invocado una subrutina sin la instrucción Call, pero ha utilizado paréntesis (). Al llamar a una subrutina sin la instrucción Call, no deben utilizarse paréntesis ().

Para corregir este error

  • Quite los paréntesis de la invocación de subrutina.
  • Utilice la instrucción Call para invocar a la subrutina.

Consulte también

Instrucción Call | Instrucción Sub


No se puede realizar la operación solicitada

La ejecución de la secuencia de comandos no puede continuar debido a que el host detuvo el motor de secuencias. El host no especificó un código de error explícito que devolver.

Para corregir este error

  • La solución de este error depende del host.


Esta clase no acepta Automatización

Ha intentado tener acceso a una propiedad o método de un objeto que no admite Automatización. Puede crear y pasar un puntero a un objeto que no admita Automatización, pero no podrá tener acceso a sus propiedades y métodos.

Para corregir este error

  • Compruebe la documentación de la aplicación que creó el objeto para consultar las restricciones del uso de la Automatización en esta clase.

Nota Es posible que el objeto se haya generado mediante CreateObject, pero también podría haberse introducido mediante el modelo de objetos del host.

Consulte también

Función CreateObject


La inicialización o finalización de la clase no tiene argumentos

La secuencia de comandos tiene una definición de clase con el suceso Class_Initialize o el suceso Class_Terminate. Ha especificado uno o varios parámetros para uno de estos procedimientos. Nunca especifique parámetros para estos procedimientos.

Para corregir este error

  • Quite los parámetros de la definición de clase.

Consulte también

Suceso Initialize | Suceso Terminate


Clase no definida

Ha hecho referencia a una clase (con una instrucción New o Set) sin definirla previamente.

Para corregir este error

  • Asegúrese de definir la clase antes de hacer referencia a ella.

Consulte también

Instrucción Set


La especificación 'Default' sólo puede estar en Property Get

Ha utilizado la palabra reservada Default en una instrucción Property Let o Property Set. Esta palabra reservada sólo puede especificarse en una instrucción Property Get.

Para corregir este error

  • Especifique la palabra reservada Default sólo en una instrucción Property Get.

Consulte también

Instrucción Property Let | Instrucción Property Set | Instrucción Property Get


La especificación 'Default' también debe indicar 'Public'

Ha definido una propiedad como Default, pero no como Public. Si define una propiedad como Default, pero también debe definirla como Public.

Para corregir este error

  • Defina todas las propiedades Default como Public.

Consulte también

Instrucción Function


División por cero

Ha creado una expresión que intenta dividir un número por cero. La división por cero genera un resultado infinito (no utilizable).

Para corregir este error

  • Compruebe la expresión para corregir errores de escritura o mayúsculas y minúsculas.


Error al cargar biblioteca DLL

La aplicación hace referencia a una biblioteca DLL que no puede encontrarse. Otra posibilidad es que una biblioteca DLL haga referencia a otra que no puede encontrarse.

Para corregir este error

  • Asegúrese de que la biblioteca DLL está presente.
  • Use el nombre de ruta de acceso completo al hacer referencia a la biblioteca DLL.
  • Consiga la biblioteca DLL a la que se hace referencia y haga que quede disponible para la otra biblioteca DLL.


Se esperaba ']' en la expresión regular

Ha intentado crear una clase de caracteres para que coincida con una expresión regular, pero no incluyó el corchete de cierre. Las combinaciones de caracteres literales individuales se pueden unir en clases de caracteres si se colocan entre corchetes. Una clase de caracteres coincide con cualquiera de los caracteres que contiene. Por ejemplo, /[abc]/ coincide con cualquiera de las letras “a”, “b” o “c”.

Para corregir este error

  • Agregue el corchete de cierre a la expresión regular.

Consulte también

Objeto Regular Expression (RegExp)


Se esperaba 'Case'

Ha creado una construcción Select…End Select, pero no incluyó ninguna instrucción Case. El siguiente ejemplo ilustra el uso correcto de la construcción Select…End Select.

Select Case expresiónPrueba
   [Case listaExpresiones-n
      [instrucciones-n]] . . .
   [Case Else listaExpresiones-n
      [instruccionesElse-n]]
End Select

Para corregir este error

  • Asegúrese de que la construcción Select…End Select incluye todos los componentes necesarios.

Consulte también

Instrucción Select Case


Se esperaba 'Class'

Ha creado un procedimiento Class, pero lo ha finalizado con la palabra clave End, en lugar de la instrucción End Class. Finalice siempre los procedimientos Class con una instrucción End Class.

Para corregir este error

  • Finalice los procedimientos Class con una instrucción End Class.

Consulte también

Instrucción Class


Se esperaba 'End'

Ha creado una construcción, pero no la terminó correctamente. En la tabla siguiente se enumeran las construcciones de VBScript que deben terminar con una instrucción End.

Construcción | Instrucción final
Sub | End Sub
Function | End Function
If | End If
Class | End Class
With | End With
Select | End Select

Para corregir este error

  • Finalice siempre los procedimientos Sub con una instrucción End Sub asociada.
  • Finalice siempre los procedimientos Function con una instrucción End Function asociada.
  • Finalice siempre las instrucciones If con una instrucción End If asociada.
  • Finalice siempre las instrucciones Class con una instrucción End Class asociada.
  • Finalice siempre las instrucciones With con una instrucción End With asociada.
  • Finalice siempre las instrucciones Select con una instrucción End Select asociada.

Consulte también

Instrucción Sub | Instrucción Function


Se esperaba final de instrucción

Aparece texto más allá del final de una de las instrucciones.

Para corregir este error

  • Quite el texto sobrante.
  • Si se trata de un comentario en la línea de código, inserte un apóstrofe "'" al final de la instrucción.

Consulte también

Convenciones de código de VBScript


Se esperaba '='

Ha utilizado la instrucción Set, pero no incluyó el signo =.

Para corregir este error

  • Use la sintaxis completa de la instrucción Set.

Consulte también

Instrucción Set


Se esperaba una expresión

Ha creado una construcción Select…End Select, pero incluyó una cláusula Case con uno o varios valores junto con una instrucción Case Else. La instrucción Case Else (la opción utilizada en caso de que no se cumplan las demás) debe aparecer en una línea propia. El siguiente ejemplo ilustra el uso correcto de la construcción Select…End Select.

Select Case expresiónPrueba
   [Case listaExpresiones-n
      [instrucciones-n]] . . .
   [Case Else listaExpresiones-n
      [instruccionesElse-n]]
End Select

Para corregir este error

  • Cree una nueva línea para la instrucción Case Else.

Consulte también

Instrucción Select Case


Se esperaba 'Function'

Ha creado un procedimiento Function, pero lo ha finalizado con la palabra clave End, en lugar de la instrucción End Function. Los procedimientos Function siempre deben incluir una instrucción final End Function.

Para corregir este error

  • Finalice el procedimiento Function con la instrucción End Function.

Consulte también

Instrucción Function | Instrucción Call | Instrucción Dim | Instrucción Exit | Instrucción Set | Instrucción Sub


Se esperaba un identificador

Ha declarado una variable, pero el nombre elegido es una palabra reservada de VBScript.

Para corregir este error

  • Elija otro nombre de variable (uno que no sea una palabra reservada de VBScript).
  • Encierre la palabra reservada entre corchetes [ ].


Se esperaba 'If'

Ha creado un bloque If...Then...Else, pero no lo terminó correctamente. Una instrucción de bloque If debe ser la primera instrucción en una línea y finalizar con una instrucción End If. El siguiente ejemplo ilustra la estructura correcta de un bloque If...Then...Else.

If condición Then
   [instrucciones]
[ElseIf condición-n Then
   [instruccionesElseIf]] . . .
[Else
   [instruccionesElse]]
End If

Para corregir este error

  • Compruebe si ha terminado la instrucción de bloque If con una instrucción End. Si es así, cámbiela por una instrucción End If.

Consulte también

Instrucción If...Then...Else


Se esperaba 'In'

Ha creado un bloque For Each…Next, pero no incluyó la palabra clave In en la primera línea. El siguiente ejemplo ilustra la estructura correcta de un bloque For Each…Next.

For Each elemento In grupo
   [instrucciones]
   [Exit For]
   [instrucciones]
Next [elemento]

Para corregir este error

  • Asegúrese de que el bloque For Each…Next incluye todos los componentes necesarios.

Consulte también

Instrucción For Each...Next | Instrucción Do...Loop | Instrucción Exit | Instrucción For...Next | Instrucción While...Wend


Se esperaba ')' en la expresión regular

Ha intentado crear una subexpresión de expresión regular, pero no incluyó el paréntesis de cierre ")". Los paréntesis tienen varias finalidades en las expresiones regulares. Se utilizan principalmente para agrupar elementos independientes en una subexpresión única, de forma que los elementos puedan ser tratados como una sola unidad por *, +, ?, etc.

Para corregir este error

  • Agregue el paréntesis de cierre ")" a la subexpresión de la expresión regular.

Consulte también

Objeto Regular Expression (RegExp)


Se esperaba una constante entera

Ha intentado crear una matriz en la instrucción Dim con un elemento que no era una constante. En VBScript, el valor de tamaño de una instrucción Dim debe ser una constante. Por ejemplo:

Dim a(10)   ' es válido.
Dim a(x)    ' no es válido.
Dim a(1=2)  ' no es válido.

Para corregir este error

  • Use la instrucción Redim.

Consulte también

Instrucción Dim | Instrucción Redim


Se esperaba '('

No ha incluido el paréntesis de apertura "(" al crear una declaración de procedimiento.

Sub foo x // x debe encerrarse entre paréntesis.
End Sub

o ha utilizado la instrucción redim.

Redim x // x debe encerrarse entre paréntesis.

Para corregir este error

  • Agregue el paréntesis (de apertura) izquierdo "(".

Consulte también

Precedencia de operadores


Se esperaba Let, Set o Get en la declaración de la propiedad

Ha creado una instrucción Property Let, Property Set o Property Get, pero no incluyó las palabras clave Let, Set o Get. La instrucción Property debe ir seguida de Let, Set o Get.

Para corregir este error

  • Asegúrese de que la instrucción Property va seguida de Let, Set o Get.

Consulte también

Instrucción Property Let | Instrucción Property Set | Instrucción Property Get


Se esperaba una constante literal

Ha declarado una constante, pero le asignó una expresión variable (un valor que puede cambiar). Las constantes no pueden contener código de tiempo de ejecución.

Para corregir este error

  • No utilice expresiones al declarar constantes.

Consulte también

Constantes de VBScript | Constantes de VBScript | Instrucción Const


Se esperaba 'Loop'

Ha creado una construcción de bucle Do, pero no terminó correctamente el bucle. Las construcciones de bucle Do deben terminarse con una instrucción Loop asociada. El siguiente ejemplo ilustra la estructura correcta de una construcción de bucle Do.

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]

Para corregir este error

  • Asegúrese de que la construcción de bucle Do incluye todos los componentes necesarios.

Consulte también

Instrucción Do...Loop | Instrucción Exit | Instrucción For...Next | Instrucción While...Wend


Se esperaba 'Next'

Ha creado una construcción de bucle For…Next, pero no terminó correctamente el bucle. Las construcciones de bucle For…Next deben finalizar con una instrucción Next. El siguiente ejemplo ilustra la estructura correcta de una construcción de bucle For…Next.

For contador = inicio To fin [Step paso]
    [instrucciones]
    [Exit For]
    [instrucciones]
Next

Para corregir este error

  • Asegúrese de que la construcción de bucle For…Next incluye todos los componentes necesarios.

Consulte también

Instrucción For...Next | Instrucción Do...Loop | Instrucción Exit | Instrucción For Each...Next | Instrucción While...Wend


Se esperaba 'Property'

Ha creado un procedimiento Property (Property Let, Property Set o Property Get), pero no lo terminó con la instrucción End Property. Los procedimientos Property deben finalizarse con una instrucción End Property.

Para corregir este error

  • Finalice los procedimientos Property con la instrucción End Property.

Consulte también

Instrucción Property Let | Instrucción Property Set | Instrucción Property Get


Se esperaba ')'

Ha intentado encerrar una expresión entre un conjunto de paréntesis, pero no ha incluido el paréntesis de cierre ")". Algunas expresiones deben encerrarse entre paréntesis de apertura y de cierre.

Para corregir este error

  • Agregue el paréntesis de cierre derecho ")" a la expresión que evaluar.

Consulte también

Precedencia de operadores


Se esperaba 'Select'

Ha creado una construcción Select…End Select, pero no incluyó la instrucción final End Select. El siguiente ejemplo ilustra el uso correcto de la construcción Select…End Select.

Select Case expresiónPrueba
   [Case listaExpresiones-n
      [instrucciones-n]] . . .
   [Case Else listaExpresiones-n
      [instruccionesElse-n]]
End Select

Para corregir este error

  • Asegúrese de que la construcción Select…End Select incluye todos los componentes necesarios.

Consulte también

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


Se esperaba una instrucción

La cadena que ha pasado como un argumento a la instrucción Execute no puede analizarse como una instrucción. La instrucción Execute sólo se puede utilizar para ejecutar dinámicamente el código de VBScript. Por ejemplo, considere el siguiente código de VBScript.

Execute "msgbox 1"  'Funciona correctamente porque msgbox es una instrucción.
Execute "5*4"       'Producirá un error, ya que 5*4 no puede interpretarse como una instrucción.

Las instrucciones Execute y Eval no son las únicas causas de Se esperaba una instrucción, este error también puede generarse durante la compilación de cualquier código de secuencia de comandos que espere una instrucción. Por ejemplo, el código siguiente provoca este error en Internet Explorer,

<html>
<script language="vbscript">
    5*4
</script>
</html>

Tenga en cuenta que hay dos instrucciones Execute distintas y no relacionadas en VBScript,

  • la instrucción Execute, que compila y ejecuta instrucciones de forma inmediata,
  • el método Execute del objeto Regular Expression.

Para corregir este error

  • Confirme que la cadena que se está pasando a Execute es una instrucción.
  • Si la cadena que desea evaluar es una expresión, use Eval.

Consulte también

Instrucción Execute | Instrucción Eval


Se esperaba 'Sub'

Ha creado un procedimiento Sub , pero lo ha finalizado con la palabra clave End, en lugar de la instrucción End Sub. Los procedimientos Sub siempre deben incluir una instrucción final End Sub.

Para corregir este error

  • Finalice los procedimientos Sub con una instrucción End Sub.

Consulte también

Instrucción Sub | Instrucción Call | Instrucción Dim | Instrucción Exit | Instrucción Function


Se esperaba 'Then'

Ha creado una construcción If...Then...Else, pero no incluyó la palabra clave Then en la primera línea. El siguiente ejemplo ilustra la estructura correcta de una construcción If...Then...Else.

If condición Then instrucciones [Else instruccionesElse ]

O bien, puede utilizar la sintaxis de forma de bloque:

If condición Then
   [instrucciones]
[ElseIf condición-n Then
   [instruccionesElseIf]] . . .
[Else
   [instruccionesElse]]
End If

Para corregir este error

  • Asegúrese de que la construcción If...Then...Else incluye todos los componentes necesarios.

Consulte también

Instrucción If...Then...Else | Instrucción Select Case | Usar instrucciones condicionales


Se esperaba 'To'

Ha creado un bucle For...Next, pero no incluyó la palabra clave To en la primera línea. La primera línea de un bucle For...Next debe incluir la palabra clave To. El siguiente ejemplo ilustra la estructura correcta de un bucle For...Next.

For contador = inicio To fin [Step paso]
    [instrucciones]
    [Exit For]
    [instrucciones]
Next

Para corregir este error

  • Asegúrese de que el bucle For...Next incluye todos los componentes necesarios.

Consulte también

Instrucción For...Next | Instrucción For Each...Next | Instrucción Do...Loop | Instrucción Exit | Instrucción For...Next | Instrucción While...Wend


Se esperaba 'Wend'

Ha creado un bucle While…Wend, pero no lo terminó correctamente. Los bucles While…Wend deben finalizarse con una instrucción Wend asociada. El siguiente ejemplo ilustra la estructura correcta de un bucle While…Wend.

While condición
   Version [instrucciones]
Wend

Para corregir este error

  • Asegúrese de que el bucle While…Wend incluye todos los componentes necesarios.

Consulte también

Ejecutar código en bucle | Instrucción While...Wend | Instrucción Do...Loop | Instrucción For...Next | Instrucción For Each...Next | Instrucción Exit


Se esperaba 'While' o 'Until'

Ha creado un bucle Do, pero no incluyó las palabras claves asociadas While o Until. La condición de prueba de un bucle Do requiere una palabra clave While o Until en la instrucción de condición de prueba. El siguiente ejemplo ilustra la estructura correcta de un bucle Do.

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]

Para corregir este error

  • Asegúrese de que el bucle Do incluye todos los componentes necesarios.

Consulte también

Ejecutar código en bucle |Instrucción Do...Loop | Instrucción For...Next | Instrucción For...Next | Instrucción While...Wend | Instrucción Exit


Se esperaba 'While', 'Until' o final de instrucción

Ha creado un bucle Do, pero no incluyó las palabras claves asociadas While o Until. La condición de prueba de un bucle Do requiere una palabra clave While o Until en la instrucción de la condición de prueba. El siguiente ejemplo ilustra la estructura correcta de un bucle Do.

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]

Para corregir este error

  • Asegúrese de que el bucle Do incluye todos los componentes necesarios.
  • Termine el bucle Do con las palabras claves While o Until.

Consulte también

Ejecutar código en bucle |Instrucción Do...Loop | Instrucción For...Next | Instrucción For...Next | Instrucción While...Wend | Instrucción Exit


Se esperaba 'With'

Ha creado un bloque With, pero lo ha finalizado con la palabra clave End, en lugar de la instrucción End With. Los bloques With deben terminarse con una instrucción End With asociada. El siguiente ejemplo ilustra la composición correcta de un bloque With.

With objeto
   instrucciones
End With

Para corregir este error

  • Si ha terminado el bloque With con la palabra clave End, cámbielo por la instrucción End With.
  • Asegúrese de que la estructura de control With incluye todos los componentes necesarios.

Consulte también

Usar instrucciones condicionales | Instrucción With | Instrucción Set | Instrucción If...Then...Else | Instrucción Select Case


No se encontró el nombre del archivo o de la clase durante la operación de Automatización

Ha utilizado la función GetObject, pero ha suministrado una clase o un nombre de archivo no reconocible como parámetro. La función GetObject requiere una ruta de acceso completa y el nombre del archivo que contiene el objeto que se va a recuperar, o el nombre de una clase registrada con el sistema.

Para corregir este error

  • Compruebe si hay errores de escritura en los nombres y vuelva a intentarlo.
  • Asegúrese de que el nombre utilizado para el parámetro clase coincide con el nombre registrado en el sistema

Consulte también

Función GetObject | Función CreateObject


Bucle For no inicializado

La secuencia de ejecución de la secuencia de comandos ha saltado a la mitad de un bucle For…Next. Esto provoca un error, ya que los contadores del bucle For…Next deben inicializarse. El siguiente ejemplo ilustra la estructura correcta de un bucle For…Next.

For contador = inicio To fin [Step paso]
    [instrucciones]
    [Exit For]
    [instrucciones]
Next

Para corregir este error

  • Quite el salto al bucle For…Next.
  • Asegúrese de que el bucle For…Next incluye todos los componentes necesarios.

Consulte también

Ejecutar código en bucle | Instrucción For...Next | Instrucción Do...Loop | Instrucción Exit | Instrucción For Each...Next | Instrucción While...Wend


Identificador demasiado largo

Ha creado un nombre de variable o función que contiene demasiados caracteres. El límite son 255 caracteres.

Para corregir este error

  • Elija un nombre más corto.

Consulte también

Variables de VBScript | Tipos de datos de VBScript | Instrucción Dim | Instrucción Public | Instrucción Private


Asignación no válida

Ha intentado utilizar un identificador de sólo lectura en el lado izquierdo de una operación de asignación. No puede asignar un valor a un identificador de sólo lectura.

Para corregir este error

  • Use identificadores de sólo lectura únicamente en el lado derecho de las operaciones de asignación.

Consulte también

Operador de asignación (=) | Operadores de comparación | Precedencia de operadores | Resumen de operadores | Instrucción Set


Error interno

Se ha producido un error interno.

Para corregir este error

  • A menos que el método Raise generara esta llamada, póngase en contacto con el Servicio de soporte técnico de Microsoft para informar de las condiciones en las que apareció este mensaje de error.

Consulte también

Método Raise


Carácter no válido

Ha intentado usar el Juego de caracteres de doble byte (DBCS, Double Byte Character Set) u otro tipo de caracteres no admitidos en una expresión.

Para corregir este error

  • Encierre los caracteres no admitidos entre corchetes [ ].

Consulte también

©2000 Microsoft Corporation. Reservados todos los derechos.


Instrucción 'Exit' no válida

Ha utilizado una instrucción Exit dentro de una de las siguientes construcciones de control de programa:

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

Las instrucciones Exit únicamente pueden utilizarse para salir de las siguientes estructuras:

  • Bucle Do...While(Exit Do).
  • Bucle For...Next(Exit For).
  • Bucle For Each...Next(Exit For).
  • Procedimiento Function(Exit Function).
  • Procedimiento Sub(Exit Sub).

Para corregir este error

  • Quizás haya utilizado incorrectamente Exit If, Exit With o Exit Select.
  • No utilice Exit con las instrucciones If, With o Select.

Consulte también

Instrucción Exit | Instrucción Do...Loop | Instrucción For Each...Next | Instrucción For...Next | Instrucción Function | Instrucción Sub


Variable de control de bucle 'for' no válida

Ha creado un bucle For...Next cuya variable de control coincide con la de un bucle anidado en su interior. Otra posibilidad es que haya creado un bucle For...Next con una variable de control no válida. El siguiente ejemplo ilustra la estructura correcta de un bucle For…Next.

For contador = inicio To fin [Step paso]
    [instrucciones]
    [Exit For]
    [instrucciones]
Next

Para corregir este error

  • Cambie el nombre de la variable de control del bucle For...Next por un nombre único dentro del ámbito del bucle más exterior.

Consulte también

Ejecutar código en bucle | Instrucción For...Next | Instrucción Do...Loop | Instrucción Exit | Instrucción For Each...Next | Instrucción While...Wend


Número no válido

Uno de los valores de la expresión es demasiado grande o está fuera del intervalo.

Para corregir este error

  • Use un valor menor.

Consulte también

Tipos de datos de VBScript | Función VarType


Referencia no válida o sin calificar

Ha intentado usar una instrucción With en un elemento que no era un objeto. La instrucción With sólo se puede utilizar con valores de objeto que no sean null. El siguiente ejemplo ilustra la estructura correcta de un bloque With.

With objeto
   instrucciones
End With

Para corregir este error

  • Especifique un objeto para la instrucción With.

Consulte también

Instrucción With


Imagen no válida

El archivo gráfico que ha intentado cargar tiene un formato no reconocible. Los formatos válidos incluyen mapa de bits (*.bmp), icono (*.ico) y metarchivo de Windows (*.wmf).

Para corregir este error

  • Asegúrese de que el archivo gráfico que desea cargar tiene un formato gráfico válido.

Consulte también

Función LoadPicture


Intervalo no válido en el juego de caracteres

Ha intentado crear una expresión regular con caracteres no válidos. Las expresiones regulares se componen de caracteres alfanuméricos y de metacaracteres.

Para corregir este error

  • Utilice únicamente caracteres válidos para formar la expresión regular.

Consulte también

Objeto Regular Expression (RegExp)


Uso de la palabra clave 'Me' no válido

Ha intentado usar Set para asignar un valor al identificador Me. Me es un identificador reservado, por lo que no puede definirse.

Para corregir este error

  • Cambie el nombre de la variable por un nombre que no sea Me.


Uso no válido de Null

Ha intentado obtener el valor de una variable Variant que es null. Únicamente se puede obtener el valor de variables Variant que sea válido. Null es un subtipo de Variant empleado para indicar que un elemento no contiene datos válidos.

Para corregir este error

  • Asegúrese de que la variable contiene un valor válido.

Consulte también

Función IsNull | Glosario de VBScript


'loop' sin 'do'

Ha creado un bucle Do, pero no lo ha establecido correctamente. Los bucles Do deben iniciarse con una instrucción Do asociada. El siguiente ejemplo ilustra la estructura correcta de un bucle Do.

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]

Para corregir este error

  • Quizás haya intentado eliminar una estructura de control Do sin quitar previamente la instrucción Loop.
  • Asegúrese de que el bucle Do incluye todos los componentes necesarios.

Consulte también

Instrucción Do...Loop | Instrucción Exit | Instrucción For...Next | Instrucción While...Wend


Debe definirse en una clase

Ha creado un procedimiento Property (Property Let, Property Set o Property Get), pero lo ha definido fuera de una definición Class. Los procedimientos Property sólo pueden crearse dentro de clases.

Para corregir este error

  • Asegúrese de definir todos los procedimientos Property Let, Property Set y Property Get dentro de una definición Class.

Consulte también

Instrucción Property Let | Instrucción Property Set | Instrucción Property Get


Debe ser la primera instrucción de la línea

La línea de código de varias instrucciones contenía una instrucción If…Then…Else que, sin embargo, no era la primera instrucción de la línea. If…Then…Else debe ser la primera instrucción en una línea.

Para corregir este error

  • Mueva la instrucción If o Else a una nueva línea.

Consulte también

Instrucción If...Then...Else


Argumento con nombre no encontrado

Ha invocado un procedimiento especificando un argumento determinado, pero dicho procedimiento no se definió de forma que aceptara un argumento con ese nombre. No es posible utilizar argumentos con nombre en una invocación de procedimiento a menos que aparezcan en la definición del procedimiento.

Para corregir este error

  • Compruebe que el nombre del argumento está escrito correctamente e intente volver a invocarlo.

Consulte también

Convenciones de código de VBScript


Nombre redefinido

Ha declarado un identificador con un nombre que ya se ha utilizado en alguna otra parte de la secuencia de comandos.

Para corregir este error

  • Cambie el nombre del identificador por un nombre único dentro del ámbito global de la secuencia de comandos.


El número de argumentos debe ser constante en la especificación de las propiedades

No se ha especificado un número de argumentos suficiente. Los procedimientos Property Let o Property Set deben tener un argumento más que el número de argumentos devuelto por el procedimiento Property Get correspondiente.

Para corregir este error

  • Asegúrese de que los procedimientos Property Let y Property Set tengan como mínimo un argumento más que el procedimiento Property Get.

Consulte también

Instrucción Property Let | Instrucción Property Set | Instrucción Property Get


El objeto no acepta la configuración regional actual

Ha intentado tener acceso a un objeto que no admite la configuración regional actual. La configuración regional es un conjunto de información correspondiente a un idioma y país o región determinado. Afecta al idioma de los términos de programación predefinidos y a los parámetros de configuración regional. Hay dos contextos en los que la información regional es importante:

  • El código de configuración regional afecta al idioma de términos como las palabras claves, además de definir parámetros de configuración regional específicos, como los separadores decimales y de lista, los formatos de fecha y la ordenación del juego de caracteres.
  • La configuración regional del sistema afecta a la manera en que se comporta la funcionalidad relacionada con la configuración regional. Por ejemplo, al mostrar números o convertir cadenas en fechas. Puede definir la configuración regional del sistema mediante las herramientas del Panel del control proporcionadas por el sistema operativo.

Para corregir este error

  • Compruebe qué configuraciones regionales admite el objeto.

Consulte también

Glosario de VBScript | Función CDate


El objeto no acepta esta acción

Ha intentado hacer referencia a una propiedad o método no admitido por este objeto. Algunos objetos no permiten todas las acciones.

Para corregir este error

  • Compruebe las propiedades y métodos para asegurarse de que no se han cometido errores de escritura.
  • Consulte la documentación del objeto para obtener más información.

Consulte también

Usar VBScript con objetos | Función CreateObject | Función GetObject


El objeto no acepta esta propiedad o método

Ha especificado una propiedad o método que no existe para este objeto de automatización. Algunos objetos no admiten todas las propiedades y métodos.

Para corregir este error

  • Compruebe las propiedades y métodos para asegurarse de que no se han cometido errores de escritura.
  • Consulte la documentación del objeto para obtener más información.


El objeto no es una colección

Ha intentado realizar una operación asignada exclusivamente a los objetos Collection, en un objeto que no es de esta clase. Algunas propiedades y métodos sólo se aplican a los objetos Collection. Un objeto Collection es aquel que contiene un conjunto de objetos relacionados. La posición de un objeto dentro de un objeto Collection puede cambiar siempre que el cambio se produzca dentro de la colección; por lo tanto, la posición de cualquier objeto en el objeto Collection puede variar.

Para corregir este error

  • Compruebe que el nombre del objeto o la propiedad está escrito correctamente.
  • Asegúrese de que el objeto es un objeto Collection.
  • Examine el método Add empleado para agregar el objeto a la colección a fin de garantizar que la sintaxis es correcta y que los identificadores se han escrito correctamente.

Consulte también

Colección Drives | Colección Folders | Colección Files | Colección Matches


Objeto no seguro para creación

Ha intentado utilizar un objeto que no se ha marcado como seguro para creación. El host determina qué conjunto de objetos es seguro crear. Por lo general, los objetos que permiten a secuencias de comandos que no son de confianza realizar acciones peligrosas (como tener acceso al disco duro) se consideran inseguros.

Por ejemplo, no es seguro ejecutar FileScriptingObject si se utiliza Microsoft Internet Explorer como cliente, aunque este objeto puede utilizarse en el equipo local con Windows Script Host.

Para corregir este error

  • Asegúrese de que utiliza un objeto seguro.
  • Póngase en contacto con el programador del objeto para averiguar si se trata de una versión segura.
  • Lea la documentación del objeto para averiguar si es seguro.


Objeto no seguro para inicialización

Ha intentado utilizar un objeto que no se ha marcado como seguro para inicialización. El host determina qué conjunto de objetos es seguro crear. Por lo general, los objetos que permiten a secuencias de comandos que no son de confianza realizar acciones peligrosas (como tener acceso al disco duro) se consideran inseguros.

Por ejemplo, no es seguro ejecutar FileScriptingObject si se utiliza Microsoft Internet Explorer como cliente, aunque este objeto puede utilizarse en el equipo local con Windows Script Host.

Para corregir este error

  • Asegúrese de que utiliza un objeto seguro.
  • Póngase en contacto con el programador del objeto para averiguar si se trata de una versión segura.
  • Lea la documentación del objeto para averiguar si es seguro.

Consulte también

Suceso Initialize


Objeto no seguro para secuencias de comandos

Ha intentado utilizar un objeto que no se ha marcado como seguro para secuencias de comandos. El host determina qué conjunto de objetos es seguro crear. Por lo general, los objetos que permiten a secuencias de comandos que no son de confianza realizar acciones peligrosas (como tener acceso al disco duro) se consideran inseguros.

Por ejemplo, no es seguro ejecutar FileScriptingObject si se utiliza Microsoft Internet Explorer como cliente, aunque este objeto puede utilizarse en el equipo local con Windows Script Host.

Para corregir este error

  • Asegúrese de que utiliza un objeto seguro.
  • Póngase en contacto con el programador del objeto para averiguar si se trata de una versión segura.
  • Lea la documentación del objeto para averiguar si es seguro.


Se requiere un objeto

El objeto suministrado no es válido o no se reconoce como objeto. Las referencias a propiedades o métodos a menudo requieren un calificador de objetos explícito.

Para corregir este error

  • Suministre un calificador de objetos.
  • Compruebe que el calificador de objetos está escrito correctamente.


La variable de objeto no está establecida

Ha intentado utilizar una propiedad de objeto sin un objeto válido. Si no incluye la instrucción Set, se generará un error en la referencia al objeto.

Para corregir este error

  • Especifique una referencia para la variable del objeto.

Consulte también

Instrucción Property Set


Memoria insuficiente

Ha asignado toda la memoria disponible en el sistema de este equipo. Esto podría deberse a que el tamaño de una matriz asignada dinámicamente ha aumentado demasiado o a que ha creado instancias de un gran número de objetos.

Para corregir este error

  • Use la instrucción Erase para reasignar el espacio de almacenamiento de las matrices dinámicas.
  • Use la instrucción ReDim para reasignar el espacio de almacenamiento.
  • Cierre todas las aplicaciones, documentos o archivos de origen innecesarios que estén abiertos.

Consulte también

Instrucción Erase | Instrucción Dim | Instrucción Nothing | Instrucción ReDim | Función CreateObject


Espacio de pila insuficiente

Hay demasiados procedimientos anidados a gran profundidad. Cada vez que el código salta a un procedimiento, el contenido de sus variables locales se inserta en la pila. La pila es un área de trabajo de la memoria cuyo tamaño aumenta y se reduce en función de las exigencias de la secuencia de comandos que se ejecuta.

Para corregir este error

  • Asegúrese de que no haya demasiados procedimientos anidados a gran profundidad.
  • Asegúrese de que los procedimientos recursivos (reentrantes) no se llamen entre sí con demasiada frecuencia.
  • Asegúrese de que los procedimientos recursivos terminan correctamente.


Espacio para cadenas insuficiente

Ha intentado crear un objeto String, pero la creación no se ha podido llevar a cabo debido a que ha utilizado toda la memoria del sistema. Esto podría deberse a que el tamaño de una matriz asignada dinámicamente ha aumentado demasiado o a que ha creado instancias de un gran número de objetos.

Para corregir este error

  • Use la instrucción Erase para reasignar el espacio de almacenamiento de las matrices dinámicas.
  • Use la instrucción ReDim para reasignar el espacio de almacenamiento.
  • Cierre todas las aplicaciones, documentos o archivos de origen innecesarios que estén abiertos.

Consulte también

Instrucción Erase | Instrucción Dim | Instrucción Nothing | Instrucción ReDim | Función CreateObject


Desbordamiento

El valor que ha intentado asignar a una variable es demasiado grande. Este error se debe a una de las siguientes causas:

  • El resultado de una asignación, cálculo o conversión de tipo de datos es demasiado grande para representarlo dentro del intervalo de valores permitido para ese tipo de variable.
  • Una asignación de una propiedad supera el valor máximo que la propiedad puede aceptar.
  • Ha intentado usar un número en un cálculo y este número se ha convertido en un entero, pero el resultado es mayor que un entero.

Para corregir este error

  • Asigne el valor a un tipo de variable que admita un intervalo de valores mayor.
  • Asegúrese de que la asignación se ajusta al intervalo de la propiedad para la que se ha creado.

Consulte también

Variables de VBScript | Err


Set o Let debe tener al menos un argumento para la propiedad

Ha especificado un descriptor de acceso de propiedad al controlador Set de Let para una clase sin argumentos.

Para corregir este error

  • Agregue un argumento al descriptor de acceso de la propiedad.

Consulte también

Instrucción Property Let | Instrucción Property Set | Instrucción Property Get | Instrucción Class


No se ha definido Sub o Function

Ha intentado invocar un procedimiento que no existe.

Para corregir este error

  • Compruebe la sintaxis del procedimiento y asegúrese de que está escrito correctamente.

Consulte también

Instrucción Sub | Instrucción Function


Subíndice fuera del intervalo

La matriz a la que está intentando tener acceso contiene menos elementos de los previstos. Por ejemplo, podría intentar tener acceso al undécimo elemento de una matriz con espacio para diez elementos.

Para corregir este error

  • Asegúrese de que el código comprueba los límites para garantizar que no se haga referencia a aquellos elementos que superen el alcance de la matriz.
  • Aumente las dimensiones de la matriz a un tamaño que se ajuste a sus necesidades.

Consulte también

Función UBound | Función LBound | Instrucción Dim | Instrucción ReDim


Error de sintaxis

Ha creado una instrucción que infringe una o varias reglas gramaticales de VBScript.

Para corregir este error

  • Vuelva a comprobar el número de elementos que componen la expresión.
  • Busque corchetes colocados erróneamente.

Consulte también

Tipos de datos de VBScript | Variables de VBScript | Constantes de VBScript | Operadores de VBScript | Usar instrucciones condicionales | Ejecutar código en bucle | Procedimientos de VBScript | Convenciones de código de VBScript


Error de sintaxis en expresión regular

La estructura de la cadena de búsqueda infringe una o varias reglas gramaticales de una expresión regular de VBScript.

Para corregir este error

  • Compruebe que la estructura de la cadena de búsqueda de la expresión regular cumple la sintaxis de las expresiones regulares de Perl.

Consulte también

Objeto Regular Expression (RegExp)


No coinciden los tipos

Ha intentado comparar valores de tipos de datos incompatibles. Por ejemplo, una cadena con un valor numérico.

Para corregir este error

  • Asegúrese de que los tipos de datos coinciden al realizar las comparaciones.
  • Convierta uno de los valores al tipo de datos del otro y vuelva a realizar la comparación.

Consulte también

Variables de VBScript


Se esperaba 'Next'

Ha creado una construcción For…Next o For Each...Next, pero no incluyó la instrucción For. Por ejemplo, al intentar quitar una construcción For...Next, puede no haber quitado la instrucción Next. El siguiente ejemplo ilustra la estructura correcta de la construcción For...Next.

For contador = inicio To fin [Step paso]
    [instrucciones]
    [Exit For]
    [instrucciones]
Next

Para corregir este error

  • Agregue la instrucción For (instrucción de control del bucle).
  • Quite la instrucción Next sobrante.

Consulte también

Instrucción For...Next | Instrucción For Each...Next | Ejecutar código en bucle | Instrucción Exit


Cuantificador inesperado

Al componer el patrón de búsqueda de una expresión regular, no especificó correctamente la cadena de búsqueda.

Para corregir este error

  • Compruebe que el patrón de búsqueda está construido correctamente.

Consulte también

Objeto Regular Expression (RegExp)


Constante de cadena sin terminar

No finalizó la constante de cadena con una comilla de cierre. Las constantes de cadena deben ir encerradas entre un par de comillas.

Para corregir este error

  • Agregue la comilla de cierre al final de la cadena.

Consulte también

Constantes de VBScript


Variable no definida

Ha utilizado una instrucción Option Explicit al comienzo de la secuencia de comandos, pero posteriormente ha intentado usar un nombre de variable no declarado. Cuando utiliza la instrucción Option Explicit, debe declarar explícitamente todas las variables mediante las instrucciones Dim, Private, Public o ReDim.

Para corregir este error

  • Cuando utilice la instrucción Option Explicit, asegúrese de declarar explícitamente todas las variables mediante las instrucciones Dim, Private, Public o ReDim.

Consulte también

Instrucción Option Explicit | Variables de VBScript


La variable utiliza un tipo de Automatización no aceptado en VBScript

Ha intentado utilizar un tipo de datos no admitido desde una biblioteca de tipos u objetos. No puede utilizar todas las variables que aparecen en las bibliotecas de tipos u objetos en todos los lenguajes de programación.

Para corregir este error

  • Utilice únicamente tipos de variable reconocidos por VBScript.

Consulte también

Variables de VBScript | Constantes VarType


Número de argumentos erróneo o asignación de propiedad no válida

Ha invocado un procedimiento, pero ha utilizado:

  • un nombre de procedimiento incorrecto

o bien

  • un número de argumentos erróneo para este procedimiento

o bien

  • tipos de argumento incorrectos.

El número de argumentos pasados a un procedimiento debe coincidir con el número de parámetros de la definición del procedimiento.

Para corregir este error

  • Compruebe que la lista de argumentos que está pasando al procedimiento coincide con la de la declaración o la definición del procedimiento.

Consulte también

Instrucción Function | Instrucción Sub | Instrucción Call


Método RemoveAll

El método RemoveAll quita todas las claves o pares de elementos de un objeto Dictionary.

objeto.RemoveAll

El object es siempre el nombre de un objeto Dictionary.

Comentarios

La siguiente porción de código ilustra el uso del método RemoveAll:

Dim a, d, i   ' Crea algunas variables.
Set d = CreateObject("Scripting.Dictionary")
d.Add "a", "Atenas"   ' Agrega algunas claves y elementos.
d.Add "b", "Belgrado"
d.Add "c", "El Cairo"
...
a = d.RemoveAll   ' Borra el diccionario.

Consulte también

Add (Dictionary, método) | Exists (método) | Items (método) | Keys (método) | Remove (método)

Se aplica a: Dictionary (objeto)


Objeto TextStream

Facilita el acceso secuencial a un archivo.

Comentarios

En la siguiente porción de código, a es el objeto TextStream devuelto por el método CreateTextFile en el FileSystemObject:

Dim fso, MiArchivo
Set fso = CreateObject("Scripting.FileSystemObject")
Set MiArchivo= fso.CreateTextFile("c:\archivoPrueba.txt", True)

MiArchivo.WriteLine("Esto es una prueba.")
MiArchivo.Close

WriteLine y Close son dos métodos del objeto TextStream.

Propiedades

AtEndOfLine (propiedad) | AtEndOfStream (propiedad) | Column (propiedad) | Line (propiedad)

Métodos

Close (método) | Read (método) | ReadAll (método) | ReadLine (método) | Skip (método) | SkipLine (método) | Write (método) | WriteLine (método) | WriteBlankLines (método)

Consulte también

Dictionary (objeto) | FileSystemObject (objeto)


Argumento o llamada a procedimiento no válida

Ha pasado un parámetro no válido en la llamada a procedimiento. Esto podría deberse a que el parámetro estaba fuera de intervalo o contenía datos no válidos. Otra posibilidad es que haya invocado un procedimiento en un momento inesperado.

Para corregir este error

  • Compruebe que los parámetros que se están pasando al procedimiento son válidos.
  • Compruebe que está llamando a la función en un momento apropiado.


El servidor remoto no existe o no está disponible

Ha utilizado la función CreateObject para crear un objeto en un equipo remoto, pero se ha producido un error en la llamada. El error se debe a que el servidor remoto no estaba disponible o no contenía la clase especificada.

Para corregir este error

  • Compruebe que el nombre del servidor remoto es correcto.
  • Compruebe que el servidor remoto tiene habilitado DCOM.
  • Mediante la aplicación dcomcnfg, compruebe que los permisos de seguridad permiten la creación del objeto.


Glosario de VBScript

ámbito

Define la visibilidad de una variable, procedimiento u objeto. Por ejemplo, una variable declarada como Public es visible para todos los procedimientos en todos los módulos. Las variables declaradas en procedimientos son visibles sólo dentro del procedimiento y pierden su valor entre llamadas.

argumento

Constante, variable o expresión que se pasa a un procedimiento.

biblioteca de tipos

Archivo o componente dentro de otro archivo que contiene descripciones estándar de objetos expuestos, propiedades y métodos.

clase

Definición formal de objeto. La clase actúa como la plantilla para la que se crea una instancia de un objeto en tiempo de ejecución. La clase define las propiedades del objeto y los métodos utilizados para controlar el comportamiento del objeto.

código de carácter

Número que representa un carácter particular en un conjunto, tal como el conjunto de caracteres ASCII.

colección

Objeto que contiene un conjunto de objetos relacionados. La posición de un objeto de la colección puede cambiar siempre que ocurra un cambio en la colección; por lo tanto, la posición de cualquier objeto específico de la colección puede variar.

comentario

Texto agregado al código por un programador que explica cómo funciona el código. En Visual Basic Edición Scripting, una línea de comentario comienza generalmente con un apóstrofe ('), o puede utilizar la palabra clave Rem seguida de un espacio.

como referencia

Modo de pasar la dirección, en vez del valor, de un argumento a un procedimiento. Esto permite al procedimiento tener acceso a la variable real. Como resultado, el valor de la variable real puede ser cambiado por el procedimiento al que se ha pasado.

como valor

Modo de pasar el valor, en vez de la dirección, de un argumento a un procedimiento. Esto permite al procedimiento tener acceso a una copia de la variable. Como resultado, el valor real de la variable no puede ser cambiado por el procedimiento al que se ha pasado.

comparación de cadena

Comparación de dos secuencias de caracteres. A no ser que se especifique en la función que realiza la comparación, todas las comparaciones de cadena son binarias. En inglés, las comparaciones binarias distinguen mayúsculas y minúsculas; las comparaciones de texto no.

comparación en modo de bit

Una comparación bit a bit de bits ubicados de manera idéntica en dos expresiones numéricas.

conjunto de caracteres ASCII

Juego de caracteres de 7 bits del Código Estándar Americano para el Intercambio de Información (ASCII) utilizado ampliamente para representar letras y símbolos encontrados en el teclado estándar estadounidense. El conjunto de caracteres ASCII es el mismo que los primeros 128 caracteres (0–127) del conjunto de caracteres ANSI.

constante

Elemento con nombre que retiene un valor constante a lo largo de la ejecución de un programa. Las constantes se pueden utilizar en cualquier parte de su código en lugar de valores reales. Una constante puede ser una cadena o literal numérico, otra constante o cualquier combinación que incluya operadores aritméticos o lógicos excepto Is y exponenciación. Por ejemplo:

Const A = "MiCadena"

constante intrínseca

Constante proporcionada por una aplicación. Debido a que no puede deshabilitar constantes intrínsecas, no puede crear una constante definida por el usuario con el mismo número.

control ActiveX

Objeto que se ubica en un formulario para permitir o mejorar la interacción del usuario con una aplicación. Los controles ActiveX tienen eventos y se pueden incorporar a otros controles. Los controles tienen una extensión de nombre de archivo .ocx.

Empty

Valor que indica que no se ha asignado ningún valor de inicio a una variable. Las variables Empty valen 0 en un contexto numérico o tienen longitud cero en un contexto de cadena.

error en tiempo de ejecución

Un error que ocurre cuando se ejecuta código. Un error en tiempo de ejecución se produce cuando una instrucción intenta una operación no válida.

expresión numérica

Cualquier expresión que pueda ser evaluada como un número. Los elementos de la expresión pueden incluir cualquier combinación de palabras clave, variables, constantes y operadores que den como resultado un número.

expresión

Combinación de palabras clave, operadores, variables y constantes que devuelven una cadena, número u objeto. Una expresión puede realizar un cálculo, manipular caracteres o probar datos.

expresión booleana

Expresión que evalúa como True o False.

expresión de cadena

Cualquier expresión que evalúa como secuencia de caracteres contiguos. Los elementos de una expresión de cadena pueden incluir una función que devuelve una cadena, un literal de cadena, una constante de cadena o una variable de cadena.

expresión de fecha

Cualquier expresión que se pueda interpretar como una fecha. Esto incluye cualquier combinación de literales de fecha, números que parecen fechas, cadenas que parecen fechas y fechas devueltas desde funciones. Una expresión de fecha está limitada a números de cadenas, en cualquier combinación, que pueda representar una fecha desde el 1 de enero del año 100 hasta el 31 de diciembre del año 9999.

Las fechas se guardan como parte de un número real. Los valores a la izquierda del decimal representan la fecha; los valores a la derecha del decimal representan la hora. Los números negativos representan las fechas anteriores al 30 de diciembre de 1899.

inicialización (seed)

Valor inicial utilizado para generar números pseudoaleatorios. Por ejemplo, la instrucción Randomize crea un número de inicialización utilizado por la función Rnd para crear secuencias de números pseudoaleatorios únicos.

intervalos de datos

Cada subtipo de variante tiene un intervalo específico de valores permitidos:

Subtipo | Intervalo
Byte | De 0 a 255.
Boolean | True o False.
Integer | De -32.768 a 32.767.
Long | De -2.147.483.648 a 2.147.483.647.
Single | De -3,402823E38 a -1,401298E-45 para valores negativos y de 1,401298E-45 a 3,402823E38 para valores positivos.
Double | De -1,79769313486232E308 a -4,94065645841247E-324 para valores negativos y de 4,94065645841247E-324 a 1,79769313486232E308 para valores positivos.
Currency | De -922.337.203.685.477,5808 a 922.337.203.685.477,5807.
Date | Del 1 de enero del año 100 al 31 de diciembre del año 9999, ambas fechas inclusive.
Object | Cualquier referencia de Object.
String | Las cadenas de longitud variable pueden oscilar entre 0 y aproximadamente 2 mil millones de caracteres.

literal de fecha

Cualquier secuencia de caracteres con un formato válido que esté rodeado por signos de número (#). Los formatos válidos incluyen el formato de fecha especificado por la configuración regional para su código o el formato de fecha universal. Por ejemplo, #12/31/99# es el literal de fecha que representa el 31 de diciembre de 1999, donde Inglés-EE.UU. es la configuración regional para su aplicación.

VBScript siempre interpreta un literal de fecha como INGLÉS-EE.UU. si es posible hacerlo. Si un literal de fecha no se puede interpretar como una fecha, se produce un error.

local

Conjunto de información que corresponde a un idioma y país concretos. Un local afecta al idioma de configuraciones regionales y términos de programación predefinidos. Existen dos contextos en los que la información local es importante:

  • El local del código afecta a elementos del lenguaje de términos tales como palabras clave y define configuraciones regionales tales como el separador decimal y de lista, formatos de fecha y orden de caracteres.
  • El local del sistema afecta el modo en que se comporta la funcionalidad que detecta el local, por ejemplo, al mostrar números o convertir cadenas en fechas. El local del sistema se establece con las utilidades del Panel de Control proporcionadas por el sistema operativo.

matriz

Conjunto de elementos indizados secuencialmente que tienen el mismo tipo de datos. Cada elemento de una matriz tiene un número de índice de identificación único. Los cambios realizados a un elemento de una matriz no afectan a los otros elementos.

módulo de clase

Módulo que contiene la definición de una clase (definiciones de su propiedad y método).

nivel de procedimiento

Describe instrucciones ubicadas dentro de un procedimiento Function o Sub. Las declaraciones normalmente se muestran en primer lugar, seguidas por asignaciones y otros códigos ejecutables. Por ejemplo:

Sub MiSub() ' Esta instrucción declara un bloque de subprocedimiento.
   Dim A ' Esta instrucción inicia el bloque de procedimiento.
   A = "Mi variable" ' Código de nivel de procedimiento.
   Debug.Print A ' Código de nivel de procedimiento.
End Sub ' Esta instrucción finaliza un bloque de subprocedimiento.

Tenga en cuanta que el código de nivel de secuencia de comandos reside fuera de cualquier bloque de procedimiento.

nivel de secuencia de comandos

Cualquier código fuera de un procedimiento se llama código de nivel de secuencia de comandos.

Nothing

Valor especial que indica que una variable de objeto ya no está asociada con ningún objeto real.

Null

Valor que indica que una variable no contiene ningún dato válido. Null es el resultado de:

  • Una asignación explícita de Null a una variable.
  • Cualquier operación entre expresiones que contengan Null.

número de error

Número entero dentro del intervalo de 0 a 65535, ambos valores inclusive, que corresponde a la propiedad Number del objeto Err. Cuando se combina con la propiedad Name del objeto Err, este número representa un mensaje de error particular.

objeto ActiveX

Objeto que se expone a otras aplicaciones o herramientas de programación a través de interfaces de automatización.

objeto de automatización

Objeto que se expone a otras aplicaciones o herramientas de programación a través de interfaces de automatización.

operador de comparación

Carácter o símbolo que indica una relación entre dos o más valores o expresiones. Estos operadores incluyen menor que (<), menor o igual que (<=), mayor que (>), mayor o igual que (>=), distinto que (<>) e igual que (=).

Is es también un operador de comparación, pero se utiliza exclusivamente para determinar si la referencia de un objeto es la misma que otra.

palabra clave

Palabra o símbolo reconocido como parte del lenguaje VBScript; por ejemplo, una instrucción, un nombre de función o un operador.

pi

Pi es una constante matemática aproximadamente igual a 3,1415926535897932.

Private

Variables que son visibles sólo para la secuencia de comandos en la que se han declarado.

procedimiento

Secuencia de instrucciones con nombre que se ejecuta como una unidad. Por ejemplo, Function y Sub son tipos de procedimientos.

propiedad

Atributo con nombre de un objeto. Las propiedades definen características del objeto tales como tamaño, color y ubicación de pantalla, o el estado de un objeto, tal como habilitado o deshabilitado.

Public

Las variables declaradas con la instrucción Public son visibles para todos los procedimientos en todos los módulos de todas las aplicaciones.

SCODE

Valor de número entero largo que se utiliza para pasar información detallada de un miembro de la interfaz o función API al que llama. Los códigos de estado para interfaces OLE y API están definidas en FACILITY_ITF.

separadores de fecha

Caracteres utilizados para separar el día, mes y año cuando se da formato a los valores de fecha.

tiempo de ejecución

El tiempo en que se ejecuta el código. Durante el tiempo de ejecución, no se puede modificar el código.

tipo de objeto

Tipo de objeto expuesto por una aplicación, por ejemplo, Application, File, Range y Sheet. Remítase a la documentación de la aplicación (Microsoft Excel, Microsoft Project, Microsoft Word, etc.) para obtener una lista completa de objetos disponibles.

variable

Una ubicación de almacenamiento con nombre que puede contener datos que se pueden modificar durante la ejecución del programa. Cada variable tiene un nombre que le identifica de forma única dentro de su nivel de ámbito.

Los nombres de variables:

  • Deben comenzar por un carácter alfabético.
  • No pueden contener un punto o carácter de declaración de tipo.
  • Deben ser únicos dentro del mismo ámbito.
  • No pueden tener más de 255 caracteres de longitud.


Información de la versión

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

Aplicación host | 1.0 | 2.0 | 3.0 | 4.0 | 5.0
Microsoft 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

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.

Elemento del lenguaje | 1.0 | 2.0 | 3.0 | 4.0 | 5.0
Abs (función) | x |  |  |  |
Suma (operador) (+) | x |  |  |  |
And (operador) | x |  |  |  |
Array (función) |  | x |  |  |
Asc (función) | x |  |  |  |
Asignación (operador) (=) | x |  |  |  |
Atn (función) | x |  |  |  |
Call (instrucción) | x |  |  |  |
CBool (función) | x |  |  |  |
CByte (función) | x |  |  |  |
CCur (función) | x |  |  |  |
CDate (función) | x |  |  |  |
CDbl (función) | x |  |  |  |
Chr (función) | x |  |  |  |
CInt (función) | x |  |  |  |
Class (objeto) |  |  |  |  | x
Class (instrucción) |  |  |  |  | x
Clear (método) | x |  |  |  |
CLng (función) | x |  |  |  |
Color (constantes) |  | x |  |  |
Comparación (constantes) |  | x |  |  |
Concatenación (operador) (&) | x |  |  |  |
Const (instrucción) |  | x |  |  |
Cos (función) | x |  |  |  |
CreateObject (función) |  | x |  |  |
CSng (función) | x |  |  |  |
CStr (función) | x |  |  |  |
Fecha y hora (constantes) |  | x |  |  |
Formato de fecha (constantes) |  | x |  |  |
Date (función) | x |  |  |  |
DateAdd (función) |  | x |  |  |
DateDiff (función) |  | x |  |  |
DatePart (función) |  | x |  |  |
DateSerial (función) | x |  |  |  |
DateValue (función) | x |  |  |  |
Day (función) | x |  |  |  |
Description (propiedad) | x |  |  |  |
Dim (instrucción) | x |  |  |  |
División (operador) (/) | x |  |  |  |
Do...Loop (instrucción) | x |  |  |  |
Empty | x |  |  |  |
Eqv (operador) | x |  |  |  |
Erase (instrucción) | x |  |  |  |
Err (objeto) | x |  |  |  |
Eval (función) |  |  |  |  | x
Execute (método) |  |  |  |  | x
Execute (instrucción) |  |  |  |  | x
ExecuteGlobal (instrucción) |  |  |  |  | x
Exit (instrucción) | x |  |  |  |
Exp (función) | x |  |  |  |
Exponenciación (operador) (^) | x |  |  |  |
False | x |  |  |  |
Filter (función) |  | x |  |  |
FirstIndex (propiedad) |  |  |  |  | x
Fix (función) | x |  |  |  |
For...Next (instrucción) | x |  |  |  |
For Each...Next (instrucción) |  | x |  |  |
FormatCurrency (función) |  | x |  |  |
FormatDateTime (función) |  | x |  |  |
FormatNumber (función) |  | x |  |  |
FormatPercent (función) |  | x |  |  |
Function (instrucción) | x |  |  |  |
GetLocale (función) |  |  |  |  | x
GetObject (función) |  | x |  |  |
GetRef (función) |  |  |  |  | x
Global (propiedad) |  |  |  |  | x
Hex (función) | x |  |  |  |
HelpContext (propiedad) |  | x |  |  |
HelpFile (propiedad) |  | x |  |  |
Hour (función) | x |  |  |  |
If...Then...Else (instrucción) | x |  |  |  |
IgnoreCase (propiedad) |  |  |  |  | x
Imp (operador) | x |  |  |  |
Initialize (evento) |  |  |  |  | x
InputBox (función) | x |  |  |  |
InStr (función) | x |  |  |  |
InStrRev (función) |  | x |  |  |
Int (función) | x |  |  |  |
División de número entero (operador) (\) | x |  |  |  |
Is (operador) | x |  |  |  |
IsArray (función) | x |  |  |  |
IsDate (función) | x |  |  |  |
IsEmpty (función) | x |  |  |  |
IsNull (función) | x |  |  |  |
IsNumeric (función) | x |  |  |  |
IsObject (función) | x |  |  |  |
Join (función) |  | x |  |  |
LBound (función) | x |  |  |  |
LCase (función) | x |  |  |  |
Left (función) | x |  |  |  |
Len (función) | x |  |  |  |
Length (propiedad) |  |  |  |  | x
LoadPicture (función) |  | x |  |  |
Log (función) | x |  |  |  |
LTrim (función) | x |  |  |  |
Match (objeto) |  |  |  |  | x
Matches (colección) |  |  |  |  | x
Mid (función) | x |  |  |  |
Minute (función) | x |  |  |  |
Constantes varias |  | x |  |  |
Mod (operador) | x |  |  |  |
Month (función) | x |  |  |  |
MonthName (función) |  | x |  |  |
MsgBox (constantes) |  | x |  |  |
MsgBox (función) | x |  |  |  |
Multiplicación (operador) (*) | x |  |  |  |
Negación (operador) (-) | x |  |  |  |
Not (operador) | x |  |  |  |
Now (función) | x |  |  |  |
Nothing | x |  |  |  |
Null | x |  |  |  |
Number (propiedad) | x |  |  |  |
Oct (función) | x |  |  |  |
On Error (instrucción) | x |  |  |  |
Option Explicit (instrucción) | x |  |  |  |
Or (operador) | x |  |  |  |
Pattern (propiedad) |  |  |  |  | x
Private (instrucción) |  | x |  |  |
PropertyGet (instrucción) |  |  |  |  | x
PropertyLet (instrucción) |  |  |  |  | x
PropertySet (instrucción) |  |  |  |  | x
Public (instrucción) |  | x |  |  |
Raise (método) | x |  |  |  |
Randomize (instrucción) | x |  |  |  |
ReDim (instrucción) | x |  |  |  |
RegExp (objeto) |  |  |  |  | x
Rem (instrucción) | x |  |  |  |
Replace (función) |  | x |  |  |
Replace (método) |  |  |  |  | x
RGB (función) |  | x |  |  |
Right (función) | x |  |  |  |
Rnd (función) | x |  |  |  |
Round (función) |  | x |  |  |
RTrim (función) | x |  |  |  |
ScriptEngine (función) |  | x |  |  |
ScriptEngineBuildVersion (función) |  | x |  |  |
ScriptEngineMajorVersion (función) |  | x |  |  |
ScriptEngineMinorVersion (función) |  | x |  |  |
Second (función) | x |  |  |  |
Select Case (instrucción) | x |  |  |  |
Set (instrucción) | x |  |  |  |
SetLocale (función) |  |  |  |  | x
Sgn (función) | x |  |  |  |
Sin (función) | x |  |  |  |
Source (propiedad) | x |  |  |  |
Space (función) | x |  |  |  |
Split (función) |  | x |  |  |
Sqr (función) | x |  |  |  |
StrComp (función) | x |  |  |  |
String Constants |  | x |  |  |
String (función) | x |  |  |  |
StrReverse (función) |  | x |  |  |
Sub (instrucción) | x |  |  |  |
Resta (operador) (-) | x |  |  |  |
Tan (función) | x |  |  |  |
Terminate Event |  |  |  |  | x
Test (método) |  |  |  |  | x
Time (función) | x |  |  |  |
Timer (función) |  |  |  |  | x
TimeSerial (función) | x |  |  |  |
TimeValue (función) | x |  |  |  |
Trim (función) | x |  |  |  |
Tristate (constantes) |  | x |  |  |
True | x |  |  |  |
TypeName (función) |  | x |  |  |
UBound (función) | x |  |  |  |
UCase (función) | x |  |  |  |
Value (propiedad) |  |  |  |  | x
VarType (constantes) |  | x |  |  |
VarType (función) | x |  |  |  |
VBScript (constantes) |  | x |  |  |
Weekday (función) | x |  |  |  |
WeekdayName (función) |  | x |  |  |
While...Wend (instrucción) | x |  |  |  |
With (instrucción) |  |  |  |  | x
Xor (operador) | x |  |  |  |
Year (función) | x |  |  |  |


Validación simple

Escriba un valor entre 1 y 10:


Una primera página sencilla


Referencia de la biblioteca de tiempo de ejecución de VBScript

Microsoft® Visual Basic® Scripting Edition
Referencia de la
biblioteca de tiempo
de ejecución de
secuencias de comandos

Información
de características
Lista de palabras clave
por orden alfabético
Constantes
Métodos
Objetos
Propiedades

© 2000 Microsoft Corporation. Reservados todos los derechos.


Ejemplo de objeto

Esta página requiere la instalación del control Label .


Referencia del lenguaje VBScript

Microsoft® Visual Basic® Scripting Edition
Referencia del lenguaje VBScript

Información
de características
Lista de palabras clave
por orden alfabético
Constantes
Errores
Eventos
Funciones
Métodos
Objetos
Operadores
Propiedades
Instrucciones