Как сделать список файлов в папке в excel

Добавил пользователь Евгений Кузнецов
Обновлено: 04.10.2024

Для получения списка файлов в указанной папке используется свойство Files объекта Folder . Объект Folder в VBA Excel возвращается методом GetFolder объекта FileSystemObject по полному имени папки в качестве аргумента.

Если в указанной папке нет файлов, применение свойства Folder.Files приведет к возникновению ошибки. Для корректного завершения программы используйте обработчик ошибок или условие, проверяющее наличие файлов в папке.

Получение списка файлов в папке

Пример 1

Код VBA Excel для получения списка файлов в указанной папке и записи полных имен файлов в массив (с поздней привязкой объектов к переменным):

Вопрос от пользователя

Здравствуйте.

Помогите с одним вопросом. У меня есть несколько внешних дисков и на них записаны фильмы. Я хочу получить список всех названий (имен) этих файлов в тексте, чтобы его распечатать и положить рядом в коробочку с диском (скажем, навести порядок!).

Это серьезно бы облегчило поиск и подключение нужного диска.

Эту задачу можно решить несколькими способами (несмотря на то, что я ниже приведу универсальные варианты — в зависимости от вашей версии Windows, часть из них может не сработать. ). Так что проверяйте сразу несколько из них. 👌

ускорение ПК

Способы получить список имен файлов

Вариант 1 (с помощью Total Commander)

Наиболее простой и предпочтительный вариант (к тому же точно работающий во всех версиях ОС) — воспользоваться помощью 👉 Total Commander (ссылка на офиц. сайт). Если кто не знает — это спец. программа для работы с файлами (альтернатива проводнику).

Запустив Total Commander, перейдите в нужный каталог (в тот, где у вас хранятся фильмы, например) и выделите все файлы (для этого достаточно нажать Ctrl+A).

Выделяем все файлы в нужном каталоге

Выделяем все файлы в нужном каталоге

Далее в меню "Выделение" выберите опцию "Сохранить выделение в файл. " (в некоторых версиях программы есть возможность скопировать имена файлов в буфер — если сделаете так, то потом откройте документ Word и вставьте список, нажав Ctrl+V ).

Сохранить выделение в файл (Total Commander)

Сохранить выделение в файл (Total Commander)

Собственно, полученный текстовый файл можно открыть в любом блокноте (я использую Notepad++), ну и после распечатать список (Ctrl+P) . 👌

Текстовый файл можно открывать - список готов!

Текстовый файл можно открывать - список готов!

Вариант 2 (через браузер)

Для этого нам понадобиться запустить какой-нибудь современный 👉 браузер (я проверял на Chrome и Firefox).

После откройте проводник и перейдите в папку с нужными вам файлами — нужно будет скопировать путь до нее, нажать сочетание Ctrl+C (адрес, вида: "C:\Users\alex\Videos\Фильмы" )

Открываем каталог

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

Теперь достаточно выделить всё нужное на странице и скопировать это (👇).

Открываем путь в Chrome

Открываем путь в Chrome

Затем скопированный список лучше всего вставить (сочетание Ctrl+V) в Excel (или 👉 его аналоги). Это удобнее тем, что в Excel вы легко сможете удалить ненужные вам столбики (с датой, например) .

Вставляем список в Excel для дальнейшей работы.

Вставляем список в Excel для дальнейшей работы.

Вариант 3 (список со вложенными файлами и папками)

Этот способ универсальный, и к тому же позволяет получить не только список файлов из текущего каталога, но и из всех вложенных.

Например, есть у вас в каталоге "Видео" отдельная папка "Кино 90-х" , в которой 2 десятка др. фильмов — вышеперечисленные способы бы не позволили узнать их название (из полученного списка), а этот позволит!

Для работы нам понадобиться 👉 командная строка (ничего сложного там не будет!) .

В ней нужно последовательно ввести две команды, после каждой нажать Enter:

  1. cd C:\Users\alex\Videos\Фильмы (вместо "C:\Users\alex\Videos\Фильмы" укажите свой каталог) ;
  2. dir /b /s | sort > List.txt (эта команда создаст файл "List.txt" в выбранной вами папке со всеми файлами и каталогами, что в нем есть! Кроме этого, она отсортирует список от А к Я).

CMD - открываем каталог, получаем список

CMD - открываем каталог, получаем список

Файл-список готов!

Как убрать путь (C:\Video\) из списка

Кстати, если в списке файлов вам среди названия фильмов (файлов) не нужен их путь — то его легко убрать. Для этого в Notepad++ достаточно:

  • нажать на Ctrl+F ;
  • в окне "Замена" в строку "найти" указать путь (который повторяется в каждой строке);
  • в строке "Заменить на" проверить, чтобы была пустота;
  • и нажать кнопку "заменить все" . В результате: в вашем списке будут только имена (без пути)!

Убираем путь до каталога в блокноте

Убираем путь до каталога в блокноте

