VBA Tipp: Laufwerksbuchstabe Datei ermitteln

Aus DBWiki
Wechseln zu: Navigation, Suche

Aufgabenstellung

Ich habe wechselnde Laufwerke und möchte herausfinden, auf welchem Laufwerk sich eine bestimmte Datei befindet.

Lösung

Das geht mit folgender Funktion. Im Argument DateipfadOhneLaufwerk wird der Dateiname und ggf. der Unterordner ohne Laufwerksbuchstabe übergeben.

Public Function LaufwerkSuchen(DateipfadOhneLaufwerk As String) As String
 
   ' Quelle: http://www.dbwiki.net/
 
   Const MoeglicheBuchstaben As String = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
 
   Dim strLaufwerk As String
   Dim i           As Long
   Dim strDir      As String
 
   On Error Resume Next
 
   For i = 1 To Len(MoeglicheBuchstaben)
 
      strLaufwerk = Mid$(MoeglicheBuchstaben, i, 1)
      strDir = Dir$(strLaufwerk & ":\" & DateipfadOhneLaufwerk)
 
      If Not strDir = vbNullString Then
         LaufwerkSuchen = strLaufwerk
         Exit For
      End If
 
   Next
 
End Function

Aufruf

   MsgBox "Die Datei liegt auf dem Laufwerk " & _
          LaufwerkSuchen("EinVerzeichnis\testdatei.txt") & ":\"