Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Laufwerknamen auslesen

Laufwerknamen auslesen
20.02.2019 12:10:46
Werner
Hallo an alle Spezialisten,
ich bräuchte hier etwas Hilfe.
Ich habe verschiedene externe Festplatten mit Bauteil-Zeichnungen drauf. Nun wollte ich mir eine Übersicht erstellen, die automatisch die Zeichnungsdatei, Dateigröße und Name des Laufwerks auflistet.
Die Dateinamen und Größe bekomme ich mittlerweile ausgelesen und aufgelistet, jedoch fehlt mir der Befehl für das Auslesen des Laufwerknamens. Der Buchstabe nützt mir nichts, da jedes Laufwerk als Laufwerk G: in meinem PC anmeldet.
Vielen Dank für Eure Hilfe.
Schöne Grüße
Werner
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufwerknamen auslesen
20.02.2019 13:09:16
Werner
Hallo Zwenn,
vielen Dank für Deine Antwort. Die Seite behandelt eine generelle Abfrage der Laufwerke. Ich möchte den Namen eines von mir zuvor ausgewählten Laufwerkes auslesen können.
Anbei mal mein Makro:
Public Sub OrdnerListen_Start()
Dim FSO As Object
Dim strPfad As String
Application.ScreenUpdating = False
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Start-Verzeichnis wählen"
.ButtonName = "übernehmen"
If .Show  -1 Then Exit Sub
strPfad = .SelectedItems(1)
End With
With ActiveSheet
Set FSO = CreateObject("Scripting.FileSystemObject")
Worksheets("Inhalt").Cells(1, 16) = Laufwerkname hier eintragen
End Sub

Leider bekomme ich das Beispielmakro nicht so umgebaut, wie ich es benötige.
Über eine erneute Rückmeldung wäre ich sehr dankbar.
Mit freundlichen Grüßen
Werner
Anzeige
AW: Laufwerknamen auslesen
20.02.2019 13:17:59
PeterK
Hallo

Public Sub OrdnerListen_Start()
Dim FSO As Object
Dim FO as Object
Dim strPfad As String
Application.ScreenUpdating = False
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Start-Verzeichnis wählen"
.ButtonName = "übernehmen"
If .Show  -1 Then Exit Sub
strPfad = .SelectedItems(1)
End With
With ActiveSheet
Set FSO = CreateObject("Scripting.FileSystemObject")
Set FO = FSO.GetFolder(strPfad)
Worksheets("Inhalt").Cells(1, 16) = FO.drive.sharename
end with
End Sub

Anzeige
;
Anzeige

Infobox / Tutorial

Laufwerknamen auslesen in Excel


Schritt-für-Schritt-Anleitung

Um den Laufwerknamen in Excel auszulesen, kannst du ein VBA-Makro verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Gehe zu Einfügen > Modul, um ein neues Modul zu erstellen.

  3. Kopiere den folgenden VBA-Code in das Modul:

    Public Sub OrdnerListen_Start()
       Dim FSO As Object
       Dim FO As Object
       Dim strPfad As String
       Application.ScreenUpdating = False
       With Application.FileDialog(msoFileDialogFolderPicker)
           .Title = "Start-Verzeichnis wählen"
           .ButtonName = "übernehmen"
           If .Show -1 Then Exit Sub
           strPfad = .SelectedItems(1)
       End With
       With ActiveSheet
           Set FSO = CreateObject("Scripting.FileSystemObject")
           Set FO = FSO.GetFolder(strPfad)
           Worksheets("Inhalt").Cells(1, 16) = FO.Drive.ShareName
       End With
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu deinem Excel-Arbeitsblatt.

  5. Führe das Makro aus, indem du ALT + F8 drückst, wähle OrdnerListen_Start aus und klicke auf Ausführen.

  6. Wähle das gewünschte Laufwerk aus. Der Laufwerknamen wird in der Zelle P1 (16. Spalte) des Arbeitsblattes "Inhalt" angezeigt.


Häufige Fehler und Lösungen

  • Fehler: Laufwerkname wird nicht angezeigt

    • Lösung: Stelle sicher, dass du die richtige Zelle angibst, in die der Laufwerknamen geschrieben wird. Im Beispiel ist es Worksheets("Inhalt").Cells(1, 16).
  • Fehler: Makro läuft nicht

    • Lösung: Überprüfe, ob Makros in deiner Excel-Version aktiviert sind. Gehe zu Datei > Optionen > Trust Center > Einstellungen für das Trust Center > Makroeinstellungen.

Alternative Methoden

Wenn du keine VBA-Programmierung nutzen möchtest, kannst du auch eine Excel-Formel verwenden, um Informationen über das Laufwerk zu erhalten. Allerdings ist diese Methode eingeschränkter und bietet nicht die Möglichkeit, den Laufwerknamen direkt auszulesen.


Praktische Beispiele

Hier ist ein Beispiel, wie du das Makro anpassen kannst, um zusätzlich die Dateigröße und den Dateinamen aufzulisten:

Public Sub OrdnerListen_Start()
    Dim FSO As Object
    Dim FO As Object
    Dim strPfad As String
    Dim Datei As Object
    Dim i As Integer
    Application.ScreenUpdating = False
    With Application.FileDialog(msoFileDialogFolderPicker)
        .Title = "Start-Verzeichnis wählen"
        .ButtonName = "übernehmen"
        If .Show -1 Then Exit Sub
        strPfad = .SelectedItems(1)
    End With
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set FO = FSO.GetFolder(strPfad)

    i = 1
    For Each Datei In FO.Files
        Worksheets("Inhalt").Cells(i, 1) = Datei.Name
        Worksheets("Inhalt").Cells(i, 2) = Datei.Size
        i = i + 1
    Next Datei
    Worksheets("Inhalt").Cells(1, 16) = FO.Drive.ShareName
End Sub

Tipps für Profis

  • Nutze Option Explicit am Anfang deines Moduls, um sicherzustellen, dass alle Variablen deklariert werden. Dies hilft, Fehler zu vermeiden.
  • Experimentiere mit der FileSystemObject-Klasse, um mehr über die Eigenschaften von Dateien und Ordnern zu lernen.
  • Erstelle eine Benutzeroberfläche oder ein Formular, um die Auswahl des Laufwerks benutzerfreundlicher zu gestalten.

FAQ: Häufige Fragen

1. Kann ich das Makro in einer älteren Excel-Version verwenden?
Ja, das Makro sollte auch in Excel-Versionen vor 2016 funktionieren, solange VBA unterstützt wird.

2. Wo finde ich die Ergebnisse des Makros?
Die Ergebnisse werden in das Arbeitsblatt "Inhalt" geschrieben, in die Zelle P1 für den Laufwerknamen und in die ersten beiden Spalten für die Dateinamen und -größen.

3. Wie kann ich das Makro anpassen, um nur bestimmte Dateitypen auszulesen?
Du kannst eine Bedingung in die Schleife einfügen, um nur Dateien eines bestimmten Typs zu berücksichtigen, zum Beispiel:

If Datei.Type = "DeinDateityp" Then
    ' Code hier
End If

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige