Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Laufzeitfehler abfangen

Laufzeitfehler abfangen
14.01.2005 08:14:49
Jens
Hallo Zusammen
Ich öffne über Schaltflächen Programme, Dateien und Vorlagen.
Wenn beim betätigen der Schaltflächen ein Fehler auftritt wie z.B. Pfad, Datei oder Programm nicht gefunden, bekomm ich Laufzeitfehler angezeigt.
Frage, kann ich die Excelfehleranzeigen durch eigene Fehlermeldungen abfangen.
Ich stell mir das so vor, dass nicht diese Laufzeitfehler "53" angezeigt wird, sondern eine MsG Box Anzeige erscheint. "Leider wurde das Programm unter dem angegeben Pfad nicht gefunden, bla bla bla."
Bin dankbar für jeden Vorschlag.
Gruß Jens
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler abfangen
Harald
Hallo Jens,
ja, das geht. Guck mal in der Hilfe unter "on Error".
Gruß Harald
AW: Laufzeitfehler abfangen
Jens
Hallo Harald
Hab mir die Hilfen durchgelesen aber nicht so richtig verstanden.
Nur mal angenommen ich würde diesen Code verwenden.

Sub E_Mail_Programm_öffnen()
Dim stAppName As String
stAppName = "C:\Lotus\Notes\notes.exe"
Call Shell(stAppName, 3)
End Sub

Wie müßte ich den Code vervollständigen, das dass erreicht wird was ich mir vorstelle.
Gruß Jens
Anzeige
AW: Laufzeitfehler abfangen
Harald
Hallo Jens,

Sub E_Mail_Programm_öffnen()
Dim stAppName As String
stAppName = "C:\Lotus\Notes\notes.exe"
On Error Resume Next
Call Shell(stAppName, 3)
If Err.Number = 76 Then
MsgBox "Konnte externes Programm nicht starten", vbCritical
End If
End Sub

Wegen der Fehlernummern guckst Du bitte in der Hilfe zum Err-Object nach, die habe ich nicht parat
Gruß Harald
Anzeige
AW: Laufzeitfehler abfangen
Jens
Klappt super.
Ich danke Dir Harald.
Gruß Jens
AW: Laufzeitfehler abfangen
Jens
Noch ne Frage
Wo kann ich eigentlich die Liste bzw. Bedeutung der gesamten Fehlermeldungen bzw. Nummern nachlesen.
Unter Err Object bekomm ich immer eine Fehlermeldung das irgendwas nicht richtig installiert ist. Mach ich das nachträglich, passiert auch nichts.
Gruß Jens
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Laufzeitfehler in Excel VBA abfangen


Schritt-für-Schritt-Anleitung

Um Laufzeitfehler in Excel VBA abzufangen, kannst Du den On Error Befehl verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne den VBA-Editor in Excel (Alt + F11).
  2. Erstelle ein neues Modul (Rechtsklick auf "VBAProject" > Einfügen > Modul).
  3. Schreibe den folgenden Code in das Modul:
Sub E_Mail_Programm_öffnen()
    Dim stAppName As String
    stAppName = "C:\Lotus\Notes\notes.exe"
    On Error Resume Next ' Fehlerabfangen aktivieren
    Call Shell(stAppName, 3) ' Programm öffnen
    If Err.Number = 76 Then ' Überprüfen auf spezifischen Fehler
        MsgBox "Konnte externes Programm nicht starten", vbCritical ' Eigene Fehlermeldung
    End If
End Sub
  1. Führe den Code aus, um zu sehen, wie die Fehlerbehandlung funktioniert.

Häufige Fehler und Lösungen

  • Laufzeitfehler 53: Dieser Fehler tritt auf, wenn die angegebene Datei oder das Programm nicht gefunden werden kann. Achte darauf, dass der Pfad korrekt ist.

  • Fehler -2147467259: Dies ist ein allgemeiner Fehler, der oft auf ein Problem mit dem Pfad oder der Datei hinweist. Überprüfe die Datei- und Programmverfügbarkeit.

  • Laufzeitfehler 4198: Dieser Fehler kann auftreten, wenn Du versuchst, eine nicht unterstützte Methode zu verwenden. Achte darauf, dass Du die richtige Methode für dein Vorhaben verwendest.


Alternative Methoden

Neben der Methode mit On Error Resume Next gibt es auch andere Ansätze, um Fehler in Excel VBA abzufangen:

  • On Error GoTo: Mit dieser Methode kannst Du zu einem bestimmten Label im Code springen, wenn ein Fehler auftritt. Beispiel:
Sub Beispiel()
    On Error GoTo Fehlerbehandlung
    ' Code, der einen Fehler verursachen könnte
    Exit Sub

Fehlerbehandlung:
    MsgBox "Ein Fehler ist aufgetreten: " & Err.Description
End Sub
  • Benutzerdefinierte Fehlerbehandlung: Du kannst Deine eigene Fehlerbehandlungsroutine erstellen, um spezifische Fehler zu identifizieren und darauf zu reagieren.

Praktische Beispiele

Hier sind einige praktische Beispiele, wie Du Laufzeitfehler in Excel VBA abfangen kannst:

  1. Programmstart:
Sub StartProgramm()
    Dim stAppName As String
    stAppName = "C:\Programme\Beispiel.exe"
    On Error Resume Next
    Call Shell(stAppName, vbNormalFocus)
    If Err.Number <> 0 Then
        MsgBox "Fehler beim Starten des Programms: " & Err.Description
    End If
End Sub
  1. Dateizugriff:
Sub DateiÖffnen()
    Dim Datei As String
    Datei = "C:\Beispiel.txt"
    On Error GoTo Fehler
    Open Datei For Input As #1
    ' Weitere Aktionen mit der Datei
    Close #1
    Exit Sub

Fehler:
    MsgBox "Die Datei konnte nicht geöffnet werden: " & Err.Description
End Sub

Tipps für Profis

  • Verwende Err.Clear, um den Fehlerstatus zurückzusetzen, nachdem Du ihn abgefangen hast.
  • Halte Deine Fehlermeldungen klar und verständlich, um die Benutzerfreundlichkeit zu verbessern.
  • Probiere immer, spezifische Fehlernummern zu überprüfen, anstatt nur allgemeine Fehlerbehandlungen zu verwenden.

FAQ: Häufige Fragen

1. Wie finde ich die Bedeutung der Fehlernummern in VBA?
Du kannst die Dokumentation von Microsoft zu den Fehlernummern durchsehen oder im VBA-Editor die Hilfe aufrufen, um eine vollständige Liste zu erhalten.

2. Was mache ich, wenn mein Code immer noch Fehler zeigt?
Überprüfe deine Pfade und Dateinamen auf Schreibfehler. Verwende die Debugging-Funktion im VBA-Editor, um durch den Code zu gehen und den Fehler zu lokalisieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige