Как вывести список всех файлов в папке и подпапках на лист?
Пробовали ли вы когда-нибудь вывести все имена файлов из папки на лист, включая файлы, находящиеся в её подпапках? На самом деле, в Excel нет прямого способа перечислить имена файлов из папки и её подпапок. Однако сегодня я представлю несколько быстрых решений для выполнения этой задачи.
Вывод всех имен файлов в папке и подпапке с помощью кода VBA
Быстро и легко вывести все имена файлов в папке и подпапках с помощью Kutools для Excel
Вывод всех имен файлов в папке и подпапке с помощью кода VBA
Обычно в Excel нет встроенной функции для решения этой задачи, но вы можете применить следующий код VBA для завершения этой проблемы.
1. Активируйте новый лист, на котором будут перечислены имена файлов.
2. Удерживайте клавиши ALT + F11 в Excel, чтобы открыть окно Microsoft Visual Basic for Applications.
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, чтобы запустить этот код, и появится диалоговое окно Макросы. Выберите имя макроса MainList, а затем нажмите кнопку Выполнить, см. скриншот:
5. В окне Обзор выберите папку, из которой вы хотите вывести все имена файлов, включая подпапки, см. скриншот:
6. После указания папки нажмите кнопку OK, и все имена файлов в папке и её подпапках будут выведены на текущий лист, начиная с ячейки A2, см. скриншоты:
![]() |
![]() |
![]() |
Быстро и легко вывести все имена файлов в папке и подпапках с помощью Kutools для Excel
С помощью указанного выше кода вы можете просто вывести имена файлов. Иногда вам нужно вывести другие атрибуты, такие как размер файла, тип файла, время создания, содержащая папка и т.д. Kutools для Excel содержит полезную функцию – Список имен файлов, с помощью которой вы можете быстро вывести все или определенные типы имен файлов в папке и её подпапках.
После загрузки и установки Kutools для Excel выполните следующие шаги:
1. Нажмите Предприятие > Импорт и экспорт > Список имен файлов, см. скриншот:
2. В диалоговом окне Список имен файлов выполните следующие действия:
A: Нажмите кнопку, чтобы выбрать папку, из которой вы хотите вывести имена файлов;
B: Укажите тип файлов, которые вы хотите вывести, в разделе Тип файлов;
C: Выберите единицу измерения размера файла, которую вы хотите отобразить, в разделе Единица измерения размера файла.
Примечание: Чтобы вывести имена файлов из подпапок, отметьте Включить файлы в подкаталогах. При необходимости вы также можете отметить Включить скрытые файлы и папки. Если вы отметите Создать гиперссылки, это создаст гиперссылки для каждого имени файла и папки.
3. Затем нажмите кнопку OK, и все файлы, содержащиеся в выбранной папке и её подпапках, будут отображены со следующими атрибутами в новом листе. См. скриншот:
Нажмите, чтобы узнать больше о функции Список имен файлов.
Скачайте и попробуйте Kutools для Excel прямо сейчас бесплатно!
Лучшие инструменты для повышения продуктивности работы с Office
Ускорьте работу в Excel с Kutools для Excel и ощутите новую степень эффективности. Kutools для Excel предлагает более300 расширенных функций для повышения продуктивности и экономии времени. Нажмите здесь, чтобы выбрать нужную вам функцию...
Office Tab добавляет вкладки в Office и делает вашу работу намного проще
- Включите редактирование и чтение с вкладками в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна, а не в отдельных окнах.
- Увеличьте свою продуктивность на50% и сократите сотни лишних кликов мышью каждый день!