Luettele kaikkien kansion tiedostojen tiedot Microsoft Excelin VBA: n avulla

Anonim

Tässä artikkelissa luomme makron, joka kerää tiedot kaikista kansion tiedostoista.

Ennen makron suorittamista meidän on määritettävä kansion polku tekstikenttään.

Makroa käytettäessä se palauttaa kaikkien kansion tiedostojen tiedostonimen, tiedostopolun, tiedoston koon, luontipäivämäärän ja viimeisen muokkauksen päivämäärän.

Looginen selitys

Tässä artikkelissa olemme luoneet kaksi makroa "ListFilesInFolder" ja "TestListFilesInFolder".

"ListFilesInFolder" -makro näyttää tiedot kaikista kansion tiedostoista.

"TestListFilesInFolder" -makroa käytetään otsikon määrittämiseen ja "ListFilesInFolder" -makron kutsumiseen.

Koodin selitys

Aseta FSO = CreateObject ("Scripting.FileSystemObject")

Yllä olevaa koodia käytetään uuden tiedostojärjestelmäobjektin objektin luomiseen.

Aseta SourceFolder = FSO.GetFolder (SourceFolderName)

Yllä olevaa koodia käytetään polun määrittämän kansion objektin luomiseen.

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

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

Solut (r, 3) Kaava = FileItem.Size

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

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

Yllä olevaa koodia käytetään tiedostojen tietojen poimimiseen.

Jokaiselle SourceFolder.SubFolders -alikansiolle

'Soittaminen samaan menettelyyn alikansioille

ListFilesInFolder SubFolder.Path, True

Seuraava alikansio

Yllä olevaa koodia käytetään poimimaan kaikkien alikansioiden tiedostojen tiedot.

Sarakkeet ("A: E"). Valitse

Valinta.ClearContents

Yllä olevaa koodia käytetään sisällön poistamiseen sarakkeesta A - E.

Seuraa koodia alla

 Vaihtoehto Explicit Sub ListFilesInFolder (ByVal SourceFolderName As String, ByVal IncludeSubfolders as Boolean) 'Ilmoittavat muuttujat Dim FSO Objektina Dim LähdeKansio Objektina Dim Alikansio Objektina Dim FileItem Objektina Dim r Niin kauan' FileSystemObt -objektin luominen FSO = Create .FileSystemObject ") Aseta SourceFolder = FSO.GetFolder (SourceFolderName) r = Range (" A65536 "). End (xlUp) .Row + 1 For SourceFolder.Files 'File File 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 Seuraava FileItem 'Tiedostojen hakeminen alikansioihin 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 = Ei mitään ActiveWorkbook.Saved = Totta End Sub Sub TestListFilesInFolder () 'Muuttujan Dim FolderPath julistaminen merkkijonoksi' Näytön päivitysten poistaminen käytöstä Application.ScreenUpdating = False 'Kansion polun hakeminen tekstiruudusta FolderPath = Sheet1.TextBox1.Value ActiveSheet.Activate' Sisällön poistaminen sarakkeista A: E Sarakkeet ("A: E"). Valitse Selection.ClearContents 'Otsikoiden lisääminen alue ("A14"). Formula = "Tiedostonimi:" Alue ("B14"). = "Tiedoston koko:" Alue ("D14"). Formula = "Luotu:" Alue ("E14" "). .Bold = True 'Calling ListFilesInFolder -makro ListFilesInFolder FolderPath, True' Automaattinen sarakkeiden koon säätäminen Sarakkeet ("A: E"). Valitse Selection.Columns.AutoFit Range ("A1"). Valitse End Sub 

Jos pidit tästä blogista, jaa se ystävillesi Facebookissa. Voit myös seurata meitä Twitterissä ja Facebookissa.

Haluaisimme kuulla sinusta, kerro meille, kuinka voimme parantaa työtämme ja parantaa sitä sinulle. Kirjoita meille sähköpostitse