Aprenda VBScript desde 0.0 2ª Edición Hector Alejandro Parada Blanco Hector Alejandro Parada Blanco Aprenda VBScript desde 0.0 2ª Edición Bogotá D.C. 2014 Páginas: 290 Formato: 14 x 21 cm Editorial: autoreseditores ISBN 978-958-46-4921-8 Derechos reservados © Hector Alejandro Parada Blanco La información contenida en esta obra tiene un fin exclusivamente didáctico. Dedicatoria Con amor incondicional dedico este libro a una mujer luchadora que me da la motivación e inspiración para ser cada día mejor, mi madre: Rosa María Blanco Prólogo La idea de escribir un libro de VBScript (Visual Basic Script), me llego a la cabeza, luego de ver que mis compañeros de curso en Ingeniería de Sistemas, tuvieran dificultades a la hora de utilizar y comprender algún lenguaje de programación, algunos de ellos expertos en buscar código en foros, tomaban dicho código y lo implementaban en sus programas, a la hora de preguntarles cual era la funcionalidad de ciertos fragmentos del código, su respuesta siempre era la misma: “no sé”. Entonces fue cuando se me ocurrió esto de escribir un libro que tratara sobre alguna tecnología de la programación y que además fuese fácil de entender e implementar. Para programadores inexpertos y que hasta ahora se sumergen en el mundo de la programación el lenguaje recomendado a mi punto de vista, siempre será: “Basic”, cualesquiera que sean sus versiones, pues ya que este es el lenguaje indicado para principiantes, decidí entonces compartir mis pocos o muchos conocimientos sobre su derivado conocido como VBScript y familiarizar al lector con lenguajes de la familia Basic. Aprenda VBScript desde 0.0 está dirigido a estudiantes de ingeniería de sistemas y administradores de sistemas o infraestructura, diseñado para enseñar a programar utilizando tecnología “Basic”, este libro guiara al lector en el aprendizaje de este lenguaje de scripts desde cero, terminando en aplicaciones útiles y complejas. Aún así, en este libro ha sido mi intensión no explicar todas las funciones y características de este lenguaje, pero si se hará mención de ellas almenos de una forma superficial, por tanto, es recomendable que, quién quiera sacarle el máximo partido a este libro tenga una iniciativa de investigación, creatividad y auto aprendizaje. Prerrequisitos Se supone que el lector no es programador, o bien, no es un experto en la materia, ni domina ningún lenguaje de la familia Basic, sin embargo, si ya ha programado sobre el lenguaje Visual Basic (cualquiera que sea su versión) se sentirá familiarizado y muy cómodo con VBScript. Para un fácil entendimiento sobre este lenguaje, se le recomienda al lector poseer conocimientos mínimos en informática, como creación de algoritmos y programación sobre el lenguaje HTML (Lenguaje para el mercado de hipertexto). El conocimiento previo del lenguaje HTML será fundamental en este libro, ya que varios ejemplos se ejecutan bajo entornos web. Índice de contenido Introducción .................................................................... 19 Parte I.................................................................................. 23 Capítulo 1 ........................................................................ 25 Entorno y herramientas de trabajo ................................ 25 1.1 Proceso Wscript.exe ................................................ 25 1.2 ActiveX Scripting .................................................... 26 1.3 Extensión de los archivos ........................................ 26 1.4 Tecnología Active Server Pages (ASP) .................... 27 1.5 Entorno de trabajo ................................................... 27 Parte II ................................................................................ 33 Capítulo 2 ........................................................................ 35 Sintaxis VBScript ............................................................ 35 2.1 Primer Script ........................................................... 35 2.2 Escribiendo sentencias VBScript ............................. 36 2.3 Uso de comentarios ................................................. 38 Capítulo 3 ........................................................................ 43 Uso de variables .............................................................. 43 3.1 Que es una variable ................................................. 43 3.2 Nombre de las variables .......................................... 43 3.3 Declarar una variable............................................... 44 3.4 Variables públicas ................................................... 47 3.5 Variables privadas ................................................... 48 3.6 Tipos de variables ................................................... 48 3.7 Uso de OPTION EXPLICIT .................................... 50 3.8 Cambiar el valor de una variable.............................. 51 3.9 Detectar el valor de una variable .............................. 53 3.10 Saltos de línea ....................................................... 54 3.11 Concatenar ............................................................ 55 3.12 Conocer la longitud de un String ............................ 60 3.13 Caracteres ASCII................................................... 62 3.13.1 Chr().................................................................... 63 3.13.2 Asc() ................................................................... 63 3.14 Función trim, Rtrim, Ltrim .................................... 64 Parte III............................................................................... 67 Capítulo 4 ........................................................................ 69 Funciones numéricas....................................................... 69 4.1 Funciones trigonométricas ....................................... 69 4.2 Funciones útiles....................................................... 71 Capítulo 5 ........................................................................ 75 Operadores matemáticos ................................................ 75 5.1 Orden de operación ................................................. 76 Capítulo 6 ........................................................................ 81 Uso de arreglos ................................................................ 81 6.1 Arreglo unidimensional ........................................... 81 6.2 Arreglo bidimensional ............................................. 82 6.3 Crear un arreglo ...................................................... 83 6.4 Conociendo el tamaño de un arreglo ........................ 86 Parte IV ............................................................................... 89 Capítulo 7 ........................................................................ 91 Ciclos de decisión ............................................................ 91 7.1 Ciclo IF ................................................................... 91 7.2 StrComp .................................................................. 96 7.3 IsNumeric ............................................................... 98 7.4 Ciclo Case ............................................................... 99 7.5 Ciclo For ............................................................... 103 7.6 Ciclo For Each ...................................................... 107 7.6.1 Filtrar .................................................................. 109 7.7 Ciclo While ........................................................... 112 7.8 Ciclo Do…Loop .................................................... 114 Capítulo 8 ...................................................................... 117 Implementando funciones ............................................. 117 8.1 Function / Sub ....................................................... 117 Capítulo 9 ...................................................................... 125 Eventos .......................................................................... 125 9.1 Uso de eventos ...................................................... 125 9.2 Función Lcase ....................................................... 140 Parte V .............................................................................. 145 Capítulo 10 .................................................................... 147 Función MsgBox ........................................................... 147 10.1 Uso de Msgbox(“”) ............................................. 147 10.2 Uso de Random ................................................... 155 10.3 Ventanas emergentes ........................................... 157 Capítulo 11 .................................................................... 163 Tiempos ......................................................................... 163 11.1 Uso de Wscript.Sleep .......................................... 163 11.2 SetTimeOut() ...................................................... 164 11.3 SetInterval() ........................................................ 169 11.4 Hora y fecha del sistema ...................................... 171 11.4.1 Propiedad Now .................................................. 172 11.4.2 Propiedad Date .................................................. 175 11.4.3 Propiedad Time ................................................. 176 11.4.4 Propiedad Hour.................................................. 178 Capítulo 12 .................................................................... 181 Nodos ............................................................................. 181 12.1 Actuando sobre nodos ......................................... 181 12.2 Delimitando nodos .............................................. 184 12.3 Eliminar Nodos ................................................... 189 Parte VI ............................................................................. 191 Capítulo 13 .................................................................... 193 Control de errores ......................................................... 193 13.1 On Error Resume Next ........................................ 193 13.2 On Error Goto 0 .................................................. 195 Capítulo 14 .................................................................... 199 Objetos .......................................................................... 199 14.1 Objeto FileSystemObject ......................................... 203 14.2 Objeto Application .............................................. 222 14.3 Objeto Wscript.Shell ........................................... 230 14.4 Objeto RegExp .................................................... 245 Capítulo 15 .................................................................... 251 Librerías ........................................................................ 251 15.1 Creando y llamando librerías ............................... 251 Parte VII ........................................................................... 255 Capítulo 16 .................................................................... 257 Proyecto final ................................................................ 257 16.1 Problema ............................................................. 257 16.2 Software necesario .............................................. 257 16.3 Escribiendo el código fuente ................................ 265 Otros Scripts ................................................................. 275 Abrir unidad de CD-ROM ........................................... 275 Activar proxy .............................................................. 275 Apagar el ordenador .................................................... 276 Enviar VBScript por email .......................................... 277 Conocer la IP .............................................................. 278 Información general del equipo ................................... 279 Crear acceso directo .................................................... 280 Abrir y cerrar un programa de forma automática.......... 281 Volcando resultados de ping en Msgbox ...................... 281 Volcando resultados netstat ......................................... 282 Glosario ......................................................................... 283 Introducción Conoceremos de donde nace y que es el lenguaje VBScript, sus limitaciones y sus ventajas. ¿Qué es VBScript? VBScript (Visual Basic Script Edition) es un lenguaje de programación interpretado basado en scripts, creado por Microsoft®, que nos permite desarrollar e implementar soluciones rápidas para nuestros ordenadores o como apoyo para la creación de páginas web dinámicas, como por ejemplo, la implementación de las llamadas tecnologías “ASP” (Active Server Pages), ya que es parte fundamental en la ejecución de aplicaciones bajo esta tecnología. Sin embargo, si el lenguaje no usa esta tecnología, sólo será posible ejecutar implementaciones web bajo la familia de navegadores Microsoft® Internet Explorer, dicho de otra forma, será imposible ejecutar scripts VBScript desde otros navegadores como Firefox, Chrome, Opera entre otros. VBScript se deriva del lenguaje Visual Basic, para ser más especifico de la versión 6.0, siendo parte de la familia Basic, se convierte en un lenguaje compacto y 100 % funcional, al ser un derivado carece de varias funcionalidades del lenguaje padre. Este es un lenguaje interpretado por el Windows Scripting Host de Microsoft®, gracias al motor vbscript.dll (biblioteca de scripting ubicada en C:\Windows\System32), este motor que por lo general viene incorporado en el sistema operativo Microsoft® Windows (si tu equipo no posee este archivo, descárgalo desde la página de Microsoft®), permite que escribamos aplicaciones script. Nota: Los lenguajes de scripting, son programas por lotes que por lo regular se almacenan en archivos planos, interpretado por motores propios del sistema operativo. Para que una aplicación VBScript pueda funcionar, esta se debe comunicar con “ActiveX Scripting”, permitiendo que un equipo compile secuencias de comandos, además de administrar el espacio de nombres disponible para el programador, por lo que no requiere de un compilador especial para que funcionen sus programas, a diferencia de su padre Visual Basic. ActiveX Scripting es utilizado en el navegador de Microsoft® Internet Explorer y servicios Internet Information Server (IIS). La sintaxis de VBScript permite la escritura de programas de forma ágil, cuya lectura de algoritmos resulta más fácil que si utilizáramos otros lenguajes de programación, esta característica ayuda a un fácil entendimiento y una rápida respuesta a corrección de errores y actualizaciones de nuestros programas. Este lenguaje ha sido responsable de la creación de gusanos y virus informáticos, como por ejemplo, el polémico caso del conocido virus: “I LOVE YOU.TXT.vbs”, el cual se propago por email en mayo de 2000, cuyo autor pertenecía al colegio universitario filipino de informática. Nota: Alan Cooper fue el creador del lenguaje Visual Basic para la compañía Microsoft®, desde entonces, la compañía ha incluido mejoras y ampliaciones del lenguaje. ¿Cómo utilizar este libro? Este libro se divide en 7 partes y un total de 16 capítulos. Si cuenta con poca experiencia en lenguajes de programación, le aconsejo comenzar con el primer capítulo de la primera parte, donde podrá sumergirse en el mundo de la programación bajo Basic. Si de lo contrario se considera un programador avanzado, puede avanzar a capítulos más complejos, de igual forma encontrara muy agradable la lectura y aprendizaje en VBScript. No dude en repasar en más de una vez cada uno de los capítulos, la teoría y los ejemplos que la acompañan, con el fin de consolidar los conocimientos que en esta obra se desvelan.