Tipp 1.17 - Existiert Laufwerk

Wie kann ich prüfen, ob ein Laufwerk existiert?

Mit dieser Funktion können Sie prüfen, ob ein Laufwerk 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.

Api-AufrufeVerwendete Win32-Api-Aufrufe und Typen: GetLogicalDriveStrings

Beispiel:

Option Explicit
 
Public Declare Function GetLogicalDriveStrings _
    Lib "kernel32" Alias _
    "GetLogicalDriveStringsA" ( _
    ByVal nBufferLength As Long, _
    ByVal lpBuffer As String) _
    As Long
 
Public Function DriveExists( _
                ByVal sDrive As String) _
                As Boolean
  '// -----------------------------------------------------
  '// Methode:   | Prüft ob Laufwerk existiert
  '// -----------------------------------------------------
  '// Parameter: | sSource = Laufwerksbuchstaben
  '//            |           (Beispiel: E:\)
  '// -----------------------------------------------------
  '// Rückgabe:  | True = Ordner vorhanden;
  '//            | False = Ordner nicht vorhanden
  '// -----------------------------------------------------
  '// Autor:     | Stefan Kulpa
  '//            | EDV Innovation & Consulting - Dormagen
  '// -----------------------------------------------------
  Dim sDrives As String
 
  On Error Resume Next
 
  sDrive = VBA.Trim$(sDrive)
  If VBA.Len(sDrive) = 0 Then Exit Function
  sDrive = VBA.Left$(sDrive, 1)
  sDrives = VBA.Space$(64)
  '// Suchlaufwerk im String
  '// aller verfügbaren Laufwerke suchen
  Call GetLogicalDriveStrings(VBA.Len(sDrives), sDrives)
  DriveExists = VBA.InStr(1, sDrives, sDrive, 1) > 0
 
End Function