Siehe auch: | Datei geöffnet ? | 

Autor: Peter Haserodt  --- Aus Excel VBA - Gruppe: Häufige Fragen

Datei vorhanden ?

Autor: Peter Haserodt - Erstellt: --      - Letzte Revision: --
Auf die Existenz einer Datei prüfen

Dazu gibt es vielerlei Möglichkeiten, mein Favorit ist aber immer noch das gute alte Dir.
Bei vielen Beispielen wird aber einfach vernachlässigt, dass eine Datei durchaus existieren kann,
aber z.B. der Server nicht zur Verfügung steht (oder die Diskette nicht eingelegt ist oder oder...)

Im nachfolgendem Code wird False(0) zurückgegeben, wenn die Datei existiert, ansonsten eine 1 für nicht da an der angegebenen Adresse und eine 2 für andere Probleme (in der Regel Laufwerksprobleme)

Es lohnt sich, den Code zu studieren.

(Warum len(Dir) - Ganz einfach: Dies ist schneller als andere Konstrukte)

Option Explicit
 
Public Sub TestePfad()
 Dim sPfad As String, retVal As Byte
 sPfad = "C:\Testordner\Test.xls" ' Pfad ändern für Tests
 retVal = DateNichtDa(sPfad)
 If retVal Then
  MsgBox IIf(retVal = 1, "Datei nicht da", "Vermutlich Laufwerkfehler")
 Else
  MsgBox "Ist Da"
 End If
End Sub
 
Private Function DateNichtDa(DerPfad As String) As Byte
 ' Peter Haserodt
 On Error GoTo PfadError
 DateNichtDa = IIf(Len(Dir(DerPfad)) > 1, 0, 1)
 Exit Function
 PfadError:
 DateNichtDa = 2
End Function


Weitere Artikel der Gruppe: Häufige Fragen Aus Excel VBA
Nach oben