Compartir a través de


Source (propiedad)

Devuelve o establece una expresión de cadena que especifica el nombre del objeto o la aplicación que generó inicialmente el error. Lectura y escritura.

Comentarios

La propiedad Source especifica una expresión de cadena que representa el objeto que generó el error; la expresión suele ser el nombre de clase o el identificador de programación del objeto.

Use Source para proporcionar información cuando el código no pueda tratar un error generado en un objeto al que se tiene acceso. Por ejemplo, si tiene acceso a Microsoft Excel y genera un Division by zero error, Excel establece Err.Number en su código de error para ese error y establece Source en Excel.Application.

Cuando se genera un error del código, Source es el id. programático de la aplicación. Para módulos de clase, Source debe contener un nombre que tiene la forma proyecto.clase.

Cuando se produce un error inesperado en el código, la propiedad Source se rellena automáticamente. Respecto a errores en un módulo estándar, Source contiene el nombre de proyecto. Respecto a errores en un módulo de clase, Source contiene un nombre con la forma proyecto.clase.

Ejemplo:

En este ejemplo se asigna el identificador de programación de un objeto automation creado en Visual Basic a la variable MyObjectIDy, a continuación, se asigna a la propiedad Source del objeto Err cuando genera un error con el método Raise .

Al controlar errores, no debe usar la propiedad Source (ni ninguna propiedad Err que no sea Number) mediante programación. El único uso de propiedades válido distinto de Number es para mostrar información enriquecida a un usuario final en los casos en que no se puede tratar un error. En el ejemplo se supone que App y MyClass son referencias válidas.

Dim MyClass, MyObjectID, MyHelpFile, MyHelpContext
' An object of type MyClass generates an error and fills all Err object
' properties, including Source, which receives MyObjectID, which is a 
' combination of the Title property of the App object and the Name
' property of the MyClass object.
MyObjectID = App.Title & "." & MyClass.Name
Err.Raise Number := vbObjectError + 894, Source := MyObjectID, _
          Description := "Was not able to complete your task", _
          HelpFile := MyHelpFile, HelpContext := MyHelpContext 

Vea también

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.