Cómo usar la declaración On Error en VBA para manejar errores en Microsoft Office

Microsoft Visual Basic for Applications es el lenguaje de desarrollo subyacente para las aplicaciones de Microsoft Office. Cada una de estas aplicaciones tiene un modelo de objetos único, pero comparten cierta lógica. Por ejemplo, todos los modelos ofrecen bucles, condicionales, manejo de errores y más.

Cómo usar la declaración On Error en VBA para manejar errores en Microsoft Office - Desarrollo | Imagen 1 Newsmatic

Índice de Contenido
  1. ¿Qué es la declaración On Error de VBA en Office?
  2. Cómo utilizar una rutina de manejo de errores en las aplicaciones de Office

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

VBA tiene muchas herramientas de depuración que te ayudan a encontrar errores al realizar tareas de solución de problemas. La declaración On Error hace dos cosas: responde a un error y luego especifica hacia dónde se dirige el flujo para corregir ese error. Un error en tiempo de ejecución ocurre 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 cumplir.

La declaración On Error utiliza la siguiente sintaxis:

  • On Error GoTo línea
  • On Error Resume Next
  • On Error GoTo 0

Trabajaremos con la primera sintaxis, que dirige el flujo a una rutina especial de manejo de errores, donde línea identifica esa rutina dentro del procedimiento. Un ejemplo genérico de línea es el siguiente:

On Error GoTo errHandler

Cómo instalar y usar Docker en VS Code: Guía paso a paso

Puede que veas variaciones de errHandler, pero deberías reconocer fácilmente línea al revisar el código. En este caso, el flujo se mueve a errHandler cuando ocurre un error. Si no utilizas una declaración On Error, cualquier error en tiempo de ejecución que ocurra será fatal ya que la ejecución se detiene.

Ahora que conoces sobre la declaración On Error, es hora de usarla.

Cómo utilizar una rutina de manejo de errores en las aplicaciones de Office

Una rutina de manejo de errores genérica no hace nada para prevenir un error. Su tarea es mostrar el error para que puedas corregir el código que lo generó. En lugar de que el error detenga el código, lo cual proporcionará poca información sobre por qué ocurrió el error, una rutina de manejo de errores genérica mostrará la información que necesitas para solucionar el error. Incluso si crees que tu código no tiene errores, te recomiendo agregar una rutina de manejo de errores genérica, como la que se muestra en Lista A.

Lista A

Private | Public Function | Sub | nombreDelProcedimiento()
On Error GoTo errHandler
...código del procedimiento...
'objeto = Nothing
Exit | Function | Sub
errHandler: 'El carácter de dos puntos es necesario.
MsgBox "Error " & Err.Number & ": " & Err.Description & " en " & _
VBE.ActiveCodePane.CodeModule, vbOKOnly, "Error"
'objeto = Nothing
End Sub

Inserta la declaración On Error GoTo línea antes del código del procedimiento. Después del código del procedimiento, incluye una declaración Exit. De lo contrario, VBA ejecutará la rutina errHandler:, lo cual no quieres.

Si el código crea objetos, asegúrate de destruirlos, agregando las declaraciones necesarias de objeto = Nothing antes de las declaraciones Exit y End. Lista A incluye una en cada lugar, comentada como recordatorio, pero podrías necesitar varias.

Cómo actualizar Rocky Linux de la versión 8.x a la versión 9

El código errHandler muestra un mensaje que contiene el número de error, una descripción y el nombre del módulo. Lo agrego a cada procedimiento de VBA y comento la rutina si se vuelve molesta durante el desarrollo.

Tu código dictará necesidades específicas de manejo, las cuales escribirás en tu código. Cuanto más pruebas el código, más manejo específico agregarás, generalmente. Pero siempre existe esa posibilidad de que un error inesperado detenga el código. Por esta razón, cada procedimiento debe tener una rutina de manejo de errores genérica. Esta rutina no podrá corregir el error y continuar, pero mostrará información útil para que puedas solucionar el problema en la fuente.

En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Desarrollo, allí encontraras muchos artículos similares a Cómo usar la declaración On Error en VBA para manejar errores en Microsoft Office , tenemos lo ultimo en tecnología 2023.

Artículos Relacionados

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.