Список файлов в папке
Иногда бывает необходимо заполучить на лист Excel список файлов в заданной папке и ее подпапках. В моей практике такое встречалось неоднократно, например:
- перечислить в приложении к договору на проведение тренинга список файлов из раздаточных материалов для особо щепетильных юристов в некоторых компаниях
- создать список файлов для ТЗ проекта
- сравнить содержимое папок (оригинал и бэкап, например)
Для реализации подобной задачи можно использовать несколько способов.
Способ 1. Скелет из шкафа — функция ФАЙЛЫ
Этот способ использует древнюю функцию ФАЙЛЫ (FILES), оставшуюся в Microsoft Excel с далеких девяностых. Вы не найдете эту функцию в общем списке функций, но для совместимости, она всё ещё остаётся внутри движка Excel, и мы вполне можем её использовать.
Механизм таков:
1. В любую ячейку листа (например, в А1) введём путь к папке, список файлов из которой мы хотим получить.
Обратите внимание, что путь должен оканчиваться шаблоном со звездочками:
- *.* — любые файлы
- *.xlsx — книги Excel (только с расширением xlsx)
- *.xl* — любые файлы Excel
- *отчет* — файлы, содержащие слово отчет в названии
и т.д.
2. Создадим именованный диапазон с помощью вкладки Формулы — далее кнопка Диспетчер имен — Создать (Formulas — Names Manger — Create). В открывшемся окне введем любое имя без пробелов (например Мои_файлы) и в поле диапазона выражение:
=ФАЙЛЫ(Лист1!$A$1)
После нажатия на ОК будет создан именованный диапазон с именем Мои_файлы, где хранится список всех файлов из указанной в А1 папки. Останется их оттуда только извлечь.
3. Чтобы извлечь имена отдельных файлов из созданной переменной, используем функцию ИНДЕКС (INDEX), которая в Excel вытаскивает данные из массива по их номеру:
Если лениво делать отдельный столбец с нумерацией, то можно воспользоваться костылем в виде функции СТРОКИ (ROWS), которая будет подсчитывать количество заполненных строк с начала списка автоматически:
=ИНДЕКС(Мои_файлы; ЧСТРОК($B$3:B3))
Ну, и скрыть ошибки #ССЫЛКА! в конце списка (если вы протягиваете формулу с запасом) можно стандартной функцией ЕСЛИОШИБКА (IFERROR):
=ЕСЛИОШИБКА(ИНДЕКС(Мои_файлы; ЧСТРОК($B$3:B3)); «»)
Важное примечание: формально функция ФАЙЛЫ относится к макро-функциям, поэтому необходимо будет сохранить ваш файл в формате с поддержкой макросов (xlsm или xlsb).
Способ 2. Готовый макрос для ленивых
Если вы знакомы с макросами (не в смысле их программирования, а в смысле копипастинга готовых кодов на VBA), то вам, возможно, отлично зайдёт небольшой макрос, добавляющий в текущую книгу новый пустой лист и выводящий на него список всех файлов с их параметрами из заданной пользователем папки.
Для добавления макроса в вашу книгу нажмите сочетание клавиш Alt+F11, или кнопку Visual Basic на вкладке Разработчик (Developer), в открывшемся окне редактора Visual Basic вставьте новый модуль через меню Insert — Module и скопируйте туда текст этого макроса:
Sub FileList() Dim V As String Dim BrowseFolder As String 'открываем диалоговое окно выбора папки With Application.FileDialog(msoFileDialogFolderPicker) .Title = "Выберите папку или диск" .Show On Error Resume Next Err.Clear V = .SelectedItems(1) If Err.Number <> 0 Then MsgBox "Вы ничего не выбрали!" Exit Sub End If End With BrowseFolder = CStr(V) 'добавляем лист и выводим на него шапку таблицы ActiveWorkbook.Sheets.Add With Range("A1:E1") .Font.Bold = True .Font.Size = 12 End With Range("A1").Value = "Имя файла" Range("B1").Value = "Путь" Range("C1").Value = "Размер" Range("D1").Value = "Дата создания" Range("E1").Value = "Дата изменения" 'вызываем процедуру вывода списка файлов 'измените True на False, если не нужно выводить файлы из вложенных папок ListFilesInFolder BrowseFolder, True End Sub Private Sub ListFilesInFolder(ByVal SourceFolderName As String, ByVal IncludeSubfolders As Boolean) Dim FSO As Object Dim SourceFolder As Object Dim SubFolder As Object Dim FileItem As Object Dim r As Long Set FSO = CreateObject("Scripting.FileSystemObject") Set SourceFolder = FSO.getfolder(SourceFolderName) r = Range("A65536").End(xlUp).Row + 1 'находим первую пустую строку 'выводим данные по файлу For Each FileItem In SourceFolder.Files Cells(r, 1).Formula = FileItem.Name Cells(r, 2).Formula = FileItem.Path Cells(r, 3).Formula = FileItem.Size Cells(r, 4).Formula = FileItem.DateCreated Cells(r, 5).Formula = FileItem.DateLastModified r = r + 1 X = SourceFolder.Path Next FileItem 'вызываем процедуру повторно для каждой вложенной папки If IncludeSubfolders Then For Each SubFolder In SourceFolder.SubFolders ListFilesInFolder SubFolder.Path, True Next SubFolder End If Columns("A:E").AutoFit Set FileItem = Nothing Set SourceFolder = Nothing Set FSO = Nothing End Sub
Для запуска макроса нажмите сочетание клавиш Alt+F8,или кнопку Макросы (Macros) на вкладке Разработчик (Developer), выберите наш макрос FileList и нажмите кнопку Выполнить (Run). В диалоговом окне выберите любую папку или диск и — вуаля!
Если захотите, чтобы вместо пути к файлу в столбце B выводилась живая гиперссылка, то замените 52-ю строку
Cells(r, 2).Formula = FileItem.Path
на
Cells(r, 2).Formula = «=HYPERLINK(«»» & FileItem.Path & «»»)»
Способ 3. Мощь и красота — надстройка Power Query
Power Query — это очень мощная и при этом бесплатная надстройка для Excel от Microsoft, упрощающая множество задач по загрузке и трансформации данных. В нашей ситуации она тоже может здорово помочь.
Если у вас Excel 2016 или новее, то Power Query уже встроена в Excel по умолчанию, поэтому просто на вкладке Данные выберите команду Создать запрос / Получить данные — Из файла — Из папки (Create Query / Get Data — From file — From folder). Если у вас Excel 2010-2013, то Power Query нужно будет скачать с сайта Microsoft и установить как отдельную надстройку и она появится у вас в Excel в виде отдельной вкладки Power Query. На ней будет аналогичная кнопка Из файла — Из папки (From file — From folder).
В открывшемся окне нужно будет указать папку, содержимое которой мы хотим получить. После нажатия на ОК Power Query обшарит указанную папку и все вложенные подпапки и выдаст на экран окно с предварительным просмотром результатов:
Если внешний вид списка вас устраивает, то можно смело жать внизу кнопку Загрузить (Load), чтобы залить эти данные на новый лист. Если же хочется дополнительно обработать список (удалить лишние столбцы, отобрать только нужные файлы и т.п.), то нужно выбрать команду Изменить / Преобразовать данные (Edit / Transform Data).
Поверх окна Excel откроется окно редактора Power Query, где мы увидим список всех наших файлов в виде таблицы:
Дальше возможны несколько вариантов:
- Если нужны только файлы определенного типа, то их можно легко отобрать с помощью фильтра по столбцу Extension:
- Аналогичным образом фильтрами по столбцам Date accessed, Date modified или Date created можно отобрать файлы за нужный период (например, созданные только за последний месяц и т.п.):
- Если нужно получить данные не из всех папок, то фильтруем по столбцу Folder Path, чтобы оставить только те строки, где путь содержит/не содержит нужные имена папок:
- Там же можно выполнить сортировку файлов по любому столбцу, если требуется.
После того, как необходимые файлы отобраны, можно смело удалить ненужные столбцы, щелкнув по заголовку столбца правой кнопкой мыши и выбрав команду Удалить (Remove column). Это, кстати, уже никак не повлияет на фильтрацию или сортировку нашего списка:
Если в будущем планируется подсчитывать количество файлов в каждой папке (например, для контроля поступивших заявок или подсчета статистики по заявкам), то имеет смысл дополнительно сделать ещё пару действий:
- Щелкните правой кнопкой мыши по столбцу Folder Path и выберите команду Дублировать столбец (Duplicate Column).
- Выделите скопированный столбец и на вкладке Преобразование (Transform) выберите Разделить столбец — По разделителю (Split Column — By delimiter)
Мы получим рядом с нашими данными еще несколько столбцов, где будут продублированы имена вложенных папок — это пригодится нам чуть позже для подсчета статистики с помощью сводной таблицы:
Получившиеся столбцы можно переименовать (Диск, Папка1, Папка2 и т.д.), просто щёлкнув дважды по заголовку каждого.
И, наконец, когда список готов, то его можно выгрузить на лист с помощью команды Главная — Закрыть и загрузить — Закрыть и загрузить в… (Home — Close & Load — Close & Load to…):
И, само-собой, теперь можно построить по нашей таблице сводную (вкладка Вставка — Сводная таблица), чтобы легко подсчитать количество файлов в каждой папке:
Дополнительным бонусом можно сделать еще один столбец с функцией ГИПЕРССЫЛКА (HYPERLINK), которая создаст красивые стрелочки-ссылки для моментального перехода к каждому файлу:
Мелочь, а приятно
И вдвойне приятно, что в будущем, при изменении содержимого исходной папки, достаточно будет просто щелкнуть мышью по нашей таблице и выбрать команду Обновить (Refresh) — и Power Query выполнит всю цепочку запрограммированных нами единожды действий уже автоматически, отобразив все изменения в составе папки.
Ссылки по теме
- Что такое макрос, куда вставлять код макроса на Visual Basic
- Создание резервных копий ценных файлов
- Что такое Power Query и что можно делать с её помощью
Содержание
- 1 Сохранение списка файлов с помощью командной строки
- 2 Получение списка файлов в папке с помощью bat файла
- 3 Программа DirLister для получения списка файлов
- 4 Получаем список файлов в Total Commander
- 5 Сохранение списка файлов в папке в браузере
- 6 Выводы
- 6.1 Ссылки по теме
У некоторых пользователей, при работе на компьютере, возникает необходимость получить список файлов в папке. Такой список может быть нужен для разных целей: для каталогизации файлов в папках, для сравнения содержимого в папках, для того, чтобы составить список фильмов, музыкальных композиций, электронных книг и т. п.
Во многих случаях, количество файлов может быть очень большим, поэтому вручную составить полный список находящихся в папке файлов будет проблематично. Предположим, в папке на вашем компьютере хранится электронная библиотека, или вы имеете большое собрание фильмов. Даже увлеченному человеку запомнить все содержимое папки или диска будет нереально.
Выходом из этой ситуации будет создание списка файлов, находящихся в данной папке, а потом сохранение этого списка в текстовый файл. В дальнейшем, полученный список можно будет отредактировать так, как это будет необходимо.
Например, у меня на внешних жестких дисках, каждый из которых имеет размер в несколько терабайт, хранится большая коллекция фильмов, которые я собирал несколько лет. Мне, конечно, тяжело запомнить все названия фильмов, которые хранятся на жестких дисках.
Встречая в интернете какой-либо фильм, имея у себя список файлов в папке, я могу легко проверить, есть ли такой фильм у меня в коллекции, или я встретил новый фильм. Поэтому я приступил к поиску решения данного вопроса.
В итоге, я нашел несколько простых вариантов решения этой проблемы. Создать список файлов в папке можно разными способами: при помощи командной строки, при помощи файла, который имеет расширение «.bat», при помощи специальных программ, сохранить список в браузере.
Сохранение списка файлов с помощью командной строки
Вначале вам необходимо будет перейти к нужной папке, или диску, если вы хотите получить список файлов, которые находятся на диске. После открытия папки или диска, удерживая на клавиатуре кнопку «Shift», кликните правой кнопкой мыши внутри этой папки. В открывшемся контекстном меню выберите пункт «Открыть окно команд».
После этого откроется окно консоли, в которой уже будет указан путь к нужной директории (в вашем случае, будет к той папке, которую вы откроете). В этом примере, это папка «Программы» на Рабочем столе моего компьютера. В этой папке находятся другие папки, в которых находятся ярлыки программ.
Далее нужно будет ввести одну из этих команд:
dir /b>filelist.txt dir /s>filelist.txt
После ввода «dir» должен быть пробел. Вместо «filelist» может написать свое название файла, только латинскими буквами. Не забудьте в конце добавить формат «.txt».
Эти команды отличаются друг от друга в использовании дополнительных критериев сохранения списка файлов:
- /b — обозначает, что будут сохранены только имена файлов.
- /s — обозначает, что дополнительно в список будут включены все файлы и подкаталоги (подпапки), которые находятся в этой папке.
Затем на клавиатуре нажмите на кнопку «Enter».
После этого вы можете открыть папку и увидеть, что в папке находится текстовый файл «filelist». Теперь можете открыть этот файл с помощью Блокнота.
Если в данной папке некоторые файлы имели русские имена, то вместо имен этих файлов, вы увидите непонятные символы (крякозябры). Дело в том, что программа Блокнот не понимает кодировку MS-DOS.
Поэтому, открыть созданный файл, можно будет с помощью программы Word. Предполагаю, что у большинства пользователей, на компьютере установлена данная программа.
Кликните по текстовому файлу правой кнопкой мыши, а затем в контекстном меню выберите пункт «Открыть с помощью». Выберите для открытия файла программу Microsoft Office Word. В окне программы Word будет открыто окно «Преобразование текста», в котором нужно будет выбрать кодировку MS-DOS, которая позволит прочитать этот документ.
На образце вы увидите правильное отображение текста.
После нажатия на кнопку «ОК», данный текст будет открыт в программе Word. Вы можете провести редактирование документа, а потом сохранить его на компьютере в нужном формате, в том числе в формате «TXT». Проблем с кодировкой после сохранения файла уже не будет.
Получение списка файлов в папке с помощью bat файла
Один из самых доступных и простых способов получения списка файлов в папке: использование для этого специального bat файла. Существует несколько вариантов создания файла с расширением «.bat», с разным кодом.
Для создания bat файла вам нужно будет открыть Блокнот, а затем вставить туда этот код:
chcp 1251 echo %date% %time% >filelist.txt dir /b /d >>filelist.txt
Сохраните этот файл, имя файлу можете дать любое, самому файлу нужно дать расширение «BAT». Параметры сохранения файла в Блокноте будут выглядеть примерно так:
- Имя файла: filelist.bat
- Тип файла: Все файлы
После этого нажмите на кнопку «Сохранить».
Далее помещаете созданный файл в ту папку, из которой вы хотите получить, список находящихся там файлов. После этого, запустите файл с расширением «.bat». В данной папке будет создан файл «filelist» в формате «.txt», в котором будет находиться список файлов.
Существует несколько вариантов содержимого файла с расширением «.bat». При использовании этого метода, проблем с кодировкой не возникнет.
Программа DirLister для получения списка файлов
Вы можете создать список файлов расположенных в папке, при помощи бесплатной программы DirLister. Эта крошечная программа не требует установки на компьютер. После загрузки программы на свой компьютер, распакуйте архив с программой.
DirLister скачать
Для запуска программы, откройте папку с программой, а потом кликните по приложению DirLister.
В окне программы DirLister, в разделе «Directory To Scan», при помощи кнопки «Open», вам нужно будет выбрать папку для сканирования.
В разделе «Output File», при помощи кнопки «Save As…», вам необходимо будет выбрать место для сохранения списка файлов.
Вы можете уточнить критерии поиска файлов по маске «*.*», выбрав нужное имя или тип файла («TXT», «Excel», «HTML» и т. д.). После выбора необходимых настроек, нажмите на кнопку «Make List».
После завершения сканирования в левом нижнем углу программы будет выведена информация об успешном завершении создания списка файлов: «All file processed correctly».
Программа DirLister выводит не только список файлов в данной папке, но и дает полную информацию о вложенных в эту папку файлах и папках, в том числе о размере файлов.
Получаем список файлов в Total Commander
Получить список файлов в папке можно при помощи популярного файлового менеджера Total Commander. Для этого, открываете в окне программы нужную папку.
В меню «Выделение», сначала выбираете пункт «Выделить всё». После того, как все файлы были выделены, в этом же меню выбираете пункт «Копировать имена в буфер».
Потом открываете Блокнот или другой текстовый редактор, и вставляете туда список файлов из буфера обмена.
Вы можете в меню «Выделение» выбрать пункт «Сохранить выделение в файл…». В этом случае, вам нужно будет дать имя файлу, а затем сохранить его в формате «TXT».
Сохранение списка файлов в папке в браузере
Получить список файлов в папке можно при помощи браузера. Сначала откройте браузер, а затем перетащите папку в окно браузера. Список файлов будет открыт в окне браузера. Между содержимым можно будет перемещаться как в Проводнике.
Далее можете просто скопировать список файлов в текстовый редактор, сохранить список в HTML файл, или сохранить в PDF при помощи виртуального принтера.
Выводы
При помощи таких достаточно простых способов, вы можете легко создать список файлов, которые находятся в конкретной папке или на диске вашего компьютера. Вы можете использовать наиболее удобный для себя способ сохранения списка файлов.
3 способа получить список файлов в папке (видео)
Иногда бывает необходимо заполучить на лист Excel список файлов в заданной папке и ее подпапках. В моей практике такое встречалось неоднократно, например:
- перечислить в приложении к договору на проведение тренинга список файлов из раздаточных материалов для особо щепетильных юристов в некоторых компаниях
- создать список файлов для ТЗ проекта
- сравнить содержимое папок (оригинал и бэкап, например)
Для реализации подобной задачи отлично подойдет небольшой макрос, добавляющий в текущую книгу новый пустой лист и выводящий на него список всех файлов с их параметрами из заданной пользователем папки вот такого, примерно, вида:
Для добавления макроса в вашу книгу нажмите сочетание клавиш ALT+F11, в открывшемся окне редактора Visual Basic вставьте новый модуль через меню Insert — Module и скопируйте туда текст этого макроса:
Sub FileList() Dim V As String Dim BrowseFolder As String 'открываем диалоговое окно выбора папки With Application.FileDialog(msoFileDialogFolderPicker) .Title = "как сделать список файлов в папке в excel" .Show On Error Resume Next Err.Clear V = .SelectedItems(1) If Err.Number 0 Then MsgBox "Вы ничего не выбрали!" Exit Sub End If End With BrowseFolder = CStr(V) 'добавляем лист и выводим на него шапку таблицы ActiveWorkbook.Sheets.Add With Range("A1:E1") .Font.Bold = True .Font.Size = 12 End With Range("A1").Value = "Имя файла" Range("B1").Value = "Путь" Range("C1").Value = "Размер" Range("D1").Value = "Дата создания" Range("E1").Value = "Дата изменения" 'вызываем процедуру вывода списка файлов 'измените True на False, если не нужно выводить файлы из вложенных папок ListFilesInFolder BrowseFolder, True End Sub Private Sub ListFilesInFolder(ByVal SourceFolderName As String, ByVal IncludeSubfolders As Boolean) Dim FSO As Object Dim SourceFolder As Object Dim SubFolder As Object Dim FileItem As Object Dim r As Long Set FSO = CreateObject("Scripting.FileSystemObject") Set SourceFolder = FSO.getfolder(SourceFolderName) r = Range("A65536").End(xlUp).Row + 1 'находим первую пустую строку 'выводим данные по файлу For Each FileItem In SourceFolder.Files Cells(r, 1).Formula = FileItem.Name Cells(r, 2).Formula = FileItem.Path Cells(r, 3).Formula = FileItem.Size Cells(r, 4).Formula = FileItem.DateCreated Cells(r, 5).Formula = FileItem.DateLastModified r = r + 1 X = SourceFolder.Path Next FileItem 'вызываем процедуру повторно для каждой вложенной папки If IncludeSubfolders Then For Each SubFolder In SourceFolder.SubFolders ListFilesInFolder SubFolder.Path, True Next SubFolder End If Columns("A:E").AutoFit Set FileItem = Nothing Set SourceFolder = Nothing Set FSO = Nothing End Sub
Для запуска макроса нажмите сочетание клавиш ALT+F8, выберите наш макрос FileList и нажмите кнопку Выполнить (Run). В диалоговом окне выберите любую папку или диск и — вуаля!
Если захотите, чтобы вместо пути к файлу в столбце B выводилась живая гиперссылка, то замените 52-ю строку
Cells(r, 2).Formula = FileItem.Path
на
Cells(r, 2).Formula = «=HYPERLINK(«»» & FileItem.Path & «»»)»
Ссылки по теме
- Что такое макрос, куда вставлять код макроса на Visual Basic
- Создание резервных копий ценных файлов
Составить список имеющихся файлов на диске не кажется такой уж серьезной проблемой, но это только если файлов не больше десяти. Когда же файлы исчисляются сотнями, например фотографии, составить список вручную не представляется возможным.
Для этих целей была написана не одна программа, но что делать, если ее нет. Существует несколько способов создания списка имеющихся файлов на диске с помощью имеющихся уже программ.
Создание списка файлов мы будем рассматривать на нескольких примерах. Будем применять возможности различных браузеров, программу total commander и малоизвестную комбинацию, существующую в Windows 7. Все манипуляции будут проводиться под управлением операционной системы Windows 7.
Начнем мы с браузеров. Создать список файлов с помощью браузера можно только в виде html странички, причем на этой страничке будет содержаться информация о размере файла и дате последнего изменения. Как-либо изменить данные на этой страничке нельзя. Чтобы получить таким образом список файлов, необходимо файлы поместить в отдельную папку и эту папку перетащить мышкой в окно браузера. Тогда браузер начинает выполнять роль «проводника» и отображает список файлов в папке. Стандартный Internet Explorer 9 работать в таком режиме отказывается и предлагает просто открыть какой-либо файл из папки.
Полученный список файлов в каталоге можно сохранить как html страничку, которая будет занимать немного места. Но html список файлов нас не совсем устраивает. Сохранить список файлов сразу в текстовом формате не получится. Некоторые браузеры предлагают такую возможность, но получаемый список ну удобен для чтения и содержит множество лишних знаков.
Небольшие эксперименты с копированием списка в буфер обмена и возможностями Microsoft Excel показали, что полученный список файлов в браузере можно перенести в Excel, а оттуда уже в обычный текстовый файл. Получение списка файлов в текстовом виде через браузер требует немалых действий и при этом необходимо учитывать способы копирования в буфер из различных браузеров. Сразу уясним, что из любого браузера можно полученный список перенести в нормальном виде в Excel, т.е. в виде столбцов. Если при вставке списка в Excel получилась одна сплошная строка данных, значит, вы неправильно выделили список в браузере. А теперь посмотрим на примере.
При копирования списка из браузера Opera не возникает никаких проблем со вставкой в Excel. Все данные получаются строго по столбцам, как и видно в самом браузере.
При копировании списка из браузера Google Chrome, необходимо выделить все содержимое полученного списка, включая названия столбцов «Имя», «Размер» и «Последнее изменение». В противном случает в Excel список будет вставлен в одну строку.
Браузер Firefox тоже требователен. В нем необходимо выделить весь список файлов, включая ссылку для перехода на уровень выше.
С полученными списками файлов в Excel уже можно производить различные манипуляции, а можно просто скопировать столбец с названиями файлов и вставить в текстовый файл.
Следующий способ получения списка файлов подойдет тем, кто пользуется файловым менеджером Total Commander. Он позволяет сохранить имена всех выделенных файлов в текстовый файл, создавая при этом список файлов, в котором будут только названия файлов с расширением. Делается это следующим образом. Выделяем в окне файлового менеджера файлы, которые хотим внести в список и сохраняем, выбрав команду «Сохранить выделение в файл…».
А теперь по порядку. В файловом менеджере Total Commander заходим в папку, в которой находятся наши файлы и выделяем необходимые нам файлы. Выделить их можно нажимая на клавишу «Пробел» или правой кнопкой мыши, но это индивидуальная настройка пользователя. Если необходимо выделить все входящие в папку файлы и папки в том числе, то можно воспользоваться командой, нажав клавишу «Num+».
Теперь сохраним выделение. Заходим в меню «Выделение» и выбираем «Сохранить выделение в файл…».
Появится окошко, в котором необходимо будет задать имя для создаваемого файла.
В итоге получаем список файлов в текстовом файле.
При этом нужно учесть, что порядок файлов в списке будет такой же, как в файловом менеджере на момент создания. Поэтому до создания списка необходимо выполнить сортировку файлов, если в этом есть необходимость.
Остался последний редко используемый и почти неизвестный метод. А метод этот заключается в том, что при выделении файлов в проводнике, нажатии клавиши «Shift» и нажатии правой кнопкой мыши на выделенные файлы, в меню появляется пункт «Копировать как путь».
Полученный список адресов к файлам можно легко обработать авто заменой и получить список файлов.
Метод получения списка файлов с помощью команды «dir» рассматриваться не будет.
Также статьи на сайте chajnikam.ru:
Строка выполнить в windows 7Как в pdf перевести лист нестандартного формата?
Как включить скрытые папки?
Как очистить диск с?
Как перечислить все имена файлов из папки и подпапок на листе?
Если вы хотите создать список имен файлов в каталоге на листе, вы можете обработать следующие способы, чтобы быстро получить список файлов из каталога на листе.
- Перечислите все имена файлов из папки на листе с помощью веб-браузера
- Перечислите все имена файлов из папки на листе с помощью формулы
- Перечислите все имена файлов из папки на листе с помощью кода VBA
- Список всех имен файлов из папки и подпапок на листе с мощной функцией
Перечислите все имена файлов из папки на листе с помощью веб-браузера
Если вы хотите вывести список файлов в папке с помощью веб-браузера, вам следует убедиться, что у вас установлен один из веб-браузеров (Firefox, Opera и Google Chrome) установлен на вашем компьютере. Предположим, вам нужно перечислить файлы следующей папки на листе, см. Снимок экрана:
1. Зайдите, чтобы скопировать путь к папке (Папка Test) в проводнике. Например, путь к этой папке: C: Users AddinTestWin10 Desktop Folder Test.
2. Откройте один из веб-браузеров (FireFox, Opera и Google Chrome), вставьте путь к папке в адресную строку и нажмите Enter ключ. Смотрите скриншот:
3. Нажмите Ctrl + для выбора всего содержимого в веб-браузере и нажмите Ctrl + C скопировать их.
4. Откройте Excel и вставьте напрямую (используя Ctrl + V ярлыки для вставки) их на лист. Смотрите скриншот:
Заметки:
- 1. С помощью этого метода могут отображаться только файлы в основной папке, файлы в подкаталоге не могут быть перечислены.
- 2. Гиперссылки имен файлов недоступны.
Перечислите все имена файлов из папки на листе с помощью формулы
В Excel вы также можете использовать формулу для получения списка всех имен файлов или типа psecifc имен файлов из папки, выполните следующие действия:
1. Скопируйте и вставьте путь к файлу в ячейку, а затем введите * после пути к файлу, как показано ниже:
2, Затем нажмите Формула > Менеджер имен, см. снимок экрана:
3. В Менеджер имен диалоговое окно, нажмите Новинки кнопку, см. снимок экрана:
4. В выскочившем Новое имя диалоговом окне укажите имя в поле Имя и фамилия текстовое поле, а затем введите приведенную ниже формулу в Относится к текстовое поле, см. снимок экрана:
=FILES(Sheet1!$A$1)
Внимание: В этой формуле Sheet1! $ A $ 1 — это ячейка рабочего листа, содержащая путь к файлу, введенный на шаге 1.
5. А затем нажмите OK > Закрыть чтобы закрыть диалоговые окна, а затем введите следующую формулу в пустую ячейку, где вы хотите перечислить имена файлов, и перетащите ручку заполнения вниз, пока не отобразятся пустые ячейки, теперь все имена файлов в указанной папке перечислены, как показано ниже показан снимок экрана:
=IFERROR(INDEX(Filenames,ROW(A1)),»»)
Внимание: В этой формуле Имена файлов это имя диапазона, которое вы создали на шаге 4, и A1 содержит ли ячейка путь к файлу.
Заметки:
- 1. Вы должны сохранить эту книгу как Excel Macro-Enabled Workbook формат, если вы хотите, чтобы формулы работали нормально после закрытия и повторного открытия файла.
- 2. Если вы хотите перечислить все файлы с определенным расширением, например, перечислить все имена файлов docx, в этом случае вам просто нужно использовать * docx * вместо *, аналогично для файлов xlsx используйте * xlsx *.
Перечислите все имена файлов из папки на листе с помощью кода VBA
Использование следующего VBA для вывода списка файлов в папке на листе:
1. Откройте рабочий лист и щелкните, чтобы выбрать ячейку, в которую вы хотите поместить имена файлов.
2. Удерживайте ALT + F11 ключи в Excel, и он открывает Microsoft Visual Basic для приложений окно.
3. Нажмите Вставить > Модулии вставьте следующий код в Модули Окно.
Код VBA: перечислить все имена файлов из папки на листе
Sub listfiles()
'Updateby Extendoffice
Dim xFSO As Object
Dim xFolder As Object
Dim xFile As Object
Dim xFiDialog As FileDialog
Dim xPath As String
Dim I As Integer
Set xFiDialog = Application.FileDialog(msoFileDialogFolderPicker)
If xFiDialog.Show = -1 Then
xPath = xFiDialog.SelectedItems(1)
End If
Set xFiDialog = Nothing
If xPath = "" Then Exit Sub
Set xFSO = CreateObject("Scripting.FileSystemObject")
Set xFolder = xFSO.GetFolder(xPath)
For Each xFile In xFolder.Files
I = I + 1
ActiveSheet.Hyperlinks.Add Cells(I, 1), xFile.Path, , , xFile.Name
Next
End Sub
4, Затем нажмите F5 ключ для запуска кода, новое окно Приложения будет отображаться. Выберите папку, в которой должны быть перечислены имена файлов.
5. Затем нажмите OK, файлы в конкретной папке перечислены на листе с гиперссылками. Смотрите скриншот:
Внимание: Могут быть перечислены только имена файлов в основной папке.
Список всех имен файлов из папки и подпапок на листе с мощной функцией
Наблюдения и советы этой статьи мы подготовили на основании опыта команды Список имен файлов полезности Kutools for Excel можно легко создать список файлов из каталога на листе, как показано ниже. Нажмите, чтобы скачать Kutools for Excel!
Примечание:Чтобы применить это Список имен файлов, во-первых, вы должны скачать Kutools for Excel, а затем быстро и легко примените эту функцию.
После установки Kutools for Excel, пожалуйста, сделайте так:
1. Откройте Excel, нажмите Кутулс Плюс > Импорт / Экспорт > Список имен файлов…, см. снимок экрана:
2. В Список имен файлов диалоговом окне выполните следующие операции:
(1.) Щелкните кнопка, чтобы указать папку, в которой находятся файлы, которые вы хотите перечислить;
(2.) Проверьте Включить файлы в подкаталоги возможность перечислить все имена файлов в подпапках или проверить Включать скрытые файлы и папки возможность отображать все имена скрытых файлов, а также имена файлов в скрытых папках;
(3.) Укажите тип файла, который вы хотите указать под Тип файлов раздел;
(4.) Выберите единицу размера файла для отображения из Единица размера файла раздел, который вам нужен.
(5.) Проверьте Создать гиперссылки вариант как вам нужно.
3. Нажмите OK. Он сгенерирует список файлов в каталоге или подкаталоге на новом листе. Смотрите скриншот:
Нажмите, чтобы скачать Kutools for Excel и бесплатная пробная версия прямо сейчас!
Больше относительных статей:
- Создайте список всех имен рабочих листов из книги
- Предположим, у вас есть книга с несколькими листами, и теперь вы хотите перечислить все имена листов в текущей книге. Есть ли какой-нибудь быстрый способ создать список имен этих листов в Excel, не вводя их один за другим? В этом руководстве приведены инструкции о том, как составить список имен листов в Excel.
- Копирование или перемещение файлов из одной папки в другую на основе списка
- Если у вас есть список имен файлов в столбце на листе, и файлы находятся в папке на вашем компьютере. Но теперь вам нужно переместить или скопировать эти файлы, имена которых указаны на листе, из их исходной папки в другую, как показано на следующем снимке экрана. Как вы могли выполнить эту задачу так быстро, как вы можете в Excel?
- Получить список имен листов в Google Таблицах
- В этой статье я расскажу о некоторых методах получения имени текущего имени листа или списка имен листов в таблицах Google.
- Перемещение между листами с помощью раскрывающегося списка
- Предположим, у вас есть книга, содержащая несколько листов, теперь вам нужно создать раскрывающийся список или поле со списком, в котором перечислены все имена листов, и когда вы выбираете одно имя листа из раскрывающегося списка, он немедленно переходит на этот лист. В этой статье я расскажу, как перемещаться между листами с помощью раскрывающегося списка в Excel.
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
В Excel существуют неочевидная возможность вывести на лист список имен файлов из заданной папки. [1] Способ связан с использованием макрофункции (подробнее см. Функция Получить.Ячейку). Этот метод существенно проще написания макроса VBA. Начните с создания именованной формулы. Пройдите по меню Формулы –> Определенные имена –> Присвоить имя, и в окне Создание имени введите данные, как указано на рисунке:
Рис. 1. Диалоговое окно создания именованной формулы
Скачать заметку в формате Word или pdf, примеры в формате Excel (с макросами)
Обратите внимание: функция =ФАЙЛЫ(Лист1!$A$1) не относится к стандартным функциям рабочего листа. Это макрофункция, написанная в старом XLM-стиле и предназначенная для использования на специальном листе макросов. Она принимает один аргумент – путь к каталогу и описание файла (или файловый шаблон) и возвращает массив имен файлов, содержащихся в данном каталоге и удовлетворяющих описанию файла (шаблону). Обычные формулы рабочего листа не могут использовать подобные XLM- функции, а определенные имена — могут.
Определив именованную формулу, введите в ячейку А1 путь к каталогу и описание файла. Например, D:Dropbox!Сайт7_Библиотека*.*
Следующая формула отобразит первый найденный файл: =ИНДЕКС(Список;1). Если изменить второй аргумент на 2, то будет отображен второй найденный файл и т.д. Следующая формула, введенная в ячейку В1 (рис. 2), и скопированная вдоль столбца, позволит вывести все файлы: =ИНДЕКС(Список;СТРОКА()).
Рис. 2. Использование xlm-макрофункции в именованной формуле позволяет создать на листе список имен файлов
Функция СТРОКА, используемая здесь, генерирует ряд последовательных натуральных чисел: 1, 2, 3 и т.д. Эти числа используются в качестве второго аргумента функции ИНДЕКС. Когда все файлы будут выведены на лист, формула начнет возвращать ошибку: #ССЫЛКА! Если изменить каталог или описание файла в ячейке А1, то формулы обновляются и выводят имена новых файлов.
Книгу Excel нужно сохранить как файл с поддержкой макросов (в формате *.xlsm).
[1] По материалам книги Джон Уокенбах. Excel 2013. Трюки и советы. – СПб.: Питер, 2014. – С. 44, 45
В этой статье будет рассказано, как получить список имен файлов, содержащихся в каталоге, а затем отобразить этот список на листе. Данный способ связан с использованием макрофункции Excel 4 XLM в именованной формуле. Такой метод удобен, поскольку позволяет относительно легко выстроить на листе список имен файлов — обычно для этого требуются сложные макросы VBA.
Откройте новую книгу, а затем выполните следующие действия для создания именованной формулы.
- Выполните команду Формулы ► Присвоить имя, чтобы открыть диалоговое окно Создание имени.
- Впишите в поле Имя название Список.
- Введите следующую формулу в поле Диапазон (рис. 8.1):
=ФАЙЛЫ(Лист1!$A$1)
. - Нажмите ОК, чтобы закрыть окно Создание имени.
Рис. 8.1. Работа с диалоговым окном для создания именованной формулы
Обратите внимание: функция ФАЙЛЫ не относится к стандартным функциям рабочего листа. Это макрофункция, написанная в сравнительно старом XLM-стиле и предназначенная для использования на специальном листе макросов. Она принимает один аргумент (путь к каталогу и описание файла) и возвращает массив имен файлов, содержащихся в данном каталоге и удовлетворяющих описанию файла. Обычные формулы рабочего листа не могут использовать подобные XLM-функции, а именованные формулы — могут.
Определив именованную формулу, введите в ячейку А1 путь к каталогу и описание файла. Например: C:Excelexpert.ru* *. Далее формула отображает первый найденный файл: =ИНДЕКС(Список;1)
. Если изменить второй аргумент на 2, то будет отображен второй найденный файл и т. д. На рис. 8.2 приведен пример. Путь и описание файла указаны в ячейке А1. В ячейке А2 содержится следующая формула, скопированная далее по столбцу: =ИНДЕКС(Список;СТР0КА()-1)
. Функция СТРОКА, используемая здесь, генерирует ряд последовательных натуральных чисел: 1,2,3 и т. д. Эти числа используются в качестве второго аргумента функции ИНДЕКС.
Рис. 8.2. Использование XLM-макроса в именованной формуле позволяет создать на листе список имен файлов
Обратите внимание: в ячейке А17 (и ниже) происходит ошибка. Дело в том, что в каталоге содержится всего 19 файлов и формула пытается отобразить имена несуществующих. Если изменить каталог или описание файла в ячейке А1, то формулы обновляются и выводят имена новых файлов.
Если вы пользуетесь такими приемами, то книгу нужно сохранить как файл с поддержкой макросов (в формате *.xlsm или *.xls).