Как вывести список всех файлов в папке и подпапках на лист?
При работе с большими наборами файлов, хранящихся в различных папках и подпапках, вам может потребоваться создать полный список всех имен файлов для отслеживания, каталогизации или пакетной обработки. Однако Excel не предоставляет прямого встроенного инструмента для вывода списка всех файлов из папки — включая подпапки — на лист. Это ограничение может создавать сложности, особенно если структура папок сложная или файлы часто обновляются. К счастью, существуют практичные и надёжные методы, которые помогут выполнить эту задачу эффективно в Excel.
В этом руководстве вы узнаете о нескольких подходах к выводу всех имен файлов — включая файлы внутри подпапок — прямо на лист Excel. Также будут предоставлены подробные шаги операций, пояснения параметров и советы по избежанию распространённых ошибок. Эти решения помогут упростить процесс управления файлами и могут быть адаптированы для различных профессиональных или личных задач организации данных.
Быстро и легко вывести все имена файлов в папке и подпапках с помощью Power Query
Быстро и легко вывести все имена файлов в папке и подпапках с помощью Kutools для Excel
Вывод всех имен файлов в папке и подпапках с помощью VBA-кода
Быстро и легко вывести все имена файлов в папке и подпапках с помощью Power Query
В последних версиях Excel встроенную функцию Get Data (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 для приложений), чтобы автоматизировать этот процесс. Использование VBA позволяет продвинутым пользователям расширять возможности Excel, предоставляя гибкость для настройки вывода — например, просто получить имена файлов или включить дополнительные свойства, такие как пути к файлам.
Это решение особенно подходит, если вы уверенно работаете с редактором VBA и вам нужно регулярно автоматизировать процедуры вывода файлов. Оно также полезно для тех, кто хочет сохранить среду Excel чистой, не устанавливая дополнительные надстройки. Однако учтите, что VBA-макросы требуют включения макросов в Excel, что может быть запрещено в высокозащищенных средах. Всегда помните сохранить вашу книгу перед запуском любых макросов, чтобы предотвратить случайную потерю данных, если у вас есть несохраненные изменения.
1. Создайте или активируйте новый лист, куда вы хотите вывести все имена файлов. Убедитесь, что этот лист пуст, чтобы не затирать важные данные.
2. Нажмите ALT + F11, чтобы открыть окно редактора Microsoft Visual Basic для приложений (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-дневная полнофункциональная пробная версия — без регистрации и кредитной карты
- Лучшее соотношение цены и качества — экономия по сравнению с покупкой отдельных надстроек