VBA Tipp: Alle Laufwerke eines Typs ermitteln

Aus DBWiki
Wechseln zu: Navigation, Suche

Aufgabenstellung

Ich möchte alle Laufwerke eines bestimmten Typs ermitteln (z.B.: alle CD-ROM-Laufwerke).

Lösung

Public Const DRIVE_TYPE_UNDTERMINED = 0
Public Const DRIVE_ROOT_NOT_EXIST = 1
Public Const DRIVE_REMOVABLE = 2
Public Const DRIVE_FIXED = 3
Public Const DRIVE_REMOTE = 4
Public Const DRIVE_CDROM = 5
Public Const DRIVE_RAMDISK = 6
 
Private Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" _
  (ByVal nDrive As String) As Long
 
Public Function GetAllDrivesOfType(Optional Drivetype = DRIVE_CDROM)
Dim sPathName As String, Res As String, I As Long
  For I = Asc("A") To Asc("Z")
    sPathName = Chr(I)
    If GetDriveType(sPathName & ":\") = Drivetype Then Res = Res & ";" & sPathName
  Next
  GetAllDrivesOfType = Mid(Res, 2)
End Function

Aufruf

Debug.Print GetAllDrivesOfType()
Q;R;T

Weblinks

Siehe auch in der MS Knowledge Base: