Einzelschritt vs. Komplettdurchlauf



Hallo NG,

ich hab ein Phänomen, dem ich nicht auf die Schliche komme: Ich prüfe in
einer Prozedur, ob eine bestimmte Datei geöffnet ist oder nicht. Wenn die
Datei offen ist, wird eine Schleife durchlaufen, bis die Datei geschlossen
wurde. Dann geht es weiter.

Wenn ich die Prozedur zzum Testen schrittweise mit F8 durchlaufe, klappt
alles wie es soll. Wird die Prozedur in einem Rutsch abgearbeitet, tut sie
so, wie wenn die Datei nicht offen wäre!?!?!?

Hier der Code:
**************************************************
Sub Ist_Datei_offen(var_Dateiname)
Dim var_File As Integer

On Error Resume Next

Do
Err.Clear
'Fehlernummer löschen
var_File = FreeFile 'freien
Filehandle holen
Open var_Dateiname For Binary Access Read Lock Read As #var_File
'Datei öffnen und dabei Fehlercode ermitteln
Close #var_File 'Datei
wieder schließen

Select Case Err.Number 'Auswertung
der Fehlernummer
Case 0
Case 70: MsgBox var_Dateiname + "Datei ist bereits offen! Bitte
schließen und auf OK klicken."
Case Else: MsgBox "Unbekannter Fehler"
End Select
MsgBox Err.Number 'nur zum
Test --> später raus damit
Loop Until Err.Number = 0 'in der
Schleife bleiben, bis die Datei geschlossen ist
End Sub
**************************************************
Wäre toll, wenn mir jemand von euch sagen könnte, wo der Haken sich
versteckt.

Übrigens läuft das alles unter Office 2000 - falls es ne Rolle spielen
sollte.

Danke und liebe Grüße


.



Relevant Pages


Loading