Как вывести список всех файлов в папке и её подпапках на лист?
При работе с большими наборами файлов, распределённых по различным папкам и подпапкам, зачастую необходимо создать полный список имён всех файлов — для отслеживания, каталогизации или пакетной обработки. Однако Excel не предлагает встроенной функции, позволяющей перечислить на листе имена всех файлов из указанной папки, включая её подпапки. Это ограничение может создавать неудобства, особенно если структура папок сложна или файлы регулярно обновляются. К счастью, существуют практичные и надёжные способы эффективно решить эту задачу прямо в Excel.
В этом руководстве вы познакомитесь с несколькими подходами к перечислению имён всех файлов — включая те, что находятся в подпапках — прямо на листе Excel. Вы получите пошаговые инструкции, подробные пояснения параметров и ценные советы, как избежать типичных ошибок. Эти решения помогут оптимизировать управление файлами и легко адаптируются под любые профессиональные или личные задачи по организации данных.
Быстро и легко перечислите все имена файлов в папке и подпапках с помощью Power Query
Быстро и легко перечислите все имена файлов в папке и подпапках с помощью Kutools для Excel
Перечислите все имена файлов в папке и подпапках с помощью кода VBA
Быстро и легко перечислите все имена файлов в папке и подпапках с помощью Power Query
В последних версиях Excel встроенную функцию «Получить данные» (Power Query) можно использовать для загрузки списка файлов из папки вместе с выбранными атрибутами.
1. Перейдите в меню Данные > Получить данные > Из файла > Из папки.
2. Выберите папку, в которой нужно перечислить все файлы, и нажмите Открыть.
Таблица содержит список всех файлов из выбранной папки, включая файлы в подпапках.
3. Нажмите Загрузить/Загрузить в, чтобы загрузить список на лист.
Быстро и легко перечислите все имена файлов в папке и подпапках с помощью Kutools для Excel
Хотя VBA отлично справляется с созданием простых списков, он может показаться неудобным пользователям, не знакомым с программированием или настройками безопасности макросов в Excel. Кроме того, если вы хотите не просто перечислить имена файлов, но и одновременно отобразить их размеры, типы, даты создания или изменения и другие подробные атрибуты, надстройка Kutools для Excel предлагает интуитивное и надёжное решение.
Инструмент Список имен файлов в Kutools для Excel позволяет собрать информацию о файлах из выбранной папки и всех её подпапок всего за несколько щелчков мышью. Это решение особенно ценно для тех, кто ищет гибкость: вы можете фильтровать файлы по типу, создавать гиперссылки для мгновенного доступа или включать скрытые файлы и папки в результаты. Инструмент незаменим при работе с архивами документов, отслеживании медиатек или подготовке инвентаризаций данных для резервного копирования и аудита. Обратите внимание: перед выполнением следующих шагов необходимо скачать и установить Kutools для Excel.
После завершения установки выполните следующие действия, чтобы воспользоваться функцией Список имен файлов:
1. Щёлкните вкладку Enterprise на ленте Excel, выберите Импорт/экспорт, затем укажите Список имен файлов в меню. Откроется диалоговое окно настройки.

2. В диалоговом окне Список имен файлов вы можете задать следующие параметры, чтобы адаптировать список файлов под свои нужды:
A: Нажмите значок папки
, чтобы выбрать папку для сканирования. При необходимости инструмент автоматически включит подпапки.
B: В разделе Тип файла выберите «Все файлы», чтобы отображать файлы любого типа, или укажите конкретное расширение (например, *.xlsx, *.docx и т.д.), если вас интересуют только файлы определённого типа.
C: В разделе Единица измерения размера файла можно выбрать единицы измерения (например, байты, КБ, МБ) для отображения размера файла, что упрощает его интерпретацию.
Примечание: Чтобы включить имена файлов из всех подпапок, обязательно установите флажок Включить файлы в подкаталогах. Кроме того, вы можете отметить Включить скрытые файлы и папки, если хотите добавить их в список. При выборе опции Создать гиперссылку автоматически создаются кликабельные ссылки на каждый файл и папку — это обеспечивает быстрый доступ прямо с листа. Если какие-либо файлы отсутствуют в списке, проверьте настройки фильтрации и убедитесь, что доступ к ним не ограничен разрешениями или системными ограничениями.

