Windows VBScript

VBScript (Visual Basic Scripting Edition) es un lenguaje de scripting desarrollado por Microsoft que se utiliza para automatizar tareas en el sistema operativo Windows y aplicaciones compatibles. VBScript es un lenguaje ligero, fácil de aprender y poderoso, que permite a los usuarios crear scripts para realizar tareas repetitivas, administrar sistemas y mejorar la eficiencia en el entorno Windows.

Esta guía completa está diseñada para ayudarte a familiarizarte con los comandos y funciones más importantes de VBScript. Ya sea que estés comenzando o buscando profundizar tus conocimientos, esta guía te servirá como referencia esencial para aprovechar al máximo VBScript en tus proyectos.


Lista de Comandos y Funciones de VBScript

A continuación, encontrarás una lista alfabética de los comandos y funciones más utilizados en VBScript, junto con sus descripciones y usos principales.

A

  • Abs(number): Devuelve el valor absoluto (positivo) de un número. Útil para obtener la magnitud de un valor numérico sin tener en cuenta su signo.
  • AppActivate: Activa una ventana de aplicación que coincide con el título especificado. Se utiliza para cambiar el foco a una aplicación en ejecución.
  • Application: Objeto que permite interactuar con aplicaciones, como BrowseForFolder o Open para mostrar cuadros de diálogo estándar.
  • Array(el1, el2, el3): Crea una matriz con los elementos especificados. Útil para almacenar y manipular colecciones de datos.
  • Arguments: Proporciona acceso a los argumentos de línea de comandos pasados al script. Permite gestionar parámetros de entrada al ejecutar el script.
  • Asc(string): Devuelve el código ASCII del primer carácter de una cadena. Se utiliza para obtener el valor numérico asociado a un carácter.
  • AscB(string): Devuelve el código byte del primer carácter en una cadena. Útil en operaciones de nivel de byte con cadenas.
  • AscW(string): Devuelve el código Unicode del primer carácter de una cadena. Útil para trabajar con caracteres Unicode.

B

  • Beep: Emite un sonido de beep a través del altavoz. Se utiliza para notificaciones simples.
  • BrowseForFolder: Muestra un cuadro de diálogo que permite al usuario seleccionar una carpeta. Útil para solicitar rutas de directorios.

C

  • Call subrutina(argumentos): Llama a una subrutina pasando los argumentos especificados. Se utiliza para ejecutar procedimientos.
  • CBool(expression): Convierte una expresión a un valor booleano (True o False). Útil para evaluaciones lógicas.
  • CByte(expression): Convierte una expresión a tipo byte (valores de 0 a 255). Se utiliza para operaciones que requieren valores de un byte.
  • CCur(expression): Convierte una expresión a tipo moneda. Útil para cálculos financieros precisos.
  • CDate(expression): Convierte una expresión a un tipo fecha. Se utiliza para manejar y comparar fechas.
  • CDbl(expression): Convierte una expresión a un número de punto flotante de doble precisión. Útil para cálculos numéricos que requieren alta precisión.
  • Chr(charcode): Devuelve el carácter asociado a un código ASCII especificado. Útil para construir cadenas a partir de códigos numéricos.
  • ChrB(charcode): Devuelve el carácter asociado a un código de byte especificado.
  • ChrW(charcode): Devuelve el carácter Unicode asociado a un código especificado.
  • CInt(expression): Convierte una expresión a un entero de 16 bits. Se utiliza en operaciones que requieren valores enteros.
  • CLng(expression): Convierte una expresión a un entero de 32 bits. Útil para manejar números enteros más grandes.
  • CSng(expression): Convierte una expresión a un número de punto flotante de precisión simple.
  • CStr(expression): Convierte una expresión a una cadena de texto. Útil para concatenación y manipulación de cadenas.
  • CreateObject: Crea una instancia de un objeto de automatización OLE. Se utiliza para interactuar con aplicaciones externas y componentes COM.
  • CreateShortcut: Crea un acceso directo en el sistema de archivos. Útil para automatizar la creación de enlaces a aplicaciones o documentos.
  • cscript: Intérprete de línea de comandos para ejecutar archivos VBScript (.vbs). Permite ejecutar scripts desde la consola.
  • CurrentDirectory: Recupera o establece el directorio actual de trabajo. Se utiliza para operaciones relativas al sistema de archivos.

