Найти тему
VBA Excel с нуля

VBA Excel № 135. Как вывести на лист Excel список файлов, находящихся в папке или в подпапках?

Оглавление
Скриншот с моего ноутбука
Скриншот с моего ноутбука

Отображение данных по файлам во вложенных папках. Рассмотрим утилиту выполняющую данное действие.

Для информации – программа написана в Excel 2016.

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

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

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

📌 Скачать файл пример с данной программой можно в конце статьи. Она большая и на экране будет плохо видно. Кстати в самом коде есть пояснения для каждой строки кода.

Посмотрим же как это работает.

Программа представляет собой инструмент для поиска файлов в заданной папке на компьютере. Она позволяет пользователю указать путь к папке, маску имени файлов (например, ".doc" для поиска всех файлов с расширением .doc) и глубину поиска в подпапках.

Скриншот с моего ноутбука
Скриншот с моего ноутбука

Кнопка "Вызов формы": Нажимая её вызывается форма (о формах позже, возможно).

Скриншот с моего ноутбука
Скриншот с моего ноутбука

Выбор папки для поиска:

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

Скриншот с моего ноутбука
Скриншот с моего ноутбука

После выбора папки нажимаем «Ок». На форме появится путь.

Скриншот с моего ноутбука
Скриншот с моего ноутбука

Указание маски имени файлов:

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

Скриншот с моего ноутбука
Скриншот с моего ноутбука

Вот более подробное объяснение символов маски:

  • * (звездочка): Этот символ представляет собой любое количество символов, включая их отсутствие. Например, маска "*.txt" найдет все файлы с расширением ".txt", независимо от их имени (например, "file.txt", "document.txt", "data.txt" и т.д.).
  • ? (вопросительный знак): Этот символ представляет собой один любой символ. Например, маска "image?.png" найдет файлы с расширением ".png" и именами вида "image1.png", "imageA.png", "image_.png" и т.д., где "?" может быть любым одиночным символом.
  • [ ] (квадратные скобки): Эти символы позволяют указать набор символов, из которых может выбираться один символ. Например, маска "file[123].txt" найдет файлы с расширением ".txt" и именами "file1.txt", "file2.txt" и "file3.txt".
  • [! ] (отрицание в квадратных скобках): Этот шаблон соответствует любому символу, не указанному в скобках. Например, маска "file[!123].txt" найдет файлы с расширением ".txt" и именами "fileA.txt", "fileB.txt" и т.д., но не "file1.txt", "file2.txt" и "file3.txt".

Эти символы можно комбинировать в маске для более точного определения имени файла или пути. Например, маска "file*.xls?" найдет файлы с именами, начинающимися на "file", имеющими расширение ".xls" и четвертый символ расширения может быть любым.

Указание глубины поиска:

Пользователь указывает глубину поиска в подпапках. Это определяет, насколько глубоко программа будет искать файлы во вложенных папках. Иначе устанавливается значение по умолчанию, то есть 0, а это значит – все подпапки (например, я, ничего не указывал).

Скриншот с моего ноутбука
Скриншот с моего ноутбука

Поиск файлов и вывод результатов:

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

Скриншот с моего ноутбука
Скриншот с моего ноутбука
Для информации – если размер файла более 2 Гбайт, программа может вернуть некорректный размер.
Скриншот с моего ноутбука
Скриншот с моего ноутбука

Открытие файлов и папок:

Кроме того, программа создает гиперссылки для каждого файла, позволяя быстро открыть файлы непосредственно из таблицы Excel. Если в столбце «В» нажать ссылку, этот файл откроется.

Скриншот с моего ноутбука
Скриншот с моего ноутбука

Аналогично этому создаются гиперссылки для открытия папок, содержащих файлы. Если в столбце «С» нажать ссылку, то откроется указанная папка.

Скриншот с моего ноутбука
Скриншот с моего ноутбука

СКАЧАТЬ ФАЙЛ ПРИМЕР