Список файлов в папке в таблицу excel

Список файлов в папке в таблицу excel

Table of Contents:

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

У нас есть много файлов и папок на нашем ПК с Windows, и мы можем часто удалять или добавлять больше файлов и папок. Могут быть некоторые папки и файлы, которые очень важны для нас, и кто-то может их редактировать без нашего уведомления. Но мы не можем продолжать смотреть на каждую папку и файл, чтобы узнать, какой из них был отредактирован. Если это была модификация файла или папки, мы можем сортировать их с помощью «Последнее изменение», и мы можем узнать, какие изменения были изменены недавно.

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

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

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

Перейдите в каталог или папку в Проводнике Windows, о которых вы хотите отслеживать. Здесь я хочу отслеживать файлы и папки в папке «Документы». Скопируйте путь к этому каталогу.

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

Чтобы сохранить эту веб-страницу в автономном режиме, нажмите CTRL + S или щелкните правой кнопкой мыши на веб-странице и выберите «Сохранить страницу как». Выберите пункт назначения, дайте ему имя и сохраните веб-страницу.

Теперь через проводник Windows перейдите в папку, в которую вы сохранили автономную веб-страницу, и скопируйте путь. Откройте страницу Excel и нажмите вкладку Данные и выберите Из Интернета. Он открывает окно, а в строке адреса вставьте скопированный путь и нажмите кнопку «Перейти». Он загрузит все содержимое веб-страницы.

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

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

Заключение

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

Функция FilenamesCollection предназначена для получения списка файлов из папки, с учётом выбранной глубины поиска в подпапках.

Используется рекурсивный перебор папок, до заданного уровня вложенности.
В процессе перебора папок, пути у найденным файлам помещаются в коллекцию (объект типа Collection) для последующего перебора.

К статье прикреплено 2 примера файла с макросами на основе этой функции:

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

Смотрите также расширенную версию макроса на базе этой функции:

Макрос FolderStructure выводит в таблицу Excel список файлов и подпапок с отображением структуры (вложенности файлов и подпапок)

Читайте также:  Браслет xiaomi водонепроницаемый или нет

ПРИМЕЧАНИЕ: Если вы выводите на лист список имен файлов картинок (изображений), то при помощи этой надстройки вы сможете вставить сами картинки в ячейки соседнего столбца (или в примечания к этим ячейкам)

‘ Пример использования функции в макросе:

Этот код позволяет осуществить поиск нужных файлов в выбранной папке (включая подпапки), и выводит полученный список файлов на лист книги Excel:

Ещё один пример использования:

PS: Найти подходящие имена файлов в коллекции можно при помощи следующей функции:

Вложение Размер Загрузки Последняя загрузка
FilenamesCollection.xls 35 КБ 14082 8 часов 12 минут назад
FilenamesCollectionEx.xls 56 КБ 13464 1 день 40 минут назад
  • 245374 просмотра

Комментарии

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

Так вроде и то и другое выводится
Код открыт ведь, — поменяйте как вам надо, если лишний столбец мешает.

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

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

В моём макросе нет MoveFolder — так что мой макрос точно не виноват в вашей проблеме.
Проблема — либо в неверном использовании MoveFolder (не то или не туда перемещаете), либо нет прав доступа на перемещение в заданное место.

Игорь, всё это прекрасно. Непонятно только, что нужно сделать с Вашим макросом, чтобы после его вызова с папкой можно было бы ещё и что-нибудь сделать, например, переместить. Сейчас после вызова FSO.MoveFolder вылетает с ошибкой Access denied. Проверено, виноват именно Ваш макрос — если закомментировать ТОЛЬКО его вызов, FSO.MoveFolder отрабатывает нормально.

Спасибо, ОГРОМНОЕ.
Выручайте ребята! макрос в целом отличный, но для моих целе нужно немного переделать.
Нужно чтоб все файлы находящиеся в каждой папке были в одной ячейке через разделитель ( | )
Например:
C:images4-20161032g.jpg|C:images4-20161033g.jpg|C:images4-20161033g.jpg

