Tipp 1.20 - Laufwerk beschreibbar

Wie kann ich prüfen, ob ein Laufwerk beschreibbar ist?

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

Beispiel:

Option Explicit
 
Public Declare Function DeleteFile Lib _
    "kernel32" Alias _
    "DeleteFileA" _
    (ByVal lpFileName As String) _
    As Long
 
Public Function IsDriveWritable( _
                sDrive As String) _
                As Boolean
  '// -----------------------------------------------------
  '// Methode:   | Prüft ob Laufwerk beschreibbar ist
  '// -----------------------------------------------------
  '// Parameter: | sDrive = Laufwerksbuchstaben
  '//            |          (Beispiel: E:\)
  '// -----------------------------------------------------
  '// Rückgabe:  | True = Laufwerk ist beschreibbar;
  '//            | False = Laufwerk ist nicht beschreibbar
  '// -----------------------------------------------------
  '// Autor:     | Stefan Kulpa
  '//            | EDV Innovation & Consulting - Dormagen
  '// -----------------------------------------------------
  Dim iFile As Integer
  Dim sFile As String
 
  On Error GoTo Err_IsDriveWritable
  sFile = VBA.Left$(sDrive, 1) + ":TEST.$$$"
  iFile = FreeFile
  Open sFile For Random As #iFile Len = 1
  Close #iFile
  IsDriveWritable = (Err.Number = 0)
  DeleteFile sFile
 
Exit_IsDriveWritable:
  On Error GoTo 0
  Exit Function
 
Err_IsDriveWritable:
  IsDriveWritable = (Err.Number = 0)
  Resume Exit_IsDriveWritable
 
End Function