Microsoft

Cómo manejar errores usando rutinas de manejo de errores comunes en los procedimientos de Microsoft VBA

Utilice esta rutina de manejo de errores de VBA para asegurarse de que ningún error rompa el código.

Concepto de VBA Texto Sunshine Ilustración 3DImagen: profit_image/Adobe Stock

Microsoft Visual Basic para Aplicaciones es el lenguaje de desarrollo subyacente para las aplicaciones de Microsoft Office. Cada una de estas aplicaciones tiene un modelo de objeto único, pero comparten cierta lógica. Por ejemplo, todos los modelos proporcionan bucles, ifs, manejo de errores, etc.

Cuando utilice VBA, independientemente de la aplicación, considere agregar rutinas genéricas de manejo de errores a cada procedimiento cuando el procedimiento no requiera un manejo de errores más específico. No romperá su programa si ocurre un error inesperado. En su lugar, muestra un mensaje informativo que luego puede usar para solucionar problemas y manejar los errores de manera más adecuada.

VER: Kit de herramientas de contratación: desarrolladores de Python (Tecnopedia Premium)

En este tutorial, le mostraré un fragmento de código VBA que puede insertar en un procedimiento VBA para detectar errores inesperados. Uso Microsoft 365 en Windows 10 de 64 bits, pero puedes usar versiones anteriores de Microsoft Office.

¿Qué es la instrucción VBA On Error en Office?

VBA tiene muchas herramientas de depuración para ayudarlo a encontrar errores al solucionar problemas. La declaración On Error hace dos cosas: responde a un error y luego especifica dónde debe ir el proceso para corregir ese error. Los errores de tiempo de ejecución ocurren cuando hay un error en el código. Esto sucede por varias razones, pero principalmente debido a errores de sintaxis y solicitudes de código que VBA no puede satisfacer.

LEER  ¿Cómo... agrego miniaturas de imágenes a Microsoft Windows Explorer?

La instrucción On Error utiliza la siguiente sintaxis:

Cobertura de lectura obligada para desarrolladores

  • en caso de error ir a la línea
  • Continuar al siguiente paso en caso de error
  • El error va a 0

Usaremos la primera sintaxis, que dirige el flujo a una rutina especial de manejo de errores, donde la línea identifica la rutina en el procedimiento. La línea general es la siguiente:

En caso de error Ir a manejador de errores

Es posible que vea variantes de errHandler, pero debería ser fácil identificar la línea al mirar el código. En este caso, cuando ocurre un error, el flujo se transfiere a errHandler. Si no se utiliza la instrucción On Error, cualquier error de tiempo de ejecución que se produzca es fatal porque la ejecución se detiene.

Ahora que conoce la instrucción On Error, es hora de usarla.

Cómo usar las rutinas de manejo de errores en las aplicaciones de Office

Una rutina genérica de manejo de errores no hace nada para prevenir errores. Su trabajo es exponer errores para que pueda corregir el código que lo generó. A diferencia de los errores de código de detención, que brindan poca información sobre por qué ocurrió el error, las rutinas genéricas de manejo de errores mostrarán la información necesaria para corregir el error.Incluso si cree que su código está libre de errores, recomendaría agregar una rutina general de manejo de errores como Lista A.

Lista A

privado | función pública | hijo | nombre_del_programa()

En caso de error Ir a manejador de errores

….código…

‘objeto=Ninguno

salir | función | sub

errHandler: ‘Se requiere el carácter de dos puntos.

MsgBox «Error» & Err.Number & «: » & Err.Description & » in » & _

VBE.ActiveCodePane.CodeModule, vbOKOnly, «error»

‘objeto=Ninguno

final sub

Inserte la instrucción de línea On Error GoTo antes del código en el procedimiento. Después del código de procedimiento, incluya una instrucción Exit. De lo contrario, VBA ejecutará la rutina errHandler: que no desea.

Si su código crea objetos, asegúrese de destruirlos, agregando las declaraciones object = Nothing necesarias antes de las declaraciones Exit y End. Lista A Cada ubicación incluye una, comentada como recordatorio, pero es posible que necesite más de una.

VER: Kit de herramientas de contratación: Desarrollador backend (Tecnopedia Premium)

El código errHandler muestra un mensaje con el número de error, la descripción y el nombre del módulo. Lo agrego a cada programa de VBA y lo comento si se vuelve una molestia durante el desarrollo.

Su código dictará necesidades de procesamiento específicas, que usted escribe en su código. En general, cuanto más pruebe su código, más procesamiento específico agregará. Pero siempre existe la posibilidad de que un error inesperado detenga el código. Por esta razón, cada procedimiento debe tener una rutina común de manejo de errores. Esta rutina no corregirá el error y continuará, pero mostrará información útil para que pueda solucionar el problema en la fuente.

LEER  Informe: Las mujeres tienen mejores habilidades digitales, pero los hombres dominan la industria tecnológica

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba