Loetlege kõigi kausta failide üksikasjad, kasutades Microsoft Excelis VBA -d

Anonim

Selles artiklis loome makro, et koguda kausta kõigi failide üksikasjad.

Enne makro käivitamist peame tekstikasti kausta tee määrama.

Makro käivitamisel tagastab see kõigi kaustas olevate failide failinime, failitee, faili suuruse, loomise kuupäeva ja viimati muudetud kuupäeva.

Loogiline seletus

Selles artiklis oleme loonud kaks makrot „ListFilesInFolder” ja „TestListFilesInFolder”.

Makro „ListFilesInFolder” kuvab üksikasjad kõigi kaustas olevate failide kohta.

Makrot „TestListFilesInFolder” kasutatakse päise ja makro „ListFilesInFolder” määramiseks.

Koodi selgitus

Määra FSO = CreateObject ("Scripting.FileSystemObject")

Ülaltoodud koodi kasutatakse failisüsteemi objekti uue objekti loomiseks.

Määra SourceFolder = FSO.GetFolder (SourceFolderName)

Ülaltoodud koodi kasutatakse tee määratud kausta objekti loomiseks.

Lahtrid (r, 1). Vormel = FileItem.Name

Lahtrid (r, 2). Vormel = FileItem.Path

Lahtrid (r, 3). Vormel = FileItem.Size

Lahtrid (r, 4). Vormel = FileItem.DateCreated

Lahtrid (r, 5). Vormel = FileItem.DateLastModified

Ülaltoodud koodi kasutatakse failide üksikasjade eraldamiseks.

Iga alamkausta jaoks SourceFolder.SubFolders

'Sama protseduuri helistamine alamkaustade jaoks

ListFilesInFolder Alamkaust. Tee, tõene

Järgmine alamkaust

Ülaltoodud koodi kasutatakse alamkaustade kõigi failide üksikasjade eraldamiseks.

Veerud ("A: E"). Valige

Valik. Selge sisu

Ülaltoodud koodi kasutatakse sisu kustutamiseks veerust A kuni E.

Palun järgige koodi allpool

 Valik Selgesõnaline alamloend FilesInFolder (ByVal SourceFolderName As String, ByVal IncludeS Alamkaustad kui Boolean) 'Muutujate deklareerimine Dim FSO kui Objekt Dim Lähtekaust Objektina Dim Alamkaust Objektina Dim FileItem As Objekt Dim r Nii kaua' FileSystemObjecti objekti loomine FSO = Create .FileSystemObject ") Määra SourceFolder = FSO.GetFolder (SourceFolderName) r = Vahemik (" A65536 "). Lõpp (xlUp) .Rida + 1 iga FileItem kohta SourceFolder.Files 'Kuva faili atribuudid Lahtrid (r, 1) .Formula = FileItem.Name Cells (r, 2) .Formula = FileItem.Rajarakud (r, 3) .Formula = FileItem.Size Cells (r, 4) .Formula = FileItem.DateCreated Cells (r, 5) .Formula = FileItem. DateLastModified r = r + 1 Järgmine FileItem 'Failide hankimine alamkaustadesse Kui IncludeS Alamkaustad siis iga alamkausta jaoks SourceFolder.SubFolders' Helistamine sama protseduur alamkaustade jaoks ListFilesInFolder SubFolder.Path, True Next SubFolder End If Set FileItem = Nothing Set SourceFolder = Nothing Set FSO = Pole aktiivset töövihikut. Salvestatud = tõsi End Sub Sub TestListFilesInFolder () 'Muutuja Dim FolderPath kui string deklareerimine' Ekraanivärskenduste keelamine Application.ScreenUpdating = False 'Kausta tee hankimine tekstikasti FolderPath = Sheet1.TextBox1.Value ActiveSheet.Activate' Sisu kustutamine veergudest A: E Veerud ("A: E"). Valige Selection.ClearContents 'Päiste lisamise vahemik ("A14"). Valem = "Faili nimi:" Vahemik ("B14"). Valem = "Tee:" Vahemik ("C14"). Valem. = "Faili suurus:" Vahemik ("D14"). Valem = "Loomise kuupäev:" Vahemik ("E14"). Valem = "Viimase muutmise kuupäev:" 'Päiste vahemiku vormindamine ("A14: E14"). Font .Bold = True 'Calling ListFilesInFolder macro ListFilesInFolder FolderPath, True' Veergude suuruse automaatne reguleerimine Veerud ("A: E"). Valige Selection.Columns.AutoFit Range ("A1"). Valige Lõpeta alam 

Kui teile see blogi meeldis, jagage seda oma sõpradega Facebookis. Lisaks saate meid jälgida Twitteris ja Facebookis.

Tahaksime sinust kuulda, andke meile teada, kuidas saaksime oma tööd paremaks muuta ja teie jaoks paremaks muuta. Kirjuta meile meilisaidile