Verfügbare Laufwerke in Excel VBA ermitteln
Schritt-für-Schritt-Anleitung
Um verfügbare Laufwerke in Excel VBA zu ermitteln, kannst du die folgenden Schritte befolgen:
-
Öffne den Visual Basic for Applications (VBA) Editor:
- Drücke
ALT + F11
, um den Editor zu öffnen.
-
Füge ein neues Modul hinzu:
- Klicke im Menü auf
Einfügen
> Modul
.
-
Kopiere den folgenden Code in das Modul:
Sub Laufwerke()
Dim L As Byte, Anz As Byte, Dummy As String
For L = 0 To 25
On Error Resume Next
Dummy = Dir(Chr(65 + L) & ":\") ' Überprüfe Laufwerke A-Z
If Err <> 68 And Err <> 76 Then ' Fehlerbehandlung
Anz = Anz + 1
ReDim Preserve Lw(Anz)
Lw(Anz) = Chr(65 + L) & ":\"
End If
On Error GoTo 0
Next L
End Sub
-
Führe das Skript aus:
- Klicke auf
Ausführen
oder drücke F5
, um das Skript zu starten.
-
Prüfe die Ergebnisse:
- Die verfügbaren Laufwerke werden in der Variablen
Lw
gespeichert.
Häufige Fehler und Lösungen
Alternative Methoden
Eine alternative Möglichkeit ist die Verwendung des FileSystemObject (FSO). Hier ist ein Beispiel, das dir zeigt, wie du FSO einsetzen kannst:
Public Sub Test()
Dim Fs As Object
Dim lw As Object
Set Fs = CreateObject("Scripting.FileSystemObject")
For Each lw In Fs.Drives
If lw.IsReady Then
MsgBox lw
End If
Next
End Sub
Diese Methode bietet eine einfachere Handhabung und liefert dir eine direkte Rückmeldung über die verfügbaren Laufwerke.
Praktische Beispiele
Nehmen wir an, du möchtest eine Liste der verfügbaren Laufwerke in einer Excel-Tabelle ausgeben. Du könntest den folgenden Code verwenden:
Sub LaufwerkeInTabelle()
Dim L As Byte, Anz As Byte
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets(1) ' Erste Tabelle
For L = 0 To 25
On Error Resume Next
If Dir(Chr(65 + L) & ":\") <> "" Then
Anz = Anz + 1
ws.Cells(Anz, 1).Value = Chr(65 + L) & ":\"
End If
On Error GoTo 0
Next L
End Sub
Dieser Code listet alle verfügbaren Laufwerke in der ersten Spalte der ersten Tabelle auf.
Tipps für Profis
- Fehlerbehandlung optimieren: Verwende
On Error GoTo
für eine präzisere Fehlerbehandlung.
- Ergebnisse speichern: Überlege dir, wie du die Ergebnisse weiterverarbeiten möchtest, z.B. durch Speichern in einer Datei oder Datenbank.
- Performance verbessern: Wenn du viele Laufwerke abfragen möchtest, nutze die
Application.ScreenUpdating = False
-Einstellung, um die Performance zu optimieren.
FAQ: Häufige Fragen
1. Wie kann ich die Laufwerke in einer Benutzeroberfläche anzeigen?
Du kannst die Laufwerke in einem MessageBox oder in einer UserForm darstellen, um die Benutzererfahrung zu verbessern.
2. Funktioniert dieser Code in allen Excel-Versionen?
Ja, der gezeigte Code sollte in den meisten modernen Excel-Versionen ab Excel 2007 funktionieren. Stelle jedoch sicher, dass die VBA-Umgebung aktiviert ist.