Список файлов в папке

Иногда бывает необходимо заполучить на лист 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 обшарит указанную папку и все вложенные подпапки и выдаст на экран окно с предварительным просмотром результатов:

Предварительный просмотр списка файлов в Power Query

Если внешний вид списка вас устраивает, то можно смело жать внизу кнопку Загрузить (Load), чтобы залить эти данные на новый лист. Если же хочется дополнительно обработать список (удалить лишние столбцы, отобрать только нужные файлы и т.п.), то нужно выбрать команду Изменить / Преобразовать данные (Edit / Transform Data).

Поверх окна Excel откроется окно редактора Power Query, где мы увидим список всех наших файлов в виде таблицы:

Окно 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 выполнит всю цепочку запрограммированных нами единожды действий уже автоматически, отобразив все изменения в составе папки.

Ссылки по теме

 



Страницы: 1  2  
DwMan
06.10.2012 18:30:34
Полезная вещь, спасибо!
l'ambda
06.10.2012 18:31:14
макрос отличный, очень полезный! Работает без сбоев даже с очень большими папками!
Vladimir_A
06.10.2012 18:32:14
Спасибо! Но создаёт несколько одинаковых листов.
Vladimir_A
06.10.2012 18:34:12
Если хотите, чтобы работал только с одним листом, то в макросе Sub FileList() строчку
ActiveWorkbook.Sheets.Add
меняем на
Sheets("FileList").Select
где название вашего листа.
Но при таком раскладе, при повторно срабатывании макроса данные дозаписываются в таблицу - удобно, если надо добавить с других папок, но если надо нересканировать папку - неудобно.
Для этого после добавленной уже строчки в макросе добавляем ещё и такую:
Worksheets("FileList").Range("A1:E" & Range("A65536").End(xlUp).Row).ClearContents
Артем Долгорукий
06.10.2012 18:35:07
Спасибо тебе - брат.
Olga
06.10.2012 18:35:43
Сбивается на папках, где access denied. Также, можно ли реализовать возможность выбора подпапок из конкретной папки?
Adlaran
06.10.2012 18:37:50
Для того, чтоб макрос не сбивался на папках с закрытым доступом (например на System Volume Information) нужно после строчки:
X = SourceFolder.Path
Добавить строчку:
On Error Resume Next.
alexxcroner
06.10.2012 18:39:20
Большое спасибо автору
Но есть одно но когда список файлов больше чем один лист происходит затирание первых строчек..
06.10.2012 18:41:23
Смените Excel 2003 на 2007 или 2010 - там больше миллиона строк на листе. Должно хватить :)
30.05.2016 14:19:39
добрый день
Microsoft Excel 2007


дошло до 65546 строки и начало "перебирать" в начале листа

"вручную" скопировал все эти 65 000 строк и вставил рядом - получилось 130 000, потом 260 000
(таким образом я убедился, что поле листа excel способно обрабатывать больше, чем 65000 строк)
(и что "причина" не в excel)

то есть макрос, находясь в новом excel (в котором "миллион" строк), не отрабатывает свыше старого количества (65000)

можете помочь? ...)

сори, наверное сам нашел
48-я строка, выражение "r = Range("A65536" наверное надо заменить на что-то более подходящее...
например на "r = Range("A1000000"
попробую...
Дмитрий
06.10.2012 18:40:23
Очень нужная вещь! Огромное спасибо.
27.12.2012 09:39:07
При работе с подкаталогами процедура ListFilesInFolder() каждый новый раз объявляет переменную Dim FSO As Object и создает Set FSO = CreateObject("Scripting.FileSystemObject"). Не является ли это лишним? Может целесообразней объявить ее перед процедурой FileList() (чтоб была глобальной переменной) и указать один раз в FileList()?
01.07.2013 21:10:41
У вас заметно торможение из за утечек памяти? ;)
27.06.2013 00:12:49
Как вывести список пустых папок на новый лист?
20.08.2013 10:43:17
Можно сделать так, чтобы переходе по ссылке файла печателся данный документ (допустим это pdf скан сертификата) в указанном кол-ве экземпляров?
21.08.2013 10:29:03
Не думаю. Хотя можно попробовать изучить параметры командной строки Adobe Reader - там, возможно, есть ключи для управления выводом на печать.
24.03.2014 15:35:20
Спасибо за макрос! Очень помогает.

