В тази статия ще създадем макрос за събиране на подробности за всички файлове в папка.
Преди да стартираме макроса, трябва да посочим пътя на папката в текстовото поле.
При стартиране на макроса той ще върне името на файла, пътя на файла, размера на файла, датата на създаване и датата на последната промяна на всички файлове в папката.
Логично обяснение
В тази статия създадохме два макроса „ListFilesInFolder“ и „TestListFilesInFolder“.
Макросът „ListFilesInFolder“ ще показва подробности, свързани с всички файлове в папката.
Макросът „TestListFilesInFolder“ се използва за определяне на заглавката и извикване на макрос „ListFilesInFolder“.
Обяснение на кода
Задайте FSO = CreateObject ("Scripting.FileSystemObject")
Горният код се използва за създаване на нов обект на обект на файлова система.
Задайте SourceFolder = FSO.GetFolder (SourceFolderName)
Горният код се използва за създаване на обект от папката, посочена от пътя.
Клетки (r, 1). Формула = FileItem.Name
Клетки (r, 2). Формула = FileItem.Path
Клетки (r, 3). Формула = FileItem.Size
Клетки (r, 4). Формула = FileItem.DateCreated
Клетки (r, 5). Формула = FileItem.DateLastModified
Горният код се използва за извличане на подробности за файловете.
За всяка подпапка в SourceFolder.SubFolders
„Извикване на същата процедура за подпапки
ListFilesInFolder SubFolder.Path, True
Следваща подпапка
Горният код се използва за извличане на подробности за всички файлове в подпапки.
Колони („A: E“). Изберете
Selection.ClearContents
Горният код се използва за изтриване на съдържание от колони А до Е.
Моля, следвайте кода по -долу
Опция Изричен Sub ListFilesInFolder (ByVal SourceFolderName As String, ByVal IncludeSubfolders As Boolean) 'Деклариране на променливи Dim FSO като Object Dim SourceFolder като Object Dim SubFolder като Object Dim FileItem As Object Dim r As Long' Създаване на обект на FileSystemObject Set F .FileSystemObject ") Задайте SourceFolder = FSO.GetFolder (SourceFolderName) r = Диапазон (" A65536 "). End (xlUp) .Row + 1 За всеки FileItem в SourceFolder. Свойства на файловете за показване на файлове Клетки (r, 1). FileItem.Name Клетки (r, 2) .Formula = FileItem.Path клетки (r, 3) .Formula = FileItem.Размери на клетките (r, 4) .Formula = FileItem.DateCreated клетки (r, 5) .Formula = FileItem. DateLastModified r = r + 1 Next FileItem 'Получаване на файлове в подпапки If IncludeSubfolders Тогава за всяка подпапка в SourceFolder.SubFolders' Извикване същата процедура за подпапки ListFilesInFolder SubFolder.Path, True Next SubFolder End If Set FileItem = Nothing Set SourceFolder = Nothing set FSO = Нищо ActiveWorkbook.Saved = Вярно End Sub Sub TestListFilesInFolder () "Деклариране на променлива Dim FolderPath като низ" Деактивиране на актуализациите на екрана Application.ScreenUpdating = False "Получаване на пътя на папката от текстовото поле FolderPath = Sheet1.TextBox1.Value ActiveSheet.Activate" Изчистване на съдържанието от колони A: E Колони ("A: E"). Изберете Selection.ClearContents 'Добавяне на заглавки Range ("A14"). Formula = "Име на файла:" Range ("B14"). Formula = "Path:" Range ("C14"). Formula = "Размер на файла:" Диапазон ("D14"). Формула = "Дата на създаване:" Обхват ("E14"). Формула = "Дата на последната промяна:" 'Форматиране на обхвата на заглавките ("A14: E14"). Шрифт .Bold = True 'Calling ListFilesInFolder макрос ListFilesInFolder FolderPath, True' Автоматично регулиране на размера на колоните Колони ("A: E"). Изберете Selection.Columns.AutoFit Range ("A1"). Изберете End Sub
Ако този блог ви е харесал, споделете го с приятелите си във Facebook. Също така можете да ни следвате в Twitter и Facebook.
Ще се радваме да чуем от вас, уведомете ни как можем да подобрим работата си и да я направим по -добра за вас. Пишете ни на имейл сайта