Λίστα λεπτομερειών όλων των αρχείων σε ένα φάκελο που χρησιμοποιούν VBA στο Microsoft Excel

Πίνακας περιεχομένων

Σε αυτό το άρθρο, θα δημιουργήσουμε μια μακροεντολή για τη συλλογή λεπτομερειών όλων των αρχείων σε έναν φάκελο.

Πριν από την εκτέλεση της μακροεντολής, πρέπει να καθορίσουμε τη διαδρομή του φακέλου στο πλαίσιο κειμένου.

Κατά την εκτέλεση της μακροεντολής, θα επιστρέψει όνομα αρχείου, διαδρομή αρχείου, μέγεθος αρχείου, ημερομηνία δημιουργίας και ημερομηνία τελευταίας τροποποίησης όλων των αρχείων του φακέλου.

Λογική εξήγηση

Σε αυτό το άρθρο, έχουμε δημιουργήσει δύο μακροεντολές "ListFilesInFolder" και "TestListFilesInFolder".

Η μακροεντολή "ListFilesInFolder" θα εμφανίσει λεπτομέρειες που σχετίζονται με όλα τα αρχεία του φακέλου.

Η μακροεντολή "TestListFilesInFolder" χρησιμοποιείται για τον καθορισμό της κεφαλίδας και την κλήση της μακροεντολής "ListFilesInFolder".

Επεξήγηση κώδικα

Ορισμός FSO = CreateObject ("Scripting.FileSystemObject")

Ο παραπάνω κώδικας χρησιμοποιείται για τη δημιουργία ενός νέου αντικειμένου αντικειμένου συστήματος αρχείων.

Ορισμός SourceFolder = FSO.GetFolder (SourceFolderName)

Ο παραπάνω κώδικας χρησιμοποιείται για τη δημιουργία ενός αντικειμένου του φακέλου που καθορίζεται από τη διαδρομή.

Κελιά (r, 1). Formula = FileItem.Name

Κελιά (r, 2) .Formula = FileItem.Path

Κελιά (r, 3). Formula = FileItem.Size

Κελιά (r, 4) .Formula = FileItem.DateCreated

Κελιά (r, 5) .Formula = FileItem.DateLastModified

Ο παραπάνω κώδικας χρησιμοποιείται για την εξαγωγή λεπτομερειών των αρχείων.

Για κάθε υποφάκελο στο SourceFolder.SubFolders

«Κλήση της ίδιας διαδικασίας για τους υποφακέλους

ListFilesInFolder SubFolder.Path, True

Επόμενος Υποφάκελος

Ο παραπάνω κώδικας χρησιμοποιείται για την εξαγωγή λεπτομερειών όλων των αρχείων στους υποφακέλους.

Στήλες ("A: E"). Επιλέξτε

Επιλογή. ClearContents

Ο παραπάνω κώδικας χρησιμοποιείται για τη διαγραφή περιεχομένου από τη στήλη Α έως Ε.

Ακολουθήστε παρακάτω για τον κωδικό

 Επιλογή ρητή υπο -λίστα .FileSystemObject ") Ορισμός SourceFolder = FSO.GetFolder (SourceFolderName) r = Εύρος (" A65536 "). Τέλος (xlUp). Σειρά + 1 για κάθε FileItem In SourceFolder.Files 'Προβολή αρχείων Ιδιότητες αρχείων Κελιά (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 Επόμενο FileItem 'Λήψη αρχείων σε υποφάκελους Αν Περιλαμβάνονται οι Υποφάκελοι Στη συνέχεια για κάθε Υποφάκελο στον SourceFolder.SubFolders' Calling the same procedure for sub folders ListFilesInFolder SubFolder.Path, True Next SubFolder End If Set FileItem = Nothing Set Set FileFeter = FSO = Τίποτα ActiveWorkbook.Saved = True End Sub Sub TestListFilesInFolder () 'Δήλωση μεταβλητής Dim FolderPath As String' Απενεργοποίηση ενημερώσεων οθόνης Application.ScreenUpdating = False 'Λήψη της διαδρομής φακέλου από το πλαίσιο κειμένου FolderPath = Sheet1.TextBox1.Value ActiveSheet.Activate' Εκκαθάριση του περιεχομένου από τις στήλες A: E ("A: E"). Επιλέξτε Selection.ClearContents 'Adding headers Range ("A14"). Formula = "Name file:" Range ("B14"). Formula = "Path:" Range ("C14"). Formula = "Μέγεθος αρχείου:" Εύρος ("D14"). Formula = "Ημερομηνία δημιουργίας:" Εύρος ("E14"). Formula = "Ημερομηνία τελευταίας τροποποίησης:" 'Διαμόρφωση εύρους κεφαλίδων ("A14: E14"). Γραμματοσειρά .Bold = True 'Calling ListFilesInFolder macro ListFilesInFolder FolderPath, True' Αυτόματη προσαρμογή του μεγέθους των στηλών των στηλών ("A: E"). Επιλέξτε Selection.Columns.AutoFit Range ("A1"). Επιλέξτε End Sub 

Αν σας άρεσε αυτό το blog, μοιραστείτε το με τους φίλους σας στο Facebook. Επίσης, μπορείτε να μας ακολουθήσετε στο Twitter και το Facebook.

Θα θέλαμε πολύ να σας ακούσουμε, ενημερώστε μας πώς μπορούμε να βελτιώσουμε το έργο μας και να το κάνουμε καλύτερο για εσάς. Γράψτε μας στον ιστότοπο email

Θα βοηθήσει στην ανάπτυξη του τόπου, μοιράζονται τη σελίδα με τους φίλους σας

wave wave wave wave wave