Tipp 1.19 - Existiert Datei
Wie kann ich prüfen, ob eine Datei existiert?
Mit dieser Funktion können Sie prüfen, ob eine Datei existiert. Kopieren Sie einfach nachfolgenden Quellcode in die Zwischenablage und fügen Sie anschließend den Inhalt der Zwischenablage in ein neues Modul ein. Die Aufrufparameter finden Sie im Quellcode beschrieben.
Verwendete Win32-Api-Aufrufe und Typen: FindFirstFile, FindClose - FILETIME, WIN32_FIND_DATA
Beispiel:
Option Explicit Public Const MAXPATH As Long = 260 Public Type FILETIME dwLowDateTime As Long dwHighDateTime As Long End Type Public Type WIN32_FIND_DATA dwFileAttributes As Long ftCreationTime As FILETIME ftLastAccessTime As FILETIME ftLastWriteTime As FILETIME nFileSizeHigh As Long nFileSizeLow As Long dwReserved0 As Long dwReserved1 As Long cFileName As String * MAXPATH cAlternate As String * 14 End Type Public Declare Function FindFirstFile _ Lib "kernel32" Alias _ "FindFirstFileA" _ (ByVal lpFileName As String, _ lpFindFileData As WIN32_FIND_DATA) _ As Long Public Declare Function FindClose _ Lib "kernel32" _ (ByVal hFindFile As Long) As Long Public Function FileExists( _ ByVal sSource As String) _ As Boolean '// ----------------------------------------------------- '// Methode: | Prüft ob Datei existiert '// ----------------------------------------------------- '// Parameter: | sSource = gültiger Dateipfad '// | (auch UNC-Pfad) '// ----------------------------------------------------- '// Rückgabe: | True = Datei vorhanden; '// | False = Datei nicht vorhanden '// ----------------------------------------------------- '// Autor: | Stefan Kulpa '// | EDV Innovation & Consulting - Dormagen '// ----------------------------------------------------- Const INVALID_HANDLE_VALUE As Long = -1 Dim WFD As WIN32_FIND_DATA Dim lFile As Long lFile = FindFirstFile(sSource, WFD) '// Prüfung auf gültigen Datei-Handle FileExists = lFile <> INVALID_HANDLE_VALUE Call FindClose(lFile) End Function