D

  • Date(): Devuelve la fecha actual del sistema. Útil para timestamping y operaciones de fecha.
  • DateAdd(interval, number, date): Agrega un intervalo de tiempo a una fecha especificada. Se utiliza para calcular fechas futuras o pasadas.
  • DateDiff(interval, date1, date2): Devuelve el intervalo de tiempo entre dos fechas. Útil para calcular duraciones.
  • DatePart(interval, date): Devuelve una parte específica de una fecha, como el día, mes o año.
  • DateSerial(year, month, day): Devuelve una fecha basada en componentes numéricos. Se utiliza para construir fechas.
  • DateValue(string): Convierte una cadena de texto a una fecha. Útil para interpretar entradas de usuario.
  • Day(date): Devuelve el componente de día (1-31) de una fecha. Se utiliza en operaciones de fecha.
  • Dim variable: Declara una nueva variable o matriz. Es esencial para definir variables en VBScript.
  • Do…Loop: Crea un bucle que se repite mientras se cumpla una condición o hasta que se cumpla. Se utiliza para iteraciones.
  • Drives: Objeto que permite mapear, enumerar y eliminar unidades de red. Útil para gestionar recursos de red.

E

  • Echo: Muestra texto en la pantalla o en la consola. Se utiliza para proporcionar información al usuario.
  • End: Finaliza un procedimiento o bloque de código. Indica el fin de Function, Sub, If, etc.
  • Environment Variables: Accede y manipula variables de entorno del sistema. Útil para obtener información del entorno de ejecución.
  • Escape(string): Convierte caracteres Unicode en su representación ASCII. Se utiliza para preparar cadenas para transmisiones.
  • Eval(expression): Evalúa una expresión y devuelve el resultado. Permite ejecutar código dinámicamente.
  • Exec: Ejecuta un comando y devuelve un objeto que permite interactuar con el proceso. Útil para ejecutar aplicaciones externas.
  • Execute: Ejecuta una o más sentencias VBScript contenidas en una cadena. Permite código dinámico.
  • Exp(n): Devuelve el número e elevado a la potencia n. Se utiliza en cálculos matemáticos exponenciales.
  • Exit: Sale inmediatamente de un bloque de código, como For, Do, Function, etc.

F

  • FileSystemObject: Objeto que permite trabajar con el sistema de archivos, como crear, eliminar y mover archivos y carpetas.
  • Filter(array, value[, include[, compare]]): Crea una matriz filtrada basada en criterios. Útil para manipular datos en matrices.
  • Fix(number): Devuelve la parte entera de un número eliminando los decimales. Útil en operaciones donde se requiere un entero.
  • For…Next: Bucle que repite un bloque de código un número específico de veces. Se utiliza para iteraciones con contador.
  • For Each…Next: Bucle que recorre cada elemento de una colección o matriz. Útil para iterar sobre elementos sin conocer su índice.
  • FormatCurrency(expression[, numDigitsAfterDecimal [, includeLeadingDigit [, useParensForNegativeNumbers [, groupDigits]]]]): Formatea un número como moneda.
  • FormatNumber(expression[, numDigitsAfterDecimal [, includeLeadingDigit [, useParensForNegativeNumbers [, groupDigits]]]]): Formatea un número con opciones específicas.
  • FormatPercent(expression[, numDigitsAfterDecimal [, includeLeadingDigit [, useParensForNegativeNumbers [, groupDigits]]]]): Formatea un número como porcentaje.
  • FormatDateTime(date[, namedFormat]): Formatea una fecha u hora según el formato especificado.
  • Function: Declara un procedimiento que puede devolver un valor. Se utiliza para encapsular código reutilizable que devuelve un resultado.

G

  • GetLocale(): Devuelve la configuración regional actual. Útil para aplicaciones que dependen del idioma o formato regional.
  • GetObject: Obtiene una referencia a un objeto de automatización existente. Se utiliza para interactuar con aplicaciones en ejecución.

H

  • Hex(number): Devuelve la representación hexadecimal de un número. Útil para operaciones que requieren valores en hexadecimal.
  • Hour(time): Devuelve el componente de hora (0-23) de una hora. Se utiliza en operaciones de tiempo.

