Перейти к содержимому

Как вывести список всех файлов в папке и подпапках на лист?

Author: Xiaoyang Last Modified: 2025-06-05

Пробовали ли вы когда-нибудь вывести все имена файлов из папки на лист, включая файлы, находящиеся в её подпапках? На самом деле, в 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, а затем нажмите кнопку Выполнить, см. скриншот:

a screenshot of running the VBA code

5. В окне Обзор выберите папку, из которой вы хотите вывести все имена файлов, включая подпапки, см. скриншот:

a screenshot of selecting the folder you want to list all filenames including the subfolders

6. После указания папки нажмите кнопку OK, и все имена файлов в папке и её подпапках будут выведены на текущий лист, начиная с ячейки A2, см. скриншоты:

a screenshot of the seleted folder
a screenshot of an arrow
a screenshot listing all filenames from the selected folder and its subfolders

Быстро и легко вывести все имена файлов в папке и подпапках с помощью Kutools для Excel

С помощью указанного выше кода вы можете просто вывести имена файлов. Иногда вам нужно вывести другие атрибуты, такие как размер файла, тип файла, время создания, содержащая папка и т.д. Kutools для Excel содержит полезную функцию – Список имен файлов, с помощью которой вы можете быстро вывести все или определенные типы имен файлов в папке и её подпапках.

После загрузки и установки Kutools для Excel выполните следующие шаги:

1. Нажмите Предприятие > Импорт и экспорт > Список имен файлов, см. скриншот:

a screenshot of enabling the Filename List feature of Kutools

2. В диалоговом окне Список имен файлов выполните следующие действия:

A: Нажмите a screenshot of the folder iconкнопку, чтобы выбрать папку, из которой вы хотите вывести имена файлов;

B: Укажите тип файлов, которые вы хотите вывести, в разделе Тип файлов;

C: Выберите единицу измерения размера файла, которую вы хотите отобразить, в разделе Единица измерения размера файла.

Примечание: Чтобы вывести имена файлов из подпапок, отметьте Включить файлы в подкаталогах. При необходимости вы также можете отметить Включить скрытые файлы и папки. Если вы отметите Создать гиперссылки, это создаст гиперссылки для каждого имени файла и папки.

a screenshot of configuring the Filename List dialog box

3. Затем нажмите кнопку OK, и все файлы, содержащиеся в выбранной папке и её подпапках, будут отображены со следующими атрибутами в новом листе. См. скриншот:

a screenshot listing the details of files of the selected folder

Нажмите, чтобы узнать больше о функции Список имен файлов.

Скачайте и попробуйте Kutools для Excel прямо сейчас бесплатно!


Лучшие инструменты для повышения продуктивности работы с Office

🤖 Kutools AI Aide: Совершенно новый подход к анализу данных на основе: Интеллектуальное выполнение |  Генерация кода  |  Создание пользовательских формул |  Анализ данных и построение диаграмм  |  Вызов Расширенных функций Kutools
Популярные функции: Найти, выделить или отметить дубликаты | Удалить пустые строки | Объединить столбцы или ячейки без потери данных |   Округлить без формулы ...
Супер ПОИСК: VLOOKUP по нескольким критериям | VLOOKUP с несколькими значениями | Многолистовой поиск | Распознавание нечетких соответствий ....
Расширенный раскрывающийся список: Быстро создать раскрывающийся список | Зависимый раскрывающийся список | Множественный выбор в раскрывающемся списке ....
Менеджер столбцов: Добавить определённое количество столбцов | Переместить столбцы | Переключить видимость скрытых столбцов | Сравнить диапазоны и столбцы ...
Избранные функции: Сетка фокусировки | Дизайн листа | Улучшенная строка формулы | Управление книгами и листами | Библиотека автотекста | Выбор даты | Объединить данные | Шифрование/расшифровка ячеек | Отправить письмо по списку | Супер фильтр | Специальный фильтр (фильтр ячеек с жирным/курсивом/зачёркнутым...) ...
Топ-15 наборов инструментов:12 текстовых инструментов (Добавить текст, Удалить определенные символы, ...) |50+ типов диаграмм (Диаграмма Ганта, ...) |40+ практических формул (Расчет возраста на основе даты рождения, ...) |19 инструментов вставки (Вставить QR-код, Вставить изображение по пути, ...) |12 инструментов преобразования (Преобразовать в слова, Конвертация валюты, ...) |7 инструментов для объединения и разделения (Расширенное объединение строк, Разделить ячейки, ...) | ... и многое другое

Ускорьте работу в Excel с Kutools для Excel и ощутите новую степень эффективности. Kutools для Excel предлагает более300 расширенных функций для повышения продуктивности и экономии времени. Нажмите здесь, чтобы выбрать нужную вам функцию...


Office Tab добавляет вкладки в Office и делает вашу работу намного проще

  • Включите редактирование и чтение с вкладками в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Открывайте и создавайте несколько документов во вкладках одного окна, а не в отдельных окнах.
  • Увеличьте свою продуктивность на50% и сократите сотни лишних кликов мышью каждый день!