Compartir a través de


Error definido por la aplicación o por el objeto

Este mensaje se muestra cuando un error generado con el método Raise o con la instrucción Error no corresponde con ningún error definido en Visual Basic for Applications. La función Error también devuelve este mensaje para argumentos que no corresponden con ningún error de Visual Basic for Applications. Por ello, puede tratarse de un error que ha definido o de un error definido por un objeto, incluidas las aplicaciones host como Microsoft Excel, Visual Basic, etc. Por ejemplo, los formularios de Visual Basic generan errores relacionados con formularios que no pueden generarse a partir de código con la simple especificación de un número como argumento del método Raise o de la instrucción Error. Causas y soluciones de este error:

  • La aplicación ha ejecutado una instrucción Err.Raisen o Errorn, pero el número n no está definido en Visual Basic for Applications. Si este era su objetivo, debe usar Err.Raise y especificar los argumentos adicionales para que el usuario final pueda comprender la naturaleza del error. Por ejemplo, puede incluir una cadena de descripción, el origen e información de ayuda. Para volver a generar un error con purgador, este enfoque funcionará si no ejecuta Err.Clear antes de regenerar el error. Si ejecuta Err.Clear en primer lugar, deberá especificar los argumentos adicionales para el método Raise. Preste atención al contexto en el que se produjo el error y asegúrese de que vuelve a generar el mismo error.

  • Es posible que los objetos de otras aplicaciones hayan propagado un error al programa que no se pueda asignar a ningún error de Visual Basic.

Compruebe la documentación de los objetos a los que ha tenido acceso. La propiedad Source del objeto Err debe contener el ID de programación de la aplicación u objeto que generó el error. Para comprender el contexto del error devuelto por un objeto, use la construcción On Error Resume Next en el código que tiene acceso a los objetos en lugar de la sintaxis de la líneaOn Error GoTo.

Enumerar los errores capturables de la aplicación host

Anteriormente, los programadores usaban bucles para imprimir una lista de todas las cadenas de mensaje de error para purgar. Esto se lograba con un código similar al siguiente:

For index = 1 to 500
    Debug.Print Error$(index)
Next index

Es posible usar este código para mostrar todos los mensajes de error de Visual Basic para Aplicaciones, aunque muestran los errores definidos por el host como "Error definido por la aplicación o error definido por el objeto" como, por ejemplo, los errores de Visual Basic relacionados con formularios, controles, etc. Muchos de estos errores son errores de tiempo de ejecución capturables. Use el cuadro de diálogo Búsqueda de la ayuda para buscar la lista de errores que se pueden purgar específicos de su aplicación host. Haga clic en Búsqueda, escriba purgar en el primer cuadro de texto y haga clic en Mostrar temas. Seleccione Errores que se pueden purgar en el cuadro de lista inferior y haga clic en Ir a.

Para más información, seleccione el elemento en cuestión y presione F1 (en Windows) o AYUDA (en Macintosh).

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.