Да, сделал.
Высылайте на почту подробное задание (что и как должно выглядеть, для чего это вообще нужно, и т.д.)
Тогда озвучу сроки и стоимость

Добрый день!
Скажите, пожалуйста, сделали ли вы макрос для Александра?
Если да, то за сколько его можно приобрести?
Если нет, то какие сроки выполнения?
Спасибо!

Напишите на почту стоимость и сроки выполнения

Александр, в этом случае нужен более сложный макрос.
Могу сделать под заказ.

Здравствуйте, Макрос хороший. Всё отлично выводит. Но как сделать дерево? Имеется несколько папок, далее нажимаешь на папку или плюс или еще что-то, она открывается, появляется подпапки, опять жмешь на подпапку появляются подпапки и т.д.

Спасибо, отличный макрос

В ответ на:
Андрей, 15 Мар 2018 — 15:13.#3
Добрый день.
файл 148 знаков (рус.буквы) не обрабатывается,
и сам файл на сервере (если файл на раб.столе то все работает)
какая максимальная длина имени и можно-ли ее обойти.

Ограничение на полное имя файла, включая расширение — 259 символов. Соответственно, все файлы, имеющие более длинное имя при выполнении
Set curfold = FSO.GetFolder(FolderPath)
будут проигнорированы. Тестировал на EX2010, W7 и MSServer 2008. У меня из 28 (curfold.Соunt) файлов реально в коллекции только 15 (curfold.items(1). curfold.items(15))

А как сделать макрос чтобы он мне показал только пустые папки?

Ограничений по длине имени файла, вроде как, нет (по крайней мере, за много лет использования этого кода на тысячах компов, с проблемами не сталкивался)

Добрый день.
файл 148 знаков (рус.буквы) не обрабатывается,
и сам файл на сервере (если файл на раб.столе то все работает)
какая максимальная длина имени и можно-ли ее обойти.

Адаптировал к access — все работает, спасибо, очень помогло

Ринат, посмотрите макрос обработки файлов из папки.
Там выводится диалоговое окно папки, и обрабатываются все файлы в ней (независимо от имён файлов)

Читайте также:  Что значит домен второго уровня

Добрый день!
Такой вопрос, в отделе каждый месяц сотрудник ведет отчет по своей работе в табличной форме в ексель каждый в своем файле, а начальству необходимо данные отчеты ввести в свою итоговую таблицу для себя, то есть скопировать данные отчетов с файлов каждого сотрудника в свой отдельный файл. Я создал макрос, для скопирования данных с файлов каждого сотрудника в таблицу файла начальству указывая путь к каждому файлу. Но при этом возникает определенные неудобства, каждый месяц нужно пути к файлам прописывать заново, так как на следующий месяц создаются новые файлы по отчетам, и пути к ним необходимо обновлять. Подскажите пожалуйста, как можно сделать так, чтоб пути к файлам привязывались не по конкретному расположению файла, а например указыванием месяца и года можно было сформировать единый отчет на определенный месяц. Спасибо заранее!

Большое спасибо автору! Список использую для каталогизации архива сканов документов.

Да, можем сделать такой макрос под заказ.
Минимальная стоимость заказа 1500 руб.

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

или например на основе Вашего FilenamesCollectionEx.xls нашел все файлы на диске/папке нужные -нажимаешь на файл и ты нужен выбрать ячейку куда вписать имя файла
заранее спасибо

У меня почему-то размер файла в байтах выводится абсолютно иной, иногда даже с отрицательным значением.
Пример:
1.вес файла 3 840 327 Кб или 3,66 Гб, а таблица выдает "-362 472 675"
2.вес файла 5 082 087 Кб или 4,84 Гб, таблица выдает "909 089 137"

