La
página Web de Emilio Sancha
|
|
Inicio | Access | Excel | Visual Script | Enlaces | Búsquedas | Apuntes | Libro de Visitas |
![]() |
Depurar código Visual Basic para Aplicaciones en Microsoft Office
|
|
Para depurar el código VBA de una aplicación Microsoft Office, cualquiera que sea esta, iremos al Editor de Visual Basic, mediante Alt + F11 por ejemplo; buscaremos el procedimiento o función que queramos depurar, haremos click sobre una línea de código, cualquiera que no sea un comentario, una etiqueta o una declaración de variable y, o bien pulsamos F9 o bien hacemos click sobre el margen izquierdo del código, la línea se pondrá en vídeo inverso color granate, de este modo hemos establecido un punto de interrupción. Ahora podemos ejecutar el código ya sea por su ruta normal, pulsación de un botón, eventos varios, o bien podemos intentarlo, no siempre funciona según de que se trate el procedimiento a depurar, pulsando F5 o F8.
|
|
Cuando el código está detenido, la línea se vuelve amarilla, si colocamos el cursor sobre una variable, veremos que nos muestra un "tip" con el contenido de esa variable, lo que nos va a dar una idea muy clara de cual es el comportamiento del proceso. Al mismo tiempo podremos realizar cambios en el contenido de las variables para analizar el comportamiento del proceso, ¿qué pasaría si ...? |
|
![]() |
Mientras esté detenida la ejecución del proceso, podremos desplazar el cursor a una línea anterior o posterior a la actual, para ello solo tendremos que posicionar el cursor del ratón sobre la flecha amarilla del margen izquierdo, en ese momento cambiará la forma del cursor, pulsando y manteniendo pulsado el ratón podremos desplazar el cursor hasta donde deseemos, dentro del procedimiento actual, excepción hecha de declaraciones de variables, comentarios o etiquetas. |
El objeto Debug envía la salida a la ventana Depuración en tiempo de ejecución Tiene dos métodos: Print: Envía texto a la ventana Inmediato Assert: Detiene de forma condicional la ejecución de la línea en la que aparece el método. Ejemplo:
Private Sub
PruebaAssert()
Dim i
As Long
For i = 1
To 10
Debug.Assert
(i < 5)
Next i
End Sub
Otro método de compilación condicional #If Win64 Then
Public
Declare PtrSafe Sub
ReleaseCapture Lib "user32" ()
#Else
Public
Declare Sub ReleaseCapture
Lib "user32" ()
#End
If
de esta manera podremos incluir líneas de código que no serían aceptables para el compilador, en este ejemplo concreto la primera declaración de la API ReleaseCapture, para Office de 64 bits, produciría un error al ser compilada por un Office de 32 bits, sin embargo al estar incluida entre almohadillas el compilador ignora esa instrucción y la deja pasar.
|
NOTA: La información contenida en esta página, así como el código fuente incluido en la misma, se proporciona TAL CUAL, sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo explicado, recomendado o sugerido en la presenta página. This page is provided AS IS with no warranties, and confers no rights. You assume all risk for your use.
|
|||
Ultima actualización: Sábado, 15 de Octubre de 2016
|
© Emilio Sancha 2.004-2.016 |