Sie möchten wissen, in welchem Verzeichnis sich NOTEPAD.EXE befindet? Oder der Windows-Explorer? Oder die Visual Basic Laufzeitdatei MSVBVM60.DLL? Oder: Sie möchten einfach alle in der Umgebungsvariable PATH festgelegten Ordner nach einer bestimmten Datei durchsuchen. Das alles ist mit der API-Funktion SearchPath ein Kinderspiel. ' Deklaration Private Declare Function SearchPath Lib "kernel32" _ Alias "SearchPathA" ( _ ByVal lpPath As String, _ ByVal lpFileName As String, _ ByVal lpExtension As String, _ ByVal nBufferLength As Long, _ ByVal lpBuffer As String, _ ByVal lpFilePart As String) As Long Erläuterung:
Welche Pfade die Umgebungsvariable enthält, kann man über folgende Anweisung ermitteln: MsgBox Environ("PATH") Um nun z.B. zu ermitteln, in welchem Verzeichnis sich die MSVBVM60.DLL befindet, einfach folgenden Aufruf verwenden: Dim sFile As String DIM nResult As Long Dim sBuffer As String ' Datei, nach der gesucht werden soll sFile = "MSVBVM60.DLL" ' Buffer für die Rückgabe des Verzeichnisses Const MAX_PATH = 260 sBuffer = Space$(MAX_PATH) ' Suchvorgang starten... nResult = SearchPath(vbNullString, sFile, "", Len(sBuffer), _ sBuffer, vbNullString) If nResult > 0 Then ' Datei gefunden MsgBox "Pfad: " & Left$(sBuffer, nResult) Else MsgBox "Datei nicht gefunden!" End If |