Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
652to656
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
652to656
652to656
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Probleme mit "On Error Goto"

Probleme mit "On Error Goto"
19.08.2005 13:07:30
klamsi
Hi ihr lieben ^^
Ich hab ein kleines Problem.
Ich möchte eine Datei öffnen.
Es kann vorkommen das diese nicht vorhanden ist.
Drum schreib ich davor eine "On Error Goto" Anweisung hin.
Klappt auch wunderbar...
Er springt zu meinem angegeben "Goto-Punkt" und führt dort weiter die Anweisungen aus.
Aber in meinem "Error-Anweisungsblock" kann es auch zu fehlern kommen.
Die möchte ich nun auch mit einer "Error-Error-Anweisung" *gg* bereinigen.
Aber ich kann irgendwie nicht zwei mal "ON Error Goto" benutzen.
Beim zweiten error führt er nicht die "Error-Error-Anweisung" aus.
Was mach ich falsch?
Hier die Syntax:
On Error GoTo StartAgain
Open "C:\File.txt" For Input As #1
Input #1, x
If x= "y" then Anweisung
If 1 = 2 then
StartAgain:
On error Goto EndThisCrap
Open "C:\File2.txt" For Input As #2
Input #2, y
If y= "z" then Anweisung2
End If
If 1 = 3 then
EndThisCrap:
End
End If
Was mach ich falsch?
Bzw. wie kann ich es besser lösen?
Vielleicht könnt ihr mir ja da a bissl weiter Helfen ^^
Thx,
Klamsi

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Probleme mit "On Error Goto"
19.08.2005 13:17:18
Harald
Hallo Klamsi,
lass' doch Excel gar nicht erst auf einen fehler laufen. Prüfe vorher, ob die Datei existiert:

Sub test()
If Dir("c:\temp\Datei1.txt") <> "" Then
MsgBox "Datei Datei1.txt gefunden"
ElseIf Dir("c:\temp\Datei2.txt") <> "" Then
MsgBox "Datei Datei2.txt gefunden"
End If
End Sub

Mit On error geht es so nicht, wie Du es geschrieben hast. Da muss vor dem zweiten mögl. Fehler erst einmal der erste abgehandelt sein.
Auszug aus der Excel-Hilfe:
Eine "aktivierte" Fehlerbehandlungsroutine ist eine Routine, die durch eine On Error-Anweisung "eingeschaltet" wurde. Eine "aktive" Fehlerbehandlungsroutine ist eine aktivierte Behandlungsroutine, die momentan einen Fehler verarbeitet. Wenn ein Fehler auftritt, während eine Fehlerbehandlungsroutine aktiv ist (also zwischen dem Auftreten des Fehlers und der Ausführung einer Resume-, Exit Sub-, Exit Function- oder Exit Property-Anweisung), kann die Fehlerbehandlungsroutine den Fehler nicht bearbeiten. Das Programm wird in der aufrufenden Prozedur fortgesetzt. Falls für die aufrufende Prozedur eine Fehlerbehandlungsroutine verfügbar ist, wird diese aktiviert, um den Fehler zu verarbeiten. Ist auch diese Fehlerbehandlungsroutine bereits aktiv, so wird die Steuerung so lange an die früheren aufrufenden Prozeduren weitergegeben, bis eine aktivierte Fehlerbehandlungsroutine gefunden wird, die jedoch momentan nicht aktiv ist. Wenn keine aktivierte Fehlerbehandlungsroutine im nichtaktiven Zustand gefunden wird, wird das Programm durch den Fehler an der Stelle beendet, an der der Fehler tatsächlich aufgetreten ist. Sobald die Fehlerbehandlungsroutine die Steuerung an die aufrufende Prozedur zurückgibt, wird diese Prozedur zur aktuellen Prozedur. Nachdem ein Fehler von einer Fehlerbehandlungsroutine in einer beliebigen Prozedur verarbeitet wurde, setzt das Programm die Ausführung in der aktuellen Prozedur an der Stelle fort, die durch die Resume-Anweisung angegeben ist.
Gruß Harald
Anzeige

174 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige