Freigeben über


Anwendungs- oder objektdefinierter Fehler

Diese Meldung wird eingeblendet, wenn ein Fehler, der mit der Raise-Methode oder der Error-Anweisung erzeugt wurde, keinem von Visual Basic for Applications definierten Fehler entspricht. Sie wird auch von der Error -Funktion für Argumente zurückgegeben, die nicht den von Visual Basic for Applications definierten Fehlern entsprechen. Es kann sich um einen von Ihnen definierten Fehler handeln oder um einen Fehler, der von einem Objekt definiert wurde, darunter Hostanwendungen wie Microsoft Excel, Visual Basic usw. Visual Basic-Formulare erzeugen beispielsweise formularbezogene Fehler, die nicht einfach aus einem Code generiert werden können, indem in die Raise -Methode oder die Error -Anweisung eine Zahl als Argument eingefügt wird. Diese Meldung hat die folgenden Ursachen und Lösungen:

  • Ihre Anwendung führte eine Err.Raisen- oder Errorn-Anweisung aus, die Zahl n ist jedoch nicht von Visual Basic for Applications definiert. Wenn das beabsichtigt war, müssen Sie Err.Raise verwenden und zusätzliche Argumente angeben, damit ein Endbenutzer das Wesen des Fehlers versteht. Sie können beispielsweise eine Beschreibungszeichenfolge, eine Quelle und Hilfeinformationen einbeziehen. Sie können diese Methode anwenden, um einen abgefangenen Fehler erneut zu generieren, wenn Sie vor der erneuten Generierung des Fehlers nicht Err.Clear ausführen. Wenn Sie zuerst Err.Clear ausführen, müssen Sie die zusätzlichen Argumente in die Raise -Methode einfügen. Sehen Sie sich den Kontext an, in dem der Fehler auftrat, und stellen Sie sicher, dass Sie denselben Fehler erneut generieren.

  • Es kann sein, dass beim Zugriff auf Objekte von anderen Anwendungen ein Fehler an Ihr Programm weitergegeben wurde, der keinem Visual Basic-Fehler zugeordnet werden kann.

Überprüfen Sie die Dokumentation für alle Objekte, auf die Sie zugegriffen haben. Die Source-Eigenschaft des Err-Objekts muss die ProgID der Anwendung bzw. des Objekts enthalten, die bzw. das den Fehler generiert hat. Um den Kontext eines Fehlers nachvollziehen zu können, empfiehlt es sich, dass Sie in Code, der auf Objekte zugreift, das Konstrukt On Error Resume Next anstelle der line-Syntax On Error GoTo verwenden.

Liste abfangbarer Fehler für die Hostanwendung

In der Vergangenheit verwendeten Programmierer häufig eine Schleife, um eine Liste aller abfangbaren Fehlermeldungszeichenfolgen zu drucken. In der Regel erfolgte dies mit einem Code wie dem Folgenden:

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

Ein solcher Code listet zwar alle Fehlermeldungen von Visual Basic for Applications auf, gibt jedoch für hostbezogene Fehler, beispielsweise jene in Visual Basic, die sich auf Formulare, Steuerelemente usw. beziehen, "anwendungsdefinierter oder objektdefinierter Fehler" an. Viele dieser Fehler sind abfangbare Laufzeitfehler. Verwenden Sie in der Hilfe das Dialogfeld Suchen, um eine Liste der abfangbaren Fehler suchen, die für Ihre Hostanwendung spezifisch sind. Klicken Sie auf Suchen, geben Sie im ersten Textfeld Abfangbar ein, und klicken Sie dann auf Themen anzeigen. Wählen Sie im unteren Listenfeld Abfangbare Fehler aus, und klicken Sie auf Gehe zu.

Weitere Informationen erhalten Sie, indem Sie das fragliche Element auswählen und F1 (unter Windows) bzw. HILFE (unter Macintosh) drücken.

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.