Navedite podrobnosti vseh datotek v mapi z uporabo VBA v programu Microsoft Excel

Anonim

V tem članku bomo ustvarili makro za zbiranje podrobnosti o vseh datotekah v mapi.

Preden zaženemo makro, moramo v besedilno polje podati pot do mape.

Ko zaženete makro, bo vrnil ime datoteke, pot datoteke, velikost datoteke, datum ustvarjanja in datum zadnje spremembe vseh datotek v mapi.

Logična razlaga

V tem članku smo ustvarili dva makra »ListFilesInFolder« in »TestListFilesInFolder«.

Makro »ListFilesInFolder« bo prikazal podrobnosti o vseh datotekah v mapi.

Makro »TestListFilesInFolder« se uporablja za podajanje glave in klicanje makra »ListFilesInFolder«.

Razlaga kode

Nastavite FSO = CreateObject ("Scripting.FileSystemObject")

Zgornja koda se uporablja za ustvarjanje novega predmeta predmeta datotečnega sistema.

Nastavi izvorno mapo = FSO.GetFolder (izvorno ime mape)

Zgornja koda se uporablja za ustvarjanje predmeta mape, ki jo določa pot.

Celice (r, 1). Formula = FileItem.Name

Celice (r, 2). Formula = FileItem.Path

Celice (r, 3). Formula = FileItem.Size

Celice (r, 4). Formula = FileItem.DateCreated

Celice (r, 5). Formula = FileItem.DateLastModified

Zgornja koda se uporablja za pridobivanje podrobnosti o datotekah.

Za vsako podmapo v izvorni mapi.podmape

'Klicanje istega postopka za podmape

ListFilesInFolder SubFolder.Path, True

Naslednja podmapa

Zgornja koda se uporablja za pridobivanje podrobnosti o vseh datotekah v podmapah.

Stolpci ("A: E"). Izberite

Selection.ClearContents

Zgornja koda se uporablja za brisanje vsebine iz stolpcev A do E.

Za kodo sledite spodaj

 Možnost Explicit Sub ListFilesInFolder (ByVal SourceFolderName As String, ByVal IncludeSubfolders as Boolean) 'Razglasitev spremenljivk Dim FSO kot Object Dim SourceFolder kot Object Dim SubFolder kot Object Dim FileItem As Object Dim r As Long' Ustvarjanje predmeta FileSystemObject Set F .FileSystemObject ") Nastavi izvorno mapo = FSO.GetFolder (izvorno ime mape) r = obseg (" A65536 "). Konec (xlUp). Vrstica + 1 za vsak element datoteke v izvorni mapi. Lastnosti datotek za prikaz celic Celice (r, 1). Celice FileItem.Name (r, 2) .Formula = FileItem.Path Cells (r, 3) .Formula = FileItem.The Cells (r, 4) .Formula = FileItem.DateCreated celice (r, 5) .Formula = FileItem. DateLastModified r = r + 1 Next FileItem 'Pridobivanje datotek v podmape, če vključi podmape, nato za vsako podmapo v izvorni mapi.Spoklice mapa pokliče isti postopek za podmape ListFilesInFolder Podmapa. Pot, True Naslednja podmapa, če je nastavljena FileItem = nič nastavljena SourceFolder = nič nastavljeno FSO = Nič ActiveWorkbook.Saved = True End Sub Sub TestListFilesInFolder () "Razglasitev spremenljivke Dim FolderPath kot niz" Onemogočanje posodobitev zaslona Application.ScreenUpdating = False "Pridobivanje poti mape iz polja z besedilom FolderPath = Sheet1.TextBox1.Value ActiveSheet.Activate" Brisanje vsebine iz stolpcev A: E Stolpci ("A: E"). Izberite Selection.ClearContents 'Dodajanje glav Obseg ("A14"). Formula = "Ime datoteke:" Obseg ("B14"). Formula = "Pot:" Obseg ("C14"). Formula = "Velikost datoteke:" Obseg ("D14"). Formula = "Datum ustvarjanja:" Obseg ("E14"). Formula = "Datum zadnje spremembe:" 'Oblikovanje obsega glav ("A14: E14"). Pisava .Bold = True 'Klicni seznam mapov ListFilesInFolder ListFilesInFolder FolderPath, True' Samodejno prilagajanje velikosti stolpcev Stolpci ("A: E"). Izberite Selection.Columns.AutoFit Range ("A1"). Izberite End Sub 

Če vam je bil ta blog všeč, ga delite s prijatelji na Facebooku. Prav tako nam lahko sledite na Twitterju in Facebooku.

Radi bi slišali od vas, nam sporočite, kako lahko izboljšamo svoje delo in ga izboljšamo za vas. Pišite nam na spletnem mestu e -pošte