3. Нажмите ОК, чтобы сформировать список файлов. Все файлы из выбранной папки и её подпапок появятся на новом листе вместе с указанными атрибутами (например, полный путь, размер, тип, дата создания и время изменения). Это обеспечивает чёткий и структурированный обзор, а также позволяет использовать привычные функции фильтрации и сортировки Excel для удобного управления данными.

Нажмите, чтобы узнать больше об утилите «Список имен файлов».
Скачайте и попробуйте Kutools для Excel уже сегодня!
Перечислите все имена файлов в папке и подпапках с помощью кода VBA
По умолчанию Excel не предлагает встроенной функции для рекурсивного перечисления файлов из папок и их подпапок. Однако вы можете использовать VBA (Visual Basic for Applications), чтобы автоматизировать этот процесс. С помощью VBA опытные пользователи могут расширять возможности Excel и гибко настраивать вывод — например, получать только имена файлов или добавлять дополнительные сведения, такие как путь к файлу.
Это решение идеально подходит, если вы уверенно владеете редактором VBA и регулярно выполняете подобные процедуры со списками файлов. Оно также будет полезно тем, кто предпочитает не устанавливать надстройки и поддерживать среду Excel максимально чистой от лишних компонентов. Однако имейте в виду: для работы макросов VBA необходимо включить макросы в Excel, что может быть запрещено в средах с повышенными требованиями безопасности. Всегда сохраняйте свою книгу перед запуском макросов, чтобы избежать случайной потери данных при наличии несохранённых изменений.
1. Создайте новый лист или активируйте существующий — именно на нём вы хотите разместить список всех имён файлов. Убедитесь, что лист пуст, чтобы случайно не перезаписать важные данные.
2. Нажмите ALT + F11, чтобы открыть окно редактора Microsoft Visual Basic for Applications (VBA).
3. В окне VBA щёлкните Вставка в строке меню, затем выберите Модуль. Эта операция добавит новый модуль, в который можно вставить код VBA.
Код 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. После того как вы укажете нужную папку, нажмите ОК. Макрос обработает указанную папку и все её подкаталоги, выведя список всех имён файлов на Текущий лист, начиная с ячейки A2. В зависимости от количества файлов и глубины вложенности структуры папок этот процесс может занять несколько секунд или даже дольше. Полученный список даёт полное представление о содержимом вашей папки.
![]() |
![]() |
![]() |
Если возникает ошибка, дважды проверьте, что выбранная папка существует и содержит файлы, а также убедитесь, что макросы разрешены в настройках безопасности Excel. При работе с крупной структурой папок или сетевыми дисками время обработки может увеличиться, и возможны ошибки тайм-аута или нехватки памяти — в этом случае попробуйте запускать макрос на более мелких подпапках.
Хотя VBA отлично справляется с созданием базового списка файлов, по умолчанию он, как правило, не извлекает такие атрибуты, как размер файла, дата изменения или владелец. Если вам нужны эти дополнительные сведения, вы можете либо доработать код, либо воспользоваться альтернативным методом, описанным ниже.
Для наилучших результатов регулярно проверяйте и обновляйте свой Список файлов, особенно если содержимое папок часто меняется. Всегда убедитесь, что у вас есть необходимые разрешения — особенно при сканировании сетевых расположений или общих дисков. Если результаты кажутся неожиданными, проверьте наличие таких проблем, как скрытые файлы, задержки синхронизации или ограничения доступа. Если какие-либо файлы или папки пропускаются, попробуйте запустить Excel от имени администратора или воспользуйтесь упрощённой Структурой папок.
Выбор оптимального метода зависит от вашего уровня комфорта, конкретных задач и того, насколько часто вы выполняете эту операцию. У каждого подхода свои плюсы: VBA подойдёт для гибкой настройки, Kutools — для удобства и расширенных возможностей, а встроенные средства Windows и Excel обеспечат самое простое решение без сторонних инструментов. Если проблемы остаются, обратитесь к документации Excel или вашей операционной системы для дальнейшего устранения неполадок.
Лучшие инструменты повышения продуктивности в Office
Раскройте весь потенциал Excel с помощью Kutools для Excel и ощутите эффективность как никогда раньше.Kutools для Excel предлагает более 300 расширенных функций для повышения продуктивности и Экономия времени.Нажмите здесь, чтобы получить нужную Вам функцию…
Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу
- Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна — вместо того чтобы использовать отдельные окна.
- Повышает вашу продуктивность на 50 % и экономит сотни кликов мышью каждый день!
Все надстройки Kutools — один установщик
Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.
- Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
- Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
- Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
- 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
- Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек


