In diesem Artikel erstellen wir ein Makro, um Details zu allen Dateien in einem Ordner zu sammeln.
Bevor wir das Makro ausführen, müssen wir den Pfad des Ordners im Textfeld angeben.
Beim Ausführen des Makros werden Dateiname, Dateipfad, Dateigröße, Erstellungsdatum und Datum der letzten Änderung aller Dateien im Ordner zurückgegeben.
Logikerklärung
In diesem Artikel haben wir zwei Makros „ListFilesInFolder“ und „TestListFilesInFolder“ erstellt.
Das Makro „ListFilesInFolder“ zeigt Details zu allen Dateien im Ordner an.
Das Makro „TestListFilesInFolder“ wird verwendet, um den Header anzugeben und das Makro „ListFilesInFolder“ aufzurufen.
Codeerklärung
FSO setzen = CreateObject("Scripting.FileSystemObject")
Der obige Code wird verwendet, um ein neues Objekt des Dateisystemobjekts zu erstellen.
Set SourceFolder = FSO.GetFolder(SourceFolderName)
Der obige Code wird verwendet, um ein Objekt des durch den Pfad angegebenen Ordners zu erstellen.
Cells(r, 1).Formula = FileItem.Name
Cells(r, 2).Formula = FileItem.Path
Zellen(r, 3).Formel = FileItem.Size
Zellen(r, 4).Formel = FileItem.DateCreated
Cells(r, 5).Formula = FileItem.DateLastModified
Der obige Code wird verwendet, um Details der Dateien zu extrahieren.
Für jeden Unterordner in SourceFolder.SubFolders
'Gleiche Prozedur für Unterordner aufrufen
ListFilesInFolder SubFolder.Path, True
Nächster Unterordner
Der obige Code wird verwendet, um Details aller Dateien in Unterordnern zu extrahieren.
Columns("A:E").Select
Auswahl.Inhalte löschen
Der obige Code wird verwendet, um Inhalte von Spalte A bis E zu löschen.
Bitte folgen Sie unten für den Code
Option Explicit Sub ListFilesInFolder(ByVal SourceFolderName As String, ByVal IncludeSubfolders As Boolean) 'Variablen deklarieren Dim FSO As Object Dim SourceFolder As Object Dim SubFolder As Object Dim FileItem As Object Dim r As Long 'Objekt von FileSystemObject erstellen Set Scripting . CreateObject(" .FileSystemObject") Set SourceFolder = FSO.GetFolder(SourceFolderName) r = Range("A65536").End(xlUp).Row + 1 für jedes FileItem in SourceFolder.Files 'Dateieigenschaften anzeigen Cells(r, 1).Formula = FileItem.Name Cells(r, 2).Formula = FileItem.Path Cells(r, 3).Formula = FileItem.Size Cells(r, 4).Formula = FileItem.DateCreated Cells(r, 5).Formula = FileItem. DateLastModified r = r + 1 Next FileItem 'Dateien in Unterordnern abrufen If IncludeSubfolders Then For Each SubFolder In SourceFolder.SubFolders 'Aufruf der gleichen Prozedur für Unterordner ListFilesInFolder SubFolder.Path, True Next SubFolder End If Set FileItem = Nichts Set SourceFolder = Nothing Set FSO = Nichts ActiveWorkbook.Saved = True End Sub Sub TestListFilesInFolder() 'Variable Dim FolderPath als String deklarieren 'Bildschirmaktualisierungen deaktivieren Application.ScreenUpdating = False 'Ordnerpfad aus Textfeld abrufen FolderPath = Sheet1.TextBox1.Value ActiveSheet.Activate 'Inhalt aus Spalten löschen A:E Spalten ("A:E").Select Selection.ClearContents 'Hinzufügen von Headern Range("A14").Formula = "Dateiname:" Range("B14").Formula = "Pfad:" Range("C14").Formula = "Dateigröße:" Range("D14").Formula = "Erstellungsdatum:" Range("E14").Formula = "Datum der letzten Änderung:" 'Formatierung der Überschriften Range("A14:E14").Font .Bold = True 'Aufruf von ListFilesInFolder Makro ListFilesInFolder FolderPath, True 'Automatische Anpassung der Spaltengröße Columns("A:E").Select Selection.Columns.AutoFit Range("A1").Select End Sub
Wenn Ihnen dieser Blog gefallen hat, teilen Sie ihn mit Ihren Freunden auf Facebook. Außerdem können Sie uns auf Twitter und Facebook folgen.
Wir würden uns freuen, von Ihnen zu hören, lassen Sie uns wissen, wie wir unsere Arbeit verbessern und für Sie verbessern können. Schreiben Sie uns auf der E-Mail-Site