Zoznam podrobností o všetkých súboroch v priečinku pomocou jazyka VBA v programe Microsoft Excel

Anonim

V tomto článku vytvoríme makro na zhromažďovanie podrobností o všetkých súboroch v priečinku.

Pred spustením makra musíme do textového poľa zadať cestu k priečinku.

Po spustení makra vráti zo všetkých súborov v priečinku názov súboru, cestu k súboru, veľkosť súboru, dátum vytvorenia a dátum poslednej úpravy.

Logické vysvetlenie

V tomto článku sme vytvorili dve makrá „ListFilesInFolder“ a „TestListFilesInFolder“.

Makro „ListFilesInFolder“ zobrazí podrobnosti týkajúce sa všetkých súborov v priečinku.

Makro „TestListFilesInFolder“ sa používa na zadanie hlavičky a volania makra „ListFilesInFolder“.

Vysvetlenie kódu

Nastaviť FSO = CreateObject ("Scripting.FileSystemObject")

Vyššie uvedený kód sa používa na vytvorenie nového objektu objektu systému súborov.

Nastaviť SourceFolder = FSO.GetFolder (SourceFolderName)

Vyššie uvedený kód sa používa na vytvorenie objektu priečinka určeného cestou.

Bunky (r, 1). Vzorec = FileItem.Name

Bunky (r, 2). Vzorec = FileItem.Path

Bunky (r, 3). Vzorec = FileItem.Size

Bunky (r, 4). Vzorec = FileItem.DateCreated

Bunky (r, 5). Vzorec = FileItem.DateLastModified

Vyššie uvedený kód sa používa na extrahovanie podrobností o súboroch.

Pre každý podpriečinok v priečinku SourceFolder.SubFolders

'Rovnaký postup sa volá pre podpriečinky

ListFilesInFolder SubFolder.Path, True

Nasledujúca podpriečinok

Vyššie uvedený kód sa používa na extrahovanie podrobností o všetkých súboroch v podpriečinkoch.

Stĺpce („A: E“). Vyberte

Výber. Jasný obsah

Vyššie uvedený kód sa používa na odstránenie obsahu zo stĺpcov A až E.

Pri kódovaní postupujte podľa nižšie uvedených pokynov

 Voľba Explicitný čiastkový zoznamFilesInFolder (ByVal SourceFolderName ako reťazec, ByVal IncludeSubfolders ako booleovský) „Deklarovanie premenných Dim FSO ako Object Dim SourceFolder ako Object Dim SubFolder ako Object Dim FileItem As Object Dim r as Long 'Vytváranie objektu FileSystemObject Set FSO = CreateObject (" S .FileSystemObject ") Nastaviť SourceFolder = FSO.GetFolder (SourceFolderName) r = Rozsah (" A65536 "). Koniec (xlUp). Riadok + 1 pre každý súbor v položke SourceFolder.Files 'Vlastnosti súboru pre zobrazenie buniek (r, 1) .Formula = CellItem.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 Nasledujúca položka súboru 'Získavanie súborov v podpriečinkoch, ak sú zahrnuté podpriečinky, potom pre každú podpriečinok v priečinku SourceFolder.SubFolders Rovnaký postup pre podpriečinky ListFilesInFolder SubFolder.Path, True Next SubFolder End If Set FileItem = Nothing Set SourceFolder = Nothing Set FSO = Nič ActiveWorkbook.Saved = True End Sub Sub TestListFilesInFolder () „Deklarovanie premennej Dim FolderPath ako reťazec“ Zakázanie aktualizácií obrazovky Application.ScreenUpdating = False „Získanie cesty k priečinku z textového poľa FolderPath = Sheet1.TextBox1.Value ActiveSheet.Activate“ Vymazanie obsahu zo stĺpcov A: E stĺpcov ("A: E"). Vyberte Selection.ClearContents 'Pridávanie hlavičiek Rozsah ("A14"). Vzorec = "Názov súboru:" Rozsah ("B14"). Vzorec = "Cesta:" Rozsah ("C14"). Vzorec = "Veľkosť súboru:" Rozsah ("D14"). Vzorec = "Dátum vytvorenia:" Rozsah ("E14"). Vzorec = "Dátum poslednej úpravy:" 'Formovanie rozsahu hlavičiek ("A14: E14"). Písmo .Bold = True 'Volanie makra ListFilesInFolder ListFilesInFolder FolderPath, True' Automatické nastavenie veľkosti stĺpcov Stĺpce ("A: E"). Vyberte Selection.Columns.AutoFit Range ("A1"). Vyberte End Sub 

Ak sa vám tento blog páčil, zdieľajte ho so svojimi priateľmi na Facebooku. Môžete nás tiež sledovať na Twitteri a Facebooku.

Budeme radi, ak sa nám ozvete, dajte nám vedieť, ako môžeme zlepšiť našu prácu a zlepšiť ju pre vás. Napíšte nám na emailovú stránku