I

  • If…Then…Else: Ejecuta condicionalmente bloques de código. Es fundamental para la toma de decisiones en scripts.
  • InputBox(prompt[, title[, default]]): Muestra un cuadro de diálogo solicitando al usuario que ingrese información.
  • InStr([start, ]string1, string2[, compare]): Encuentra la posición de una cadena dentro de otra. Útil para búsquedas en texto.
  • InStrRev(string1, string2[, start[, compare]]): Busca una cadena dentro de otra desde el final.
  • Int(number): Devuelve la parte entera de un número redondeando hacia abajo. Diferente de Fix cuando hay números negativos.
  • IsArray(varname): Determina si una variable es una matriz.
  • IsDate(expression): Determina si una expresión puede convertirse en una fecha.
  • IsEmpty(expression): Indica si una variable no ha sido inicializada.
  • IsNull(expression): Indica si una expresión es Null.
  • IsNumeric(expression): Indica si una expresión puede evaluarse como número.
  • IsObject(expression): Indica si una expresión es un objeto.
  • Join(array[, delimiter]): Combina los elementos de una matriz en una cadena única, separada por un delimitador.

L

  • LBound(array[, dimension]): Devuelve el subíndice más pequeño disponible para la dimensión de una matriz.
  • LCase(string): Convierte una cadena a minúsculas.
  • Left(string, length): Devuelve un número específico de caracteres desde el inicio de una cadena.
  • Len(string): Devuelve la longitud de una cadena en caracteres.
  • Log(number): Devuelve el logaritmo natural de un número.
  • LogEvent: Registra un evento en el Visor de Eventos de Windows. Útil para registros y auditorías.
  • LTrim(string): Elimina los espacios en blanco al inicio de una cadena.

M

  • MapNetworkDrive: Mapea una unidad de red. Se utiliza para conectar recursos compartidos de red.
  • Mid(string, start[, length]): Devuelve una subcadena de una cadena principal. Útil para extraer texto.
  • Minute(time): Devuelve el componente de minutos de una hora.
  • Month(date): Devuelve el componente de mes (1-12) de una fecha.
  • MonthName(month[, abbreviate]): Devuelve el nombre del mes correspondiente a un número.
  • MsgBox(prompt[, buttons[, title[, helpfile, context]]]): Muestra un cuadro de mensaje al usuario. Útil para notificaciones e interacciones simples.

N

  • Network: Objeto que permite acceder a recursos de red y obtener información como el nombre de usuario, nombre del dominio, etc.
  • Now: Devuelve la fecha y hora actuales del sistema.

O

  • On Error: Establece el modo de manejo de errores en el script. Permite controlar excepciones y errores en tiempo de ejecución.
  • Option Explicit: Obliga a declarar explícitamente todas las variables. Ayuda a prevenir errores por variables no declaradas.

P

  • AddPrinterConnection: Agrega una conexión a una impresora de red.
  • EnumPrinterConnections: Enumera las conexiones de impresoras actuales.
  • SetDefaultPrinter: Establece la impresora predeterminada del sistema.
  • RemovePrinterConnection: Elimina una conexión a una impresora de red.
  • Private variable: Declara una variable con alcance privado en un módulo o clase.
  • Public variable: Declara una variable con alcance público, accesible desde otros módulos o clases.

Q

  • Quit: Finaliza la ejecución del script. Se utiliza para salir del script antes de tiempo.

R

  • Randomize([number]): Inicializa el generador de números aleatorios. Se utiliza antes de llamar a Rnd.
  • ReadLine: Lee una línea de entrada de texto del usuario desde la consola.
  • ReDim: Vuelve a dimensionar una matriz dinámica. Útil cuando se necesita cambiar el tamaño de una matriz durante la ejecución.
  • RegExp: Objeto que permite trabajar con expresiones regulares para búsquedas y reemplazos avanzados en cadenas.
  • RegDelete: Elimina una clave o valor del Registro de Windows.
  • RegRead: Lee un valor del Registro de Windows.
  • RegWrite: Escribe un valor en el Registro de Windows.
  • REM: Añade un comentario en el código. Alternativamente, se utiliza el apóstrofe () para comentarios.
  • Replace(expression, find, replace[, start[, count[, compare]]]): Reemplaza ocurrencias de una cadena por otra en una expresión.
  • RGB(red, green, blue): Devuelve un valor numérico que representa un color basado en sus componentes RGB.
  • Right(string, length): Devuelve un número específico de caracteres desde el final de una cadena.
  • Rnd(): Devuelve un número aleatorio entre 0 y 1.
  • Round(number[, numdecimalplaces]): Redondea un número a una cantidad específica de decimales.
  • RTrim(string): Elimina los espacios en blanco al final de una cadena.
  • Run: Ejecuta un programa o comando. Se utiliza para iniciar aplicaciones externas.