Василий, да, можно добавить.
Пример код можете здесь посмотреть:
http://excelvba.ru/code/MCI

Добрый день! Подскажите, возможно ли добавить столбцы "продолжительность" и "ширина кадра", которые имеются в данных файлов?

Здравствуйте, Елизавета.
Причин может быть несколько, навскидку:
— проблемный файл, или файл, к которому у вас нет доступа (ошибка 53 — файл не найден)
— слишком длинное имя папки (много уровней вложенности) и/или файла
— сбой в файловой системе
— ошибка в макросе (что-то в коде не учтено)

Техподдержка по бесплатным макросам не предоставляется
Если готовы оплатить помощь, — звоните в скайп, могу подключиться к вашему компу и всё исправить.

Игорь, огромное вам спасибо за эту работу!
Несколько лет использую ваш файл для классификации фильмов, но пару недель назад почему-то он перестал работать. Никакой критичности в этом нет, т.к. главное исправила благодаря обсуждениям тут, но мне непонятно и жутко интересно, почему так происходит. Может, это связано с активацией офиса(примерно в то же время было)? Офис 10й.
У меня 2 вкладки в этом файле, обновляю список на 2й, и затем новые позиции копирую в первую (накапливаю). При обновлении списка, после 60-70 позиций, макрос останавливается и сообщает об ошибке Run-time error 53 со сслыкой на строку ДатаСоздания = FileDateTime(ПутьКФайлу). Дело не файле, т.к. его удаление не помогло. Я добавила в скрипт "On Error Resume Next", список обновляется до конца, но перестают запускаться фильмы по гиперссылке в 1й вкладке "не удается открыть указанный файл" (во 2й работают), хотя файл и макросы одни и те же. Знаете, в чем может быть причина?

Предисловие : При работе в MS Excel (и не только) частенько возникает необходимость в переборе всех (или только с определённым расширением) файлов, в конкретной папке, иногда требуется не только перебрать файлы, но и подсчитать их количество. Решения таких задач можно найти в FAQ, но они разбросаны по разным разделам, в этой же заметке они собраны вместе, кроме того, добавлены ещё несколько вариантов, которые, по разным причинам не успели попасть в FAQ.

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

Впрочем, есть у них и кое-что общее, а именно нечувствительность к регистру символов, т.е. при указании папки, Вы можете использовать как строчные, так и прописные буквы, проще говоря, все три нижеприведённые строки допустимы :

Читайте также:  Oki c610 ошибка 980

"C:мои документы"
"C:Мои Документы"
"C:МОИ ДОКУМЕНТЫ"

Для перебора файлов и их подсчёта, можно использовать функцию Dir

