Rubrik: Dateisystem · Ordner & Verzeichnisse | VB-Versionen: VB4, VB5, VB6 | 01.11.00 |
Prüfen, ob ein Verzeichnis existiert Mit dieser universellen Funktion kann geprüft werden, ob ein bestimmtes Verzeichnis auf einem bestimmten Laufwerk existiert oder nicht. | ||
Autor: Dieter Otter | Bewertung: | Views: 25.597 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Ein Paar Tipps zurückliegend haben wir Ihnen gezeigt, wie man prüfen kann, ob eine bestimmte Datei existiert oder nicht. Diese Methode läßt sich allerdings nicht auf Verzeichnisse (Ordner) anwenden. Um zu prüfen, ob ein bestimmtes Verzeichnis (Ordner) vorhanden ist, bedienen Sie sich folgender API-Deklarationen und der Funktion FolderExists.
' Hier alle benötigten API-Funktionen Private Const MAX_PATH = 260 Private Const INVALID_HANDLE_VALUE = -1 Private Const FiLE_ATTRIBUTE_DIRECTORY = &H10 Private Type FileTime dwLowDateTime As Long dwHighDateTime As Long End Type Private Type WIN32_FIND_DATA dwFileAttributes As Long ftCreateionTime As FileTime ftLastAccessTime As FileTime ftLastWriteTime As FileTime nFileSizeHigh As Long nFileSizeLow As Long dwReserved0 As Long dwReserved1 As Long cFileName As String * MAX_PATH cAlternate As String * 14 End Type Private Declare Function FindFirstFile Lib "kernel32" _ Alias "FindFirstFileA" ( _ ByVal lpFileName As String, _ lpFindFileData As WIN32_FIND_DATA) As Long Private Declare Function FindClose Lib "kernel32" ( _ ByVal hWndFile As Long) As Long ' Die nachfolgende Funktion prüft, ob das angegebene Verzeichnis ' existiert und gibt im Erfolgsfall den Wert True zurück. ' Existiert das Verzeichnis nicht, wird False zurückgegeben. Public Function FolderExists(ByVal sFolder As String) As Boolean ' Der Parameter sFolder enthält das zu prüfende Verzeichnis Dim hFile As Long Dim WFD As WIN32_FIND_DATA sFolder = Trim$(sFolder) If right$(sFolder, 1) = "\" Then sFolder = left$(sFolder, Len(sFolder) - 1) End If hFile = FindFirstFile(sFolder, WFD) FolderExists = (hFile <> INVALID_HANDLE_VALUE) And _ (WFD.dwFileAttributes And FiLE_ATTRIBUTE_DIRECTORY) Call FindClose(hFile) End Function