les dejo otro manual
---------------------------------------------------------------------------------------------------------------------
Omitir errores
---------------------------------------------------------------------------------------------------------------------
On Error Resume Next
Al programar, los errores son comunes, pero no por mala programación, sino por sucesos inesperados. En estos
casos es necesario definir que si se detecta un error, el programa pase a la siguiente linea del VBS, esto es
necesario para que el virus se siga ejecutando
Ejemplo:
Si querias borrar el archivo "muere_perro.txt" y este no existe pasaria a la siguiente linea del VBS.
El comando "On Error Resume Next" se coloca comunmente al principio del vbs.
---------------------------------------------------------------------------------------------------------------------
Mensajes de ventanas de textos
---------------------------------------------------------------------------------------------------------------------
MsgBox
Sirve para desplegar mensajes en de texto en ventanas. la sintaxis es:
MsgBox "mensaje",numero,"titulo"
MsgBox = comando para mostrar ventanas, en las comillas va tu mensaje
mensaje = aqui va el mensaje que mostrara la ventana
numero = es un numero que define el tipo de ventana a usar, 0 es igual a aceptar
titulo = aqui ira el titulo de la ventana.
Ejemplo:
MsgBox "tutorial de vbs",0,"Kuasanagui"
Existen mas numeros y palabras para definir el tipo de mensaje, pero tambien se puede hacer mostrar un mesaje
con solo colocar el comando MsgBox y entre comillas el mensaje: MsgBox "mensaje"
A continuacion te defino algunos numeros y palabras claves para establecer el tipo de ventana a mostrar:
0 = ventana Aceptar
1 = ventana Aceptar/Cancelar
2 = ventana Anular/Reintentar/Omitir
3 = ventana Si/No/Cancelar
4 = ventana Si/No
5 = ventana Reintentar/Cancelar
6 al 15 = ventana Aceptar
16 = ventana de error Aceptar
17 = ventana de error Aceptar/Cancelar
18 = ventana de error Anular/Reintentar/Omitir
19 = ventana de error Si/No/Cancelar
20 = ventana de error Si/No
21 = ventana de error Reintentar/Cancelar
22 al 31 = ventana Aceptar
vbquestion = ventana de pregunta Aceptar
32 = ventana de pregunta Aceptar
33 = ventana de pregunta Aceptar/Cancelar
34 = ventana de pregunta Anular/Reintentar/Omitir
35 = ventana de pregunta Si/No/Cancelar
36 = ventana de pregunta Si/No
37 = ventana de pregunta Reintentar/Cancelar
38 al 47 = Ventana Aceptar
vbexclamation = ventana de exclamación Aceptar
48 = ventana de exclamación Aceptar
49 = ventana de exclamación Aceptar/Cancelar
50 = ventana de exclamación Anular/Reintentar
51 = ventana de exclamación Si/No/Cancelar
52 = ventana de exclamación Si/No
53 = ventana de exclamación Reintentar/Cancelar
Y asi podriamos segur infinitamente =)
---------------------------------------------------------------------------------------------------------------------
Colocando comentarios en el VBS
---------------------------------------------------------------------------------------------------------------------
Colocar comentarios en los codigos de programacion son muy utiles debido a que nos sirven para recordar la
funcion que realiza alguna parte de nuestro algoritmo. Este comentario no es visualizado al ejecutar nuestro script.
En visual basic script el simbolo que se antepone antes de un comentario de programacion es la comilla: '
Esta comilla se encuentra comunmente por las teclas de signos de interrogación.
Ejemplo:
MsgBox "Este VBS tiene un comentario dentro",0,"Tutorial de VBS por Kuasanagui" ' este es un mensaje
---------------------------------------------------------------------------------------------------------------------
Estableciendo variables
---------------------------------------------------------------------------------------------------------------------
Es algo basico en programación, ya que asi no tenemos que repetir valores que utilizamos mucho en nuestros
programas.
Ejemplo:
K = "Kuasanagui"
K = es la variable a la que le asignamos un valor.
Kuasanagui = es el valor asignado, se coloca entre comillas
Nota: si el valor asignado es un numero no lleva comillas.
---------------------------------------------------------------------------------------------------------------------
Simbolos de union
---------------------------------------------------------------------------------------------------------------------
&
La i latina, es usada como un simbolo que unir variables o cadenas de texto que se encuentran entre comillas.
Esto nos ahorra el estar escribiendo una parte del codigo que sea repetitiva. Un ejemplo seria un mensaje de texto
de ventanas, en donde anteriormente definieramos a una variable un valor:
Ejemplo:
K = "Kuasanagui"
MsgBox "Tutorial de visual basic por " & K
---------------------------------------------------------------------------------------------------------------------
Operaciones matematicas sencillas
---------------------------------------------------------------------------------------------------------------------
Las operaciones matematicas basicas son simples, solo necesitas asignarle el valor de la operacion a una variable.
kuasa = 2 + 2 ' suma
kuasa = 2 * 2 ' multiplicacion
kuasa = 2 / 2 ' division
Si deseas ver el resultado de alguna operacion que realices
solo necesitas usar el "MsgBox" y el simbolo de union "&"
Ejemplo:
kuasa = 2+2
MsgBox "El resultado de la operacion es "& kuasa,0,"Tutorial de VBS por Kuasanagui"
---------------------------------------------------------------------------------------------------------------------
Crear ciclos en VBS con FOR y NEXT
---------------------------------------------------------------------------------------------------------------------
"For", "To" y "Next"
Son muy utiles cuando quieres que una parte de tu codigo se ejecute un N numero de veces, los comandos son
sencillos.
El orden comun de ellos es el siguiente:
For xxxxxx To xxxx
Next
Ejemplo:
For Kyo = 1 To 3
MsgBox "Tutorial VBS por Kuasanagui"
Next
For = le digo que el ciclo sera desde...
Kyo = una variable que toma los valores numericos en cada ciclo, puede ser cualquier varaible
To = le digo hasta que numero sera el ciclo...
Next = vuelve al "For" hasta que se cumpla el ciclo.
Esto hara que se muestre una ventana de mensaje 3 veces.
---------------------------------------------------------------------------------------------------------------------
Utilizando condicionantes de eventos en VBS
---------------------------------------------------------------------------------------------------------------------
"If" " Then" "Else" "End if"
Son utiles para evaluar eventos en programacion, es decir, condicionan la ejecucion de una parte del programa
a un cierto valor numerico o alfabetico.
El orden comun de ellos es el siguiente:
If xxxxxxxx Then
xxxxxxxxxxxxxxxx
Else
xxxxxxxxxxxxxxxx
End If
Aunque en ocasiones el "If" y el "Then" no se combinan con el "Else" y el "End If".
Ejemplos de este tipo de uso lo veras mas adelante, lo primordial es entender su uso basico por ahora.
Ejemplo:
For Kyo = 0 To 3
MsgBox "Kyo tiene el valor de " & Kyo
If kyo < 3 Then
MsgBox "si Kyo vale menos de tres me ves"
Else
MsgBox "Kyo vale tres termina el VBS"
End If
Next
If = sirve para verifica el valor de la variable... si variable es igual a, menor que, etc ....
Then = sirve para tomar una accion despues de ver el valor... entonces...
Else = si no se cumple la condicion... va a la siguiente columna, es decir.... si no es igual a, entonces...
End If = termina los condicionantes
En lenguaje coloquial esto el programa dice:
El ciclo sera desde Kyo = 0 a 3
Muestra el valor de Kyo
Si Kyo es menos que 3 entonces
muestra un mensaje que Kyo vale menos que 3
Si no
muestra un mensaje que Kyo vale igual a 3
termina el condicionante de If
Vuelve al comienzo si Kyo es menor que 3
---------------------------------------------------------------------------------------------------------------------
El Azar en los VBS
---------------------------------------------------------------------------------------------------------------------
"Randomize" "Int" "Rnd"
Este sirve para poder utiilizar y asignar valores numericos al azar, estableciendo el rango de numeros a usar,
incluyendo el 0. Si deseamos establecer un numero al azar que se encuentre entre el 0 y el 5, nuestro rango sera
de 6.
La sintasix para utilizar esos comandos es la siguiente:
Randomize
variable = Int(Rnd * numero)
Randomize = es la palabra clave, no es modificable necesaria para el uso del randomize
Int = palabra clave, no es modificable
Rnd = palabra clave, no es modificable
* = simbolo clave no modificable que relaciona el rango con el randomize
variable = la palabra a la que se le asignara el valor del numero aleatorio
numero = el rango donde se eligira el numero al azar
El Randomize es muy util al momento de crear archivos de nombres o mensajes aleatorios.
Ejemplo:
Randomize
kuasa = Int(Rnd * 3)
If kuasa = "0" Then Nombre = "Kuasanagui"
If kuasa = "1" Then Nombre = "ErGrone"
If kuasa = "2" Then Nombre = "Jtag"
MsgBox "Que tipazo es el " & nombre
---------------------------------------------------------------------------------------------------------------------
Utilizando la fecha actual para condicionar eventos en VBS
---------------------------------------------------------------------------------------------------------------------
"Month(Now())" "Day(Now())"
El comando Month(Now()) sirve para obtener el mes actual en el sistema y el Day(Now()) sirve para obtener el dia
actual en el sistema. Con estos dos comandos podemos condicionar eventos de nuestro VBS segun la fecha del
sistema, con esto podemos crear payloads segun el mes y dia, como mostrar mensajes o borrar archivos.
Ejemplo:
If Month(Now()) = 12 Then MsgBox "Ya casi estamos en navidad ", 4096, "Tutorial de VBS por Kuasanagui"
Esto mostraria el mensaje si el mes actual es Diciembre
Otro Ejemplo:
If Day(Now()) = 13 Then MsgBox "¿Es viernes 13? ", 4096, "Tutorial de VBS por Kuasanagui"
Este mostraria el mensaje si el dia fuera 13
Tambien podemos unir estos comandos para realizar actos en fechas exactas, pero para hacerlo se utiliza la
palabra "And" para usarlos conjuntamente.
Ejemplo final:
If Month(Now()) = 09 And Day(Now()) = 22 Then MsgBox "Un dia como el de hoy temine el tutorial de VBS"
, 4096, "Tutorial de VBS por Kuasanagui"
Esto solo se mostrara cada Septiembre 22
---------------------------------------------------------------------------------------------------------------------
Crear ciclos infinitos en VBS con DO y LOOP
---------------------------------------------------------------------------------------------------------------------
"Do" y "Loop"
Estos pueden ser usados para crear ciclos infinitos, estos nos pueden ser utiles para realizar acciones de manera
infinita hasta que el pc sea apagado. Se colocan al principio y al final de la rutina que queremos ciclar infinitamente.
Un excelente uso es para crear copias de VBS en disquetes, pero eso lo veremos al final.
La sintasix para utilizar esos comandos es la siguiente:
Do
xxxxxxxxxxxxx
Loop
Ejemplo:
Do
MsgBox "Ciclo infinito",0,"Tutorial de VBS por Kuasanagui"
Loop
Nota: Si ejecutas esto, tendras que cerrar la sesión o reiniciar la Pc para terminar el VBS.
===============================================================================
==========================Establecer objetos VBS a variables===========================
===============================================================================
Los objetos son rutinas especializadas de Visual Basic Script que reune un conjunto de librerias o rutinas que
simplifican la programacion en VBS. Estas rutinas tenemos que declararlas al principio de nuestros programas para
poder usar comandos que se encuentran dentro de estos objetos, la manera de darle el valor de un objeto a una
variable es la siguiente:
Set variable = CreateObject("nombreOBJ")
Set = con esto estableceremos en una sola variable a todo el objeto que utilizaremos.
variable = es una variable cualquiera que puedes cambiar por otra que mas te guste, por ejemplo: zonavirus.
nombreOBJ = es el nombre del objeto o la rutina que usaras
Los objetos mas usados son:
"Scripting.FileSystemObject" y "WScript.Shell"
si quisieras usar el objeto "Scripting.FileSystemObject" pondrias:
Set zonavirus = CreateObject("Scripting.FileSystemObject")
recuerda definir el objeto antes de usar los comandos vbs a usar, por ejemplo, si queremos borrar un archivo, el
comando vbs es: DeleteFile, y como este funciona con el objeto Scripting.FileSystemObject, todo quedaria asi:
Set zonavirus = CreateObject("Scripting.FileSystemObject")
zonavirus.DeleteFile "C:\muere_perro.txt"
Esto borrara el archivo "muere_perro.txt" de la unidad C
===============================================================================
==========================El Objeto Scripting.FileSystemObject=========================
===============================================================================
Es necesario para poder usar los siguientes comandos en un VBS, el objeto nos sirve para manipular acciones con
archivos y carpetas.
Nota: Podemos realizar acciones con los archivos definiendo una ruta o sin ella, borrar archivo, copiar carpetas etc.
Si pones ".\" el VBS realizara la accion en la carpeta actual
Si pones "C:\" el VBS realizara la accion en la ruta especificada, en este caso es la C
No es necesario definir el objeto cada vez que utilicemos un comando que lo necesite, solo si queremos cambiar
la variable que la utilizaba.
---------------------------------------------------------------------------------------------------------------------
Copiar archivos
---------------------------------------------------------------------------------------------------------------------
CopyFile
Con este comando, podemos copiar archivos en la pc.
Ejemplo:
Set zonavirus = CreateObject("Scripting.FileSystemObject")
zonavirus.CopyFile ".\ejemplo_Copyfile.vbs","C:\muere_perro.txt"
Copia el archivo "ejemplo_Copyfile.vbs" como "muere_perro.txt" en la unidad C, puedes copiar otros archivos
aparte del mismo vbs.