Особенности :

  • Папку обязательно нужно указывать с завершающим слэшем
  • Если Вы забудете указать папку, т.е. iPath$ = "" то перебор файлов, скорее всего, будет осуществляться в текущей папке [FAQ415] , если при первом вызове функции Dir Вы вообще не укажите путь, то возникнет ошибка.
  • Функция возвращает только имя файла, для получения же полного имени, например, для открытия рабочей книги, необходимо об’единить iPath & iFileName
  • Функция Dir, по умолчанию, игнорирует файлы с атрибутами Скрытый и/или Только для чтения, однако, если подобные файлы должны участвовать в переборе/подсчёте, то для этого необходимо использовать второй необязательный аргумент и соответствующие константы vbHidden + vbReadOnly (см. второй пример)
  • Функция Dir допускает использование символов подстановки ? (один единственный символ) (см. третий пример) и * (любое количество символов, в т.ч. и 0), которые позволяют перебирать только файлы по-маске, в т.ч. и с определённым расширением (см. остальные примеры)
  • Комментарий : Если Вам необходимо только подсчитать количество файлов в папке, причём без цикла, то используйте другие варианты.

    Для перебора всех файлов и подсчёта этих файлов, можно также использовать функцию ФАЙЛЫ (макроязык Excel4.0) К сожалению, даже при наличии нескольких файлов в папке, вызов этой функции с помощью ExecuteExcel4Macro , позволяет получить только один файл.

    Сомневающиеся в справедливости этого утверждения могут проверить и убедиться в этом, что называется, воочию :

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

    Совет : Если в текущей рабочей книге создавать список файлов предполагается постоянно, то однажды созданную формулу можно не удалять, а просто использовать её в дальнейшем, в т.ч. и вызывая из ячеек рабочего листа, а если существует вероятность её удаления вручную, то именованную формулу можно скрыть. Более подробно смотрите здесь . )

    Особенности :

  • Для получения всех файлов — папку обязательно нужно указывать с завершающим слэшем и символом подстановки * (за исключением следующего пункта)
  • Если Вы не укажите папку, т.е. =Files() то функция возвратит файлы из текущей папки [FAQ415]
  • Функция возвращает только имя файла
  • Функция Files игнорирует файлы с атрибутами Скрытый , однако, учитывает файлы Только для чтения
  • Функция Files также допускает использование символов подстановки ? и * (более подробно смотрите особенности функции Dir)
  • К сожалению, подобным способом, можно получить максимум 256 файлов
  • Вариант III. (актуально только для Office97-2003)

    Application.FileSearch — довольно мощный инструмент по поиску файлов, причём не только по имени или расширению, но и по содержимому документов, времени его создания, изменения, и многим другим свойствам, впервые появился в MS Office 97 и закончил своё существование в MS Office 2003

    В следующих версиях он также наличествует, но его вызов заблокировали разработчики, поэтому попытка протестировать все нижеопубликованные примеры, неизменно приведёт к появления следующей ошибки Run-time error ‘445’: Object doesn’t support this action

    Перечислить все его плюсы и минусы, вряд ли возможно в небольшой заметке, тем более, что в MS Office XP его возможности увеличились, но несколько примеров прилагается.

    [1] Поиск всех файлов, включая скрытые и только для чтения, в папке C:Мои документы и во всех вложенных папках, а также создание списка этих файлов в первом столбце новой рабочей книги.

    Примечание : Подсчитать количество найденных файлов можно и без цикла, для этого достаточно использовать свойство Count об’екта FoundFiles или результат, который возвращает функция Execute

    [2] Поиск файлов только с расширениями .xls и .doc (включая скрытые и только для чтения) в папке C:Мои документы (и во всех вложенных папках), создание списка найденных файлов, а также их сортировка(группировка), исходя из типа.

    [3] Поиск файлов только с расширением .xls (включая скрытые и только для чтения) в нескольких папках , а именно C:Мои документы и D:Примеры (без учёта вложенных папок), а также создание списка найденных файлов. Комментарий : В данном примере, можно указать либо FileName, либо FileType

    Важно : Если при использовании данных примеров у Вас возникли подозрения в некорректности полученных результатов, например, .Execute возвращает 0 в то время, как в указаной папке наличествуют искомые файлы, то рекомендую ознакомиться со следующей статьей :

    Ссылка на основную публикацию
    Сколько рублей получают ютуберы
    Видеохостинг YouTube — не только развлекательная площадка, но и хороший источник дохода. Тысячи пользователей выкладывают ролики, пытаясь привлечь внимание аудитории....
    Самый дорогой самсунг 2018
    Samsung / Самсунг - южнокорейская компания, ведущий производитель смартфонов в мире. В первом квартале 2018 года доля Самсунг на мировом...
    Самый лучший smart tv
    Ежегодные обновления телевизионных технологий делают телевизоры уже больше, чем обычным экраном для демонстрации каналов. Растет популярность функции Smart TV, которая...
    Сколько света мотает компьютер
    Выбирая комплектующие для персонального компьютера (ПК) обычно обращают внимание на производительность и объем памяти, порой забывая о том, сколько же...
    Adblock detector