V tomto článku vytvoříme makro pro shromažďování podrobností o všech souborech ve složce.
Před spuštěním makra musíme do textového pole zadat cestu ke složce.
Při spuštění makra vrátí název souboru, cestu k souboru, velikost souboru, datum vytvoření a datum poslední změny ze všech souborů ve složce.
Logické vysvětlení
V tomto článku jsme vytvořili dvě makra „ListFilesInFolder“ a „TestListFilesInFolder“.
Makro „ListFilesInFolder“ zobrazí podrobnosti týkající se všech souborů ve složce.
Makro „TestListFilesInFolder“ se používá k určení záhlaví a volání makra „ListFilesInFolder“.
Vysvětlení kódu
Nastavit FSO = CreateObject ("Scripting.FileSystemObject")
Výše uvedený kód se používá k vytvoření nového objektu objektu systému souborů.
Nastavit SourceFolder = FSO.GetFolder (SourceFolderName)
Výše uvedený kód se používá k vytvoření objektu složky určené cestou.
Buňky (r, 1). Vzorec = FileItem.Name
Buňky (r, 2). Vzorec = FileItem.Path
Buňky (r, 3). Vzorec = FileItem.Size
Buňky (r, 4). Vzorec = FileItem.DateCreated
Buňky (r, 5). Vzorec = FileItem.DateLastModified
Výše uvedený kód se používá k extrahování podrobností o souborech.
Pro každou podsložku v SourceFolder.SubFolders
'Volání stejného postupu pro podsložky
ListFilesInFolder SubFolder.Path, True
Další podsložka
Výše uvedený kód se používá k extrahování podrobností o všech souborech v podsložkách.
Sloupce („A: E“). Vyberte
Selection.ClearContents
Výše uvedený kód slouží k odstranění obsahu ze sloupců A až E.
Pro kód prosím postupujte níže
Možnost Explicit Sub SubFilesInFolder (ByVal SourceFolderName As String, ByVal IncludeSubfolders As Boolean) 'Declaring variables Dim FSO As Object Dim SourceFolder As Object Dim SubFolder As Object Dim FileItem As Object Dim r As Long' Vytváření objektu FileSystemObject Set FSO = CreateObject ("S .FileSystemObject ") Nastavit SourceFolder = FSO.GetFolder (SourceFolderName) r = Rozsah (" A65536 "). Konec (xlUp). Řádek + 1 pro každou položku FileItem v souboru SourceFolder.Files 'Zobrazit vlastnosti souboru Buňky (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 Next FileItem 'Získávání souborů do podsložek If IncludeSubfolders Then For each SubFolder In SourceFolder.SubFolders' Calling same procedure for sub folders ListFilesInFolder SubFolder.Path, True Next SubFolder End If Set FileItem = Nothing Set SourceFolder = Nothing Set FSO = Nic ActiveWorkbook.Saved = True End Sub Sub TestListFilesInFolder () 'Deklarace proměnné Dim FolderPath jako řetězec' Deaktivace aktualizací obrazovky Application.ScreenUpdating = False 'Získání cesty ke složce z textového pole FolderPath = Sheet1.TextBox1.Value ActiveSheet.Activate' Vymazání obsahu ze sloupců A: E Sloupce („A: E“). Vyberte Selection.ClearContents Přidávání hlaviček Rozsah („A14“). Vzorec = „Název souboru:“ Rozsah („B14“). Vzorec = „Cesta:“ Rozsah („C14“). Vzorec = "Velikost souboru:" Rozsah ("D14"). Vzorec = "Datum vytvoření:" Rozsah ("E14"). Vzorec = "Datum poslední změny:" 'Formování záhlaví Rozsah ("A14: E14"). Písmo .Bold = True 'Volání ListFilesInFolder Makro ListFilesInFolder FolderPath, True' Automatické nastavení velikosti sloupců Sloupce ("A: E"). Vyberte Selection.Columns.AutoFit Range ("A1"). Vyberte End Sub
Pokud se vám tento blog líbil, sdílejte ho se svými přáteli na Facebooku. Také nás můžete sledovat na Twitteru a Facebooku.
Rádi bychom od vás slyšeli, dejte nám vědět, jak můžeme zlepšit naši práci a zlepšit ji pro vás. Napište nám na e -mail