Скажите, как сделать так, чтобы макрос выдавал не просто гиперссылки, как в случае замены

Cells(r, 2).Formula = FileItem.Path
на
Cells(r, 2).Formula = "=HYPERLINK(""" & FileItem.Path & """" )"

, а гиперссылки с одинаковым текстом (и разными адресами)? Т.е. необходимо, чтобы гиперссылки содержали адрес FileItem.Path и фиксированное имя.

Я пытаюсь просто вставить в формулу что-то вроде

Cells(r, 2).Formula = "=HYPERLINK(""" & FileItem.Path & """; "текст")", но это не работает.
26.04.2014 16:43:11
гиперссылки с одинаковым текстом
Cells(r, 2).Formula = "=HYPERLINK(""" & FileItem.Path & """,""текст"")"
29.04.2014 13:38:23
Спасибо большое! Работает!
27.04.2014 14:35:57
Подскажите, пожалуйста, а если мне надо сделать в excel список файлов с песнями, возможно ли этот код преобразовать так, чтобы можно было добавить название песни и артиста? (Title, Contributing artists)
07.05.2014 12:14:33
Т.е. MP3-теги считывать?
28.04.2014 18:47:26
Здравствуйте! Я делаю примечания в виде картинок для каталога и использую этот макрос для автоматизации ввода местонахождения картинки. И столкнулся с такой проблемой, что когда я дохожу до 9ой картинки 10ая и последующие почему то располагаются после 1ой, а нужно чтобы по порядку все шло. Скинул скрин. Заранее спасибо за ответ :)
 
07.05.2014 12:13:37
Нормальная сортировка. Excel же этот список как текст воспринимает, а не как числа. Так и должно быть.
14.05.2014 12:30:05
Список папок и файлов в папке
Классная тема, но нужно немногжко другое:
Есть папка "Служба", в ней папки и файлы. Вопрос - как вывести и список папок и файлов.
Ну с файлами получилось, а вот с папками, я так думаю ListFilesInFolder надо поменять на что то другое.
а реально такое вытащить? файл- "текст 15,05,2014 400.pdf"  надо цифру 400 в отдельную ячейку что бы итого посчитать потом
19.05.2014 10:07:17
Я думаю если в свободном столбце поиграться с формулами "ЛЕВСИМВ" и "ПРАВСИМВ" + наверное длинна строки и зависимость от заполнения, то можно.
придумал проще цифру выделять так _400_  в меню потом текст по столбцам, а макросом можно сразу в другой столбец раскладывать?
23.05.2014 11:48:48
Александров Алексей смотри выше: Vladimir_A 6 Октября 2012 18:34
А на мой вопрос кто ответит? Какя процедура вызывает полное содержание каталога (вместе с подкаталогами).
24.05.2014 16:29:38
Добрый день . Подскажите возможно ли, что бы в полученном столбце таблицы были только названия файлов без расширения
В последующем необходимо для сравнения нескольких папок. В которых названия файлов могут быть одинаковые , а расширения разные.  
29.05.2014 11:25:29
В макросах я не силен, а формулами легко (см. мой пост выше 19 мая)
19.07.2014 11:01:56
Замените в коде 51-ю строчку на:
Cells(r, 1).Formula = Left(FileItem.Name, InStrRev(FileItem.Name, ".";) - 1)
19.09.2014 10:52:11
Огромное спасибо Вам! Очень помлого в работе!
05.06.2014 18:49:18
Добрый день. Кто-нибудь знает как сделать список только папок и подпапок, БЕЗ  имен содержащихся в них файлов? И как  в этом случае указать глубину вложения? И можно ли сделать наглядной иерархию, например, для каждого вложения свой столбец. Путь указывать не надо, чтобы не загромождать, только имя папки. Спасибо.
01.07.2014 22:35:46
Присоединюсь к вопросу.  
17.07.2014 13:05:32
Скажите пожалуйста, а как сделать чтоб список файлов выводился без расширений? Спасибо
19.07.2014 11:00:46
Замените в коде 51-ю строчку на:
Cells(r, 1).Formula = Left(FileItem.Name, InStrRev(FileItem.Name, ".") - 1)
19.09.2014 10:55:33
Огромное Вам спасибо!

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

PS вот что значит невнимательность... брал Вашу подсказку из поста чуть выше.. там перед закрывающей скобкой точка с запятой... она то и сбоила. Феншуй восстановлен.. теперь надо грохать desktop.ini...
Как нибудь можно обозначить что выбирать только файлы .wav? Функция нужна только для них и можно прописать прямо в коде...
25.07.2014 18:19:51
А если список сформирован в Excel, убираем ненужные документы из него и хотим теперь оставшиеся файлы собрать макросом из подпапок в одну папку (указанную заранее). Какой будет макрос?
08.09.2014 13:08:17
Это не две строчки кода :) С такими задачами вам на Форум.
16.08.2014 06:40:00
А как изменить макрос, чтобы выводился список папок в папке? (т.е. таблица нужна вида: наименование папки, размер, дата создания, дата изменения) Пример: есть папка A  в ней папки B, C, D - чтобы в таблице отображался список этих папок, не интересует вложения этих папок.
07.09.2014 10:08:04
Доброе время суток! Отличный пример. Подскажите пожалуйста, а как определить имя папки в которой находится данный файл и вывести её? Спасибо
09.05.2015 20:09:58
FileItem.ParentFolder.Name
09.05.2015 20:13:57
В процедуре ListFilesInFolder после основного цикла For Each FileItem In SourceFolder.Files ... Next FileItem добавьте дополнительный цикл, который добавит список подпапок после списка файлов:
For Each FileItem In SourceFolder.SubFolders
 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
 On Error Resume Next
   Next FileItem
Если эти циклы поменять местами, то список подпапок будет сверху, а файлов снизу.
06.10.2014 04:09:35
Добрый день! Макрос очень нравится! но очень нужно, чтобы добавился столбец размер фотографии.
Например я хочу вывести список папки с фотографиями и видеть в каких фотографиях какой размер.
Размеры 70*70 либо Ширина 70 пикселей, высота 70 пикселей.
Это возможно?) заранее благодарю!
30.10.2014 08:26:45
Добрый день Николай!
С помощью Вашего макроса хочу сделать список музыкальных файлов, но макрос видит только названия папок а не конечных файлов. Тоже и с другими конечными файлами. Макрос видит только названия папок, ни чего больше. Не подскажите как исправить?
Спасибо! С уважением Владислав.
04.12.2014 13:55:39
Всем доброго дня!
Макрос очень полезный в плане прикладных скиллов, но для минимизации временных затрат предлагаю открыть целевую папку в FreeCommander, выделить в ней все файлы и в меню выбрать:
Правка-->Копировать имя как текст.
Останется только вставить массив в Excel.
Код для VBA выше скопипастил себе на перспективу решения задач, которые копипаст фрикоммандера не решит. Автору большое спасибо!
06.12.2014 12:41:04
Спасибо, spARTak87, но тогда уж и ссылочку на скачивание FreeCommander давайте я тут положу.
01.04.2015 19:41:15
Такой момент, а почему при изменении( добавлении, удалении) файлов в указанной папке, данные в таблице не меняются?
06.05.2015 23:04:16
Спасибо за полезный макрос.

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

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

Буду очень благодарен.  
20.05.2015 22:10:45
Благодарю за помощь, отлично работает! Для своих нужд немного модернизировал его, вот только не смог получить метадату о файле. В частности хотел бы для 4-го стобца получить Subject из file properties, формат файла PDF.  Cells(r, 4).Formula = FileItem.Subject
Но в этот момент скрипт перестает что-либо делать. Подскажите пожалуйста как быть?
25.05.2015 16:39:07
Доброго времени суток ВСЕМ! Отличный макрос. Подскажите возможно ли дописать макрос, что бы при задании  периода, в  "Список файлов в папке" попали только файлы "по дате создания". Спасибо.
Добрый день, очень полезную штуковину вы соорудили, я хоть и слаб в макросах, но разобрался и заточил под себя...
Единственный вопрос, который уже выше звучал:
Как бы ещё и "теги" вытащить из данных о файле?
Видимо, нужно какую-то библиотеку пристегнуть?
попробую объяснить более наглядно:
у файла, помимо тех параметров, которые вы вытаскиваете в таблицу существуют ещё "название", "автор", "примечание" итд...
Буду очень признателен, если научите, как эти данные вытащить.
А если не научите, то всё равно уже признателен!!!))) Ваш сайт, имхо, лучшее, что есть в рунете по данной теме!
похоже, все ушли на фронт...))
22.07.2015 17:49:16
Спасибо за макрос, сильно помог. Подскажите пожалуйста, а можно добавить еще столбец, в котором была бы кнопка печать? файлы в основном pdf.
30.07.2015 08:52:55
Доброго дня!! А можно название путь до последней папки в одном столбце а название и расширение файла в другом!!
30.07.2015 11:50:26
Ой извиняюсь просмотрел!!!
26.02.2016 09:57:55
Ребята, помогите, пожалуйста, очень срочно.
Что и куда добавить в текст макроса, чтобы выводились только файлы по маске?
05.10.2016 17:38:54
Тоже возник такой же вопрос. Решил с помощью вставки проверки условия по маске Like в цикл For. Вроде работает.

For Each FileItem In SourceFolder.Files
    If FileItem.name Like "Супер Отчет 20*" Then    'добавил это 
        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
    End If                                                            ' и это 
    Next FileItem
20.03.2016 15:02:26
Полезная вещица. Спасибо !
20.03.2016 15:16:42
Можно подобным способом вывести в таблицу лишь дубликаты из всех этих файлов ? Чтобы получился список : код дубликат, имя листа , имя книги.
например :
Папка  2015, подпапки (01.2015 , 02.2015 ........12.2015 ) , файлы 02.01.2015, 03.01.2015 ....... ,   листы  поставщик А , поставщик ВБ , поставщик АУ............
на листах коды и описание товара


15237515      ( лист) поставщик А         (книга)18.02.2015
15237515      ( лист) поставщик Г          (книга)11.08.2015
59214786      ( лист) поставщик Д         (книга)02.05.2015
59214786      ( лист) поставщик ФГ       (книга)15.12.2015

и т.д. .

Спасибо всем за любые советы.
04.05.2016 11:54:11
Друзья очень прошу Вас помочь! Очень оказался полезным макрос, спасибо большое! Но можно ли его доработать, так им образом чтобы из графических файлов в отдельную колонку он извлекал информацию о размерах изображения в пикселях.
Нечто подобное уже пытались спросить, но как то все проигнорировали к сожалению. Заранее благодарю за помощь!
23.05.2016 14:46:21
Очень полезно. Возможно что бы при добавление файлов в папку, список автоматически обновлялся. Всем спасибо за любые советы.  
30.05.2016 10:41:53
Подскажите, пожайлуста, как сделать чтобы дубликаты по первой колонке сразу отсеивались (при добавлении списка)????
23.07.2016 12:50:45
Добрый день! Можно ли модифицировать макрос под следующую задачу. Есть таблица с названиями изображений. Есть несколько папок в которых хранятся сами изображения. Необходимо в таблице названия изображений сделать ссылками на соответствующие им изображения в папках.
28.07.2016 05:01:33
а можно ли дополнить макрос, чтобы в дополнительной колонке выводилось количество страниц в файлах word и pdf ?
07.10.2016 12:13:31
При запуске макроса появляется сообщение:
Compile error:
Syntax error
05.12.2016 16:55:06
ВОУ! Это весЧь! ;)
Огромное спасибо!
20.02.2017 18:38:47
как подтянуть параметр "Владелец"?
19.03.2017 13:26:58
Подскажите пожалуйста, а как вывести свойство "Дата съёмки"?

пробовал менять на
   Range("E1" ) .Value = "Дата съемки"

       Cells(r, 5).Formula = FileItem.DateTaken

- не выходит.
04.04.2017 11:32:15
Замечательный макрос!
Если не трудно, подскажите, как его надо изменить, что бы:
1) При выполнении очищал активный лист и выводил результат.
2) Во втором столбце был один путь, без имени файла.
Заранее большое спасибо!
11.04.2017 00:14:09
По пункту 2):     Cells(r, 2).Formula = FileItem.ParentFolder.Path
Страницы: 1  2  
Наверх