Как да изброя всички файлове в папка и подпапки в работен лист?
Опитвали ли сте някога да изброите всички имена на файлове от папка в работен лист, включително файловете, разположени в нейните подпапки? Всъщност няма директен начин да изброим имената на файловете от папка и нейната подпапка в Excel, но днес ще представя някои бързи трикове за решаване на тази задача.
Избройте всички имена на файлове в папка и подпапка с VBA код
Избройте всички имена на файлове в папка и подпапка бързо и лесно с Kutools за Excel
Избройте всички имена на файлове в папка и подпапка с VBA код
Обикновено Excel няма вградена функция за справяне с тази задача, но можете да приложите следния VBA код, за да разрешите този проблем.
1. Активирайте нов работен лист, който ще изброи имената на файловете.
2. Задръжте натиснат ALT + F11 клавиши в Excel и отваря Microsoft Visual Basic за приложения прозорец.
3. Щракнете Поставете > Модулии поставете следния код в Прозорец на модула.
VBA код: Избройте всички имена на файлове в папка и подпапка
Sub MainList()
'Updateby Extendoffice
Set folder = Application.FileDialog(msoFileDialogFolderPicker)
If folder.Show <> -1 Then Exit Sub
xDir = folder.SelectedItems(1)
Call ListFilesInFolder(xDir, True)
End Sub
Sub ListFilesInFolder(ByVal xFolderName As String, ByVal xIsSubfolders As Boolean)
Dim xFileSystemObject As Object
Dim xFolder As Object
Dim xSubFolder As Object
Dim xFile As Object
Dim rowIndex As Long
Set xFileSystemObject = CreateObject("Scripting.FileSystemObject")
Set xFolder = xFileSystemObject.GetFolder(xFolderName)
rowIndex = Application.ActiveSheet.Range("A65536").End(xlUp).Row + 1
For Each xFile In xFolder.Files
Application.ActiveSheet.Cells(rowIndex, 1).Formula = xFile.Name
rowIndex = rowIndex + 1
Next xFile
If xIsSubfolders Then
For Each xSubFolder In xFolder.SubFolders
ListFilesInFolder xSubFolder.Path, True
Next xSubFolder
End If
Set xFile = Nothing
Set xFolder = Nothing
Set xFileSystemObject = Nothing
End Sub
Function GetFileOwner(ByVal xPath As String, ByVal xName As String)
Dim xFolder As Object
Dim xFolderItem As Object
Dim xShell As Object
xName = StrConv(xName, vbUnicode)
xPath = StrConv(xPath, vbUnicode)
Set xShell = CreateObject("Shell.Application")
Set xFolder = xShell.Namespace(StrConv(xPath, vbFromUnicode))
If Not xFolder Is Nothing Then
Set xFolderItem = xFolder.ParseName(StrConv(xName, vbFromUnicode))
End If
If Not xFolderItem Is Nothing Then
GetFileOwner = xFolder.GetDetailsOf(xFolderItem, 8)
Else
GetFileOwner = ""
End If
Set xShell = Nothing
Set xFolder = Nothing
Set xFolderItem = Nothing
End Function
4. След като поставите кода в модула, натиснете F5 ключ за изпълнение на този код и a Макроси изскача диалогов прозорец, изберете Основен списък име на макрос и след това щракнете бягане бутон, вижте екранната снимка:
5, И в паса прозорец, моля, изберете папката, в която искате да изброите всички имена на файлове, включително подпапките, вижте екранната снимка:
6. След като посочите папката, щракнете OK и всички имена на файлове в папката и нейните подпапки са изброени в текущия работен лист от клетка A2, вижте екранните снимки:
Избройте всички имена на файлове в папка и подпапка бързо и лесно с Kutools за Excel
С горния код можете просто да изброите имената на файловете, понякога трябва да изброите други атрибути, като размер на файла, тип файл, време на създаване, съдържаща папка и т.н. Kutools за Excel съдържа полезна функция – Списък с имена на файлове, с тази функция можете бързо да изброите всички или конкретни типове имена на файлове в папка и нейните подпапки.
Kutools за Excel : с повече от 300 удобни добавки за Excel, безплатни за изпробване без ограничение за 30 дни. |
След инсталиране Kutools за Excel, моля, направете следните стъпки:
1. Щракнете Enterprise > Внос износ > Списък с имена на файлове, вижте екранна снимка:
2. В Списък с имена на файлове диалогов прозорец, направете следните операции:
A: Щракнете бутон, за да изберете папката, в която искате да изведете имената на файловете;
B: Посочете типа файл, който искате да посочите от Тип файлове раздел;
C: Изберете една единица за размер на файла, която искате да покажете от Единица за размер на файла раздел.
Забележка: За да изброите имената на файловете от подпапката, моля, проверете Включете файлове в поддиректории, можете също да проверите Включете скрити файлове и папки както ви трябва. Ако проверите Създайте хипервръзки опция, тя ще създаде хипервръзки за всяко име на файл и папка.
3, След това кликнете OK всички файлове, съдържащи се в избраната папка и нейните подпапки, са показани със следните атрибути в нов работен лист. Вижте екранна снимка:
Щракнете, за да научите повече подробности за тази помощна програма Filename List.
Изтеглете и изпробвайте безплатно Kutools за Excel сега!
Демонстрация: Избройте всички имена на файлове в папка и подпапка с Kutools за Excel
Най-добрите инструменти за продуктивност в офиса
Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време. Щракнете тук, за да получите функцията, от която се нуждаете най-много...
Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна
- Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
- Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!