Вариант 4 (без доп. софта)

Этот способ работает не во всех версиях ОС Windows (в 10-ке все OK). Зато он быстрый и не требует вообще никакого доп. софта.

  1. зайти в нужный каталог;
  2. выделить файлы (Ctrl+A);
  3. зажать клавишу Shift (левую);
  4. нажать ПКМ (правую кнопку мыши), не отпуская Shift;
  5. из появившегося меню проводника выбрать опцию "Копировать как путь" . Теперь в буфере обмена есть все имена файлов из каталога!

Выделяем и копируем путь

Выделяем и копируем путь

Теперь можно открыть блокнот или тот же Word и вставить список (Ctrl+V).

Вставляем скопированный список

Вставляем скопированный список

Если вам мешает в каждой строке путь ("C:\Users\") - то как его убрать см. чуть выше.


Excel

В этом посте мы увидим, как получить список файлов в папке в Excel. Мы покажем вам, как использовать Excel для просмотра сведений о файлах и папках в Windows, импортировав все данные о файлах и папках в Microsoft Excel, чтобы отслеживать размер файла, тип файла и дату последнего изменения.


Но что, если некоторые файлы и папки были удалены из этого каталога? Мы не сможем отслеживать, что именно было удалено. Но вы можете использовать Excel для просмотра файлов и сведений о папках в каталоге, что было бы полезно для вас знать хотя бы список файлов и папок, которые были удалены.


Импортируйте и получите список имен файлов в лист Excel

Если вы используете Microsoft Excel для импорта всех сведений о файлах и папках в Excel, это поможет вам регулярно отслеживать дату и время последнего изменения, типы файлов, список файлов, размер файлов и многое другое. Для этого выполните следующие простые шаги.


Теперь откройте любой веб-браузер по вашему выбору и вставьте скопированный путь (путь к папке, которую вы только что скопировали на предыдущем шаге) в адресную строку браузера. Я использовал Google Chrome здесь. Просто добавьте к URL-адресу префикс file:///, и его содержимое будет отображаться на веб-странице.



Он показывает желтые прямоугольники со стрелками и позволяет выбрать нужный кадр. Вы можете найти здесь, что я выбрал ту часть, которую хочу.


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

Заключение

Поскольку мы большую часть времени занимаемся организацией файлов и папок, рекомендуется импортировать детали файлов и папок в Excel. Это было бы полезно, если бы любой из ваших файлов или папок должен был быть удален. Данные в листе Excel не обновляются, поэтому нам необходимо регулярно импортировать данные. Вы можете использовать этот метод, когда нужно отслеживать не только изменения файла, но и имена файлов.

В Excel существуют неочевидная возможность вывести на лист список имен файлов из заданной папки. [1] Способ связан с использованием макрофункции (подробнее см. Функция Получить.Ячейку). Этот метод существенно проще написания макроса VBA. Начните с создания именованной формулы. Пройдите по меню Формулы –> Определенные имена –> Присвоить имя, и в окне Создание имени введите данные, как указано на рисунке:

%d1%80%d0%b8%d1%81-1-%d0%b4%d0%b8%d0%b0%d0%bb%d0%be%d0%b3%d0%be%d0%b2%d0%be%d0%b5-%d0%be%d0%ba%d0%bd%d0%be-%d1%81%d0%be%d0%b7%d0%b4%d0%b0%d0%bd%d0%b8%d1%8f-%d0%b8%d0%bc%d0%b5%d0%bd%d0%be%d0%b2%d0%b0

Рис. 1. Диалоговое окно создания именованной формулы

Обратите внимание: функция =ФАЙЛЫ(Лист1!$A$1) не относится к стандартным функциям рабочего листа. Это макрофункция, написанная в старом XLM-стиле и предназначенная для использования на специальном листе макросов. Она принимает один аргумент – путь к каталогу и описание файла (или файловый шаблон) и возвращает массив имен файлов, содержащихся в данном каталоге и удовлетворяющих описанию файла (шаблону). Обычные формулы рабочего листа не могут использовать подобные XLM- функции, а определенные имена — могут.

Определив именованную формулу, введите в ячейку А1 путь к каталогу и описание файла. Например, D:\Dropbox\!Сайт\7_Библиотека\*.*

Следующая формула отобразит первый найденный файл: =ИНДЕКС(Список;1). Если изменить второй аргумент на 2, то будет отображен второй найденный файл и т.д. Следующая формула, введенная в ячейку В1 (рис. 2), и скопированная вдоль столбца, позволит вывести все файлы: =ИНДЕКС(Список;СТРОКА()).

Рис. 2. Использование xlm-макрофункции в именованной формуле позволяет создать на листе список имен файлов

Книгу Excel нужно сохранить как файл с поддержкой макросов (в формате *.xlsm).

[1] По материалам книги Джон Уокенбах. Excel 2013. Трюки и советы. – СПб.: Питер, 2014. – С. 44, 45

Читайте также: