[APORTE] [VBS] Añade una ventana Debug para tus scripts!

(1/1)

Mad Antrax:
Muy buenas a todos

Como está de moda programar en VBS, os dejo el siguiente aporte. Se trata de un pequeño script que permite añadir una ventana de "debug" para que podamos depurar y programar mejor cualquier script en VBS.

La idea la he sacado de stackoverflow, básicamente se trata de una pequeña función que crea una instancia de Internet Explorer en la que se irá añadiendo cualquier evento que nosotros queramos, con su TimeStamp. Para ello haremos lo siguiente:

Creamos un nuevo fichero que llamaremos debug.vbs con el siguiente código:

Código
Dim oMIE
 
Function Debug(T)
If Not IsObject( oMIE ) Then
Set oMIE = CreateObject("InternetExplorer.Application")
oMIE.Navigate "about:blank"
oMIE.Visible = True
oMIE.ToolBar = False
oMIE.Width   = 1300
oMIE.Height  = 250
oMIE.Left    = 0
oMIE.Top     = Eval(750 - 250)
Do While oMIE.Busy
WScript.Sleep 100
Loop
oMIE.Document.Title = "VBS Debug Window"
oMIE.Document.Body.InnerHTML = "<b>" & WScript.ScriptName & "</b></br></br>"
End If
oMIE.Document.Body.InnerHTML = oMIE.Document.Body.InnerHTML & "<code>" & Now & " >> " & T & "</code><br>" & vbCrLf
End Function

Éste fichero debug.vbs te servirá para cualquier futuro script VBS que quieras "debuggear". Luego, en cualquier proyecto VBS, solo tendremos que añadir las siguientes líneas al inicio del código:

Código
Sub LoadDebug
   Set FSO = CreateObject("Scripting.FileSystemObject")
   Set objFile = FSO.OpenTextFile("debug.vbs")
strCode = objFile.ReadAll
   objFile.Close
   ExecuteGlobal strCode
Set objFile = Nothing
Set FSO = Nothing
End Sub
 
Call LoadDebug

Para llamar a la función Debug, añadiremos la siguiente línea:

Código
Debug "ejemplo"

Así de sencillo, os dejo un ejemplo de código y se resultado con la ventana de Debug:

Código
A = 100
B = 5
 
C = A * B
 
Debug "C = " & C
 
Debug "My path is " & WScript.ScriptFullName
Debug "Wait 2 seconds"
WScript.Sleep 2000
 
V = "This is a example of string"
 
V = Replace(V,"i","X")
 
Debug "My replaced string: " & V
 
'.......
 
 
 
Debug "end >> WScript.Quit;"
WScript.Quit



Saludos!!

PD: Hay programas y editores VBS que añaden debugger reales (por ejemplo VbsEdit http://www.vbsedit.com/) pero aquí les traigo algo hand-made, gratis y divertido.

Eleкtro:
¿Un debugger casero y económico para VBS?, ¡simplemente me parece genial!

PD: Benditos gurús de SO que tienen tiempo para sacar estas ideas xD.

JohnConnor:
Exelente, la automatizacion esta de moda y vbs es perfecto para esto.
Mi ultimo proyecto es un entrono visual para VBS + HTA y esto le viene de 10!

Saludos

Navegación

[0] Índice de Mensajes