Autor: Peter Haserodt --- Aus Excel VBA - Gruppe:
Häufige FragenDatei 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