Sarakstiet informāciju par visiem mapē esošajiem failiem, izmantojot Microsoft Excel VBA

Anonim

Šajā rakstā mēs izveidosim makro, lai apkopotu informāciju par visiem mapē esošajiem failiem.

Pirms makro palaišanas mums tekstlodziņā jānorāda mapes ceļš.

Palaižot makro, tas atgriezīs visu mapē esošo failu faila nosaukumu, faila ceļu, faila lielumu, izveides datumu un pēdējās mainīšanas datumu.

Loģisks skaidrojums

Šajā rakstā mēs esam izveidojuši divus makro “ListFilesInFolder” un “TestListFilesInFolder”.

Makro “ListFilesInFolder” tiks parādīta informācija par visiem mapē esošajiem failiem.

Makro “TestListFilesInFolder” izmanto, lai norādītu galveni un izsauktu makro “ListFilesInFolder”.

Koda skaidrojums

Iestatīt FSO = CreateObject ("Scripting.FileSystemObject")

Iepriekš minētais kods tiek izmantots, lai izveidotu jaunu failu sistēmas objekta objektu.

Iestatīt SourceFolder = FSO.GetFolder (SourceFolderName)

Iepriekš minēto kodu izmanto, lai izveidotu ceļa norādītās mapes objektu.

Šūnas (r, 1). Formula = FileItem.Name

Šūnas (r, 2). Formula = FileItem.Path

Šūnas (r, 3). Formula = FileItem.Size

Šūnas (r, 4). Formula = FileItem.DateCreated

Šūnas (r, 5). Formula = FileItem.DateLastModified

Iepriekš minētais kods tiek izmantots, lai iegūtu sīkāku informāciju par failiem.

Katrai apakšmapei SourceFolder.SubFolders

“Izsauciet to pašu procedūru apakšmapēm

ListFilesInFolder apakšmape. Ceļš, patiess

Nākamā apakšmape

Iepriekš minēto kodu izmanto, lai iegūtu sīkāku informāciju par visiem apakšmapēs esošajiem failiem.

Kolonnas ("A: E"). Atlasiet

Atlase. Skaidrs saturs

Iepriekš minēto kodu izmanto, lai dzēstu saturu no kolonnas A līdz E.

Lūdzu, sekojiet tālāk norādītajam kodam

 Opcija Explicit Sub ListFilesInFolder (ByVal SourceFolderName As String, ByVal IncludeSubfolders as Boolean) 'Mainīgo lielumu deklarēšana Dim FSO kā objekts Dim SourceFolder kā objekts Dim Apakšmape kā objekts Dim FileItem kā objekts Dim r tik ilgi' FileSystemObject objekta izveide FSO = Create .FileSystemObject ") Iestatīt SourceFolder = FSO.GetFolder (SourceFolderName) r = Diapazons (" A65536 "). Beigas (xlUp). Rinda + 1 katrai FileForma vietnei SourceFolder.Files 'Displeja faila rekvizīti Šūnas (r, 1) .Formula = FileItem.Name Cells (r, 2). Formula = FileItem. Ceļa šūnas (r, 3). Formula = FileItem. Izmēra šūnas (r, 4). Formula = FileItem.DateCreated Cells (r, 5). Formula = FileItem. DateLastModified r = r + 1 Next FileItem 'Failu iegūšana apakšmapēs Ja IncludeSubfolders Tad katrai apakšmapei SourceFolder.SubFolders' Zvanīšana tāda pati procedūra apakšmapēm ListFilesInFolder SubFolder.Path, True Next SubFolder End If Set FileItem = Nothing Set SourceFolder = Nothing Set FSO = Nekas ActiveWorkbook.Saved = True End Sub Sub TestListFilesInFolder () 'Mainīgā Dim FolderPath deklarēšana kā virkne' Ekrāna atjauninājumu atspējošana Application.ScreenUpdating = False 'Mapes ceļa iegūšana no tekstlodziņa FolderPath = Sheet1.TextBox1.Value ActiveSheet.Activate' Satura dzēšana no kolonnām A: E Kolonnas ("A: E"). Atlasiet Selection.ClearContents 'Pievienot galvenes diapazonu ("A14"). Formula = "Faila nosaukums:" Diapazons ("B14"). Formula = "Ceļš:" Diapazons ("C14"). Formula = "Faila lielums:" Diapazons ("D14"). Formula = "Izveidošanas datums:" Diapazons ("E14"). Formula = "Pēdējās modificēšanas datums:" 'Virsrakstu diapazona formatēšana ("A14: E14"). Fonts . Bold = True 'Calling ListFilesInFolder macro ListFilesInFolder FolderPath, True' Automātiski pielāgo kolonnu lielumu Kolonnas ("A: E"). Atlasiet Selection.Columns.AutoFit Range ("A1"). Atlasiet Beigt apakšdaļu 

Ja jums patika šis emuārs, kopīgojiet to ar saviem draugiem Facebook. Varat arī sekot mums Twitter un Facebook.

Mēs labprāt uzklausītu jūsu viedokli, dariet mums zināmu, kā mēs varam uzlabot savu darbu un padarīt to labāku jums. Rakstiet mums e -pasta vietnē