Option Explicit
Option Private Module
' ---------------------------------------------------------
' Funktion myDrives
' Eingestellt von: Andre Schau
' Datum: 2011-09-10
' Kommentar:
' Parameter:
' Rückgabe: verfuegbare Laufwerke
' Aufruf:
' Sub Call_myDrives()
' MsgBox "Vefuegbare Laufwerke: " & myDrives()
' End Sub
' Deklarierung der API-Funktion
Private Declare Function GetLogicalDriveStrings Lib "kernel32.dll" _
Alias "GetLogicalDriveStringsA" ( _
ByVal nBufferLength As Long, _
ByVal lpBuffer As String) As Long
' Aufruf
Sub call_myDrives()
MsgBox "Vefuegbare Laufwerke: " & myDrives()
End Sub
Private Function myDrives()
' Variablendeklaration
'Long
Dim retval&
'String
Dim strBuffer$
' Laufwerksbuchstaben ermitteln
strBuffer = Space(256)
' API Argumente Länge des String fuer Laufwerke, String fuer Laufwerke
retval = GetLogicalDriveStrings(Len(strBuffer), strBuffer)
'String strBuffer kuerzen
strBuffer = Left$(strBuffer, retval)
'Schraegstrich und Leerzeichen ersetzen
strBuffer = Replace(strBuffer, "\" & vbNullChar, ",")
'Rueckgabewert uebernehmen
myDrives = Left$(strBuffer, Len(strBuffer) - 1)
End Function