S

  • Second(time): Devuelve el componente de segundos de una hora.
  • Select Case: Estructura de control que ejecuta diferentes bloques de código según el valor de una expresión.
  • SendKeys: Envía pulsaciones de teclado a la aplicación activa. Útil para automatizar interacciones con aplicaciones.
  • Set variable = object: Asigna una referencia de objeto a una variable. Es esencial para trabajar con objetos en VBScript.
  • SetLocale(localeID): Establece la configuración regional para el script. Afecta al formato de fechas, números y monedas.
  • Sgn(number): Devuelve un valor que indica el signo de un número: -1 para negativo, 0 para cero, 1 para positivo.
  • Shell: Objeto que proporciona acceso a funciones del shell de Windows, como operaciones de archivos, inicio de programas, etc.
  • ShellExecute: Ejecuta un programa o documento utilizando las asociaciones de archivos de Windows.
  • Sleep(milliseconds): Pausa la ejecución del script durante el tiempo especificado.
  • Space(number): Devuelve una cadena que consiste en un número específico de espacios.
  • SpecialFolders: Proporciona rutas a carpetas especiales del sistema, como el Escritorio, Menú Inicio, Mis Documentos, etc.
  • Split(expression[, delimiter[, count[, compare]]]): Divide una cadena en una matriz utilizando un delimitador.
  • Sqr(number): Devuelve la raíz cuadrada de un número.
  • StdIn: Objeto que permite leer la entrada estándar (normalmente el teclado).
  • StdOut: Objeto que permite escribir en la salida estándar (normalmente la consola).
  • StrComp(string1, string2[, compare]): Compara dos cadenas y devuelve un valor que indica su relación.
  • String(number, character): Crea una cadena repetida de un carácter específico.
  • StrReverse(string): Invierte el orden de los caracteres en una cadena.
  • Sub: Declara un procedimiento que no devuelve un valor. Se utiliza para encapsular código reutilizable.

T

  • Time(): Devuelve la hora actual del sistema.
  • Timer(): Devuelve el número de segundos transcurridos desde la medianoche.
  • TimeSerial(hour, minute, second): Devuelve una hora basada en componentes numéricos.
  • TimeValue(string): Convierte una cadena de texto en un valor de hora.
  • Trim(string): Elimina los espacios en blanco al inicio y al final de una cadena.
  • TypeName(variable): Devuelve una cadena que indica el tipo de una variable.

U

  • UBound(array[, dimension]): Devuelve el subíndice más grande disponible para la dimensión especificada de una matriz.
  • UCase(string): Convierte una cadena a mayúsculas.
  • UnEscape(string): Convierte caracteres de escape Unicode en caracteres normales.

W

  • Weekday(date[, firstdayofweek]): Devuelve un número que representa el día de la semana.
  • WeekdayName(weekday[, abbreviate[, firstdayofweek]]): Devuelve el nombre del día de la semana correspondiente a un número.
  • While…Wend: Crea un bucle que se ejecuta mientras una condición sea verdadera.
  • With…End With: Permite ejecutar una serie de sentencias en un objeto sin volver a especificar el nombre del objeto.

Y

  • Year(date): Devuelve el componente de año de una fecha.

Consejos y Mejores Prácticas

  • Comentarios: Utiliza comentarios para explicar el propósito de secciones de código, lo que facilita el mantenimiento y comprensión.
  • Option Explicit: Siempre utiliza Option Explicit para obligar a la declaración de variables, evitando errores por variables mal escritas.
  • Manejo de Errores: Implementa manejo de errores con On Error para controlar y depurar problemas en tiempo de ejecución.
  • Reutilización de Código: Encapsula código en funciones y subrutinas para promover la reutilización y modularidad.
  • Indentación y Formato: Mantén una buena indentación y formato del código para mejorar la legibilidad.
  • Seguridad: Ten cuidado al usar funciones que interactúan con el sistema, como RegRead, RegWrite, ShellExecute, etc., para evitar cambios no deseados o riesgos de seguridad.
  • Pruebas: Siempre prueba tus scripts en un entorno controlado antes de implementarlos en producción.

VBScript es una herramienta poderosa para automatizar tareas y mejorar la eficiencia en entornos Windows. Con esta guía, tienes una referencia completa de los comandos y funciones clave de VBScript. Ya sea para administración del sistema, manipulación de archivos o interacciones con aplicaciones, dominar VBScript te permitirá crear soluciones efectivas y adaptadas a tus necesidades.


Cita relacionada:

«La automatización aplicada a una operación eficiente magnifica la eficiencia.»Bill Gates


Nota: Al utilizar VBScript, es importante ser consciente de las políticas de seguridad de tu entorno y asegurarte de tener los permisos necesarios para ejecutar scripts y realizar cambios en el sistema.

Botón volver arriba