Страницы: 1
RSS
Поиск файлов в папках и подпапках по списку в эксель и вывод полного пути
 
Добрый день, снова обращаюсь за помощью...  :oops:
Есть книга эксель. В столбце A имеются названия файлов.
В директории C:\Users\user\files есть папки, подпапки и под-подпапки :), в которых содержатся файлы из списка в формате pdf.
Нужно напротив каждого названия (который в столбце А), вывести полный путь к этому файлу... если не найден, то минусик поставить...
Пример получился минималистичный, но всё же прикрепила...

Спасибо...  :oops:  :oops:  :oops:  
 
А Вы знаете - файлов например с именем h1058 может быть практически неограниченное количество. Куда их всех писать?
Думаю тут можно использовать http://excelvba.ru/code/FilenamesCollection и например словарь - так будет быстрее.
Практически писать сейчас некогда, да и файл не могу выложить...
Да и без ответа на вопрос писать рано.
 
Hugo,
названия файлов в этих директориях либо не повторятся, либо содержимое файлов будет идентично (99%)
Идеально было бы писать путь самого "свежего" файла...
(это я совсем загнула, наверное, да?  :( )
 
Если задача разовая, то можно получить полный список всех файлов с помощью ТоталКоммандера (Ctrl+B на верхней папке, скопировать в буфер все пути), кинуть это в Эксель, далее формулами подтянуть по местам.
Если делать кодом - можно и по свежести разобрать...
Кстати в Коммандере можно файлы и рассортировать по именам, убить или переместить ненужные (старые, или другого размера), вообще сразу сделать всю работу без кодов и экселей.
Изменено: Hugo - 30.10.2017 15:01:44
 
anna-84, здравствуйте. Вот тут смотрели?
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Hugo,
нет, увы не разовая, пытаюсь облегчить работу людей постарше...
Боюсь, ТоталКоммандер, бросание в эксель не для них... идеально - просто кнопочку нажать :))))
Буду читать ссылку, что вы указали, но там, похоже задачи "наоборот": из папки в список...
Спасибо.
Изменено: anna-84 - 30.10.2017 15:14:58
 
Jack Famous,
хотите сказать самым рациональным выходом в моем случае будет вывод имен и путей всех файлов в папках-подпапках, их сравнение с моим списком (который в столбце А), и удаление не нужного?..
Изменено: anna-84 - 30.10.2017 15:17:12
 
Цитата
anna-84 написал:
из папки в список
- ну так ведь  это и нужно получить на промежуточном этапе...
 
Цитата
anna-84 написал:
там, похоже задачи "наоборот"
ну если есть список ВСЕХ файлов в xl, то уже в нём-то можно найти нужные - не так-ли?  ;)
а вообще, уважаемый товарищ Hugo дал вам прекрасную ссылку
Изменено: Jack Famous - 30.10.2017 15:15:38
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Jack Famous, Hugo,
всё, эврика!!! Теперь и до меня дошло  :D
Спасибо!!!  :*  
 
Цитата
Jack Famous написал:
нём-то можно найти нужные - не так-ли?
Да-да-да, каюсь  :D
Сообразила теперь  ;)
СПАСИБО еще раз!!!
 
Я предлагаю делать так:
1. диапазон в 2 столбца с списком файлов в массив (или лучше 2 параллельных, 2-й для результата).
2. цикл по массиву, запоминаем в словаре имена, к каждому в итем массив на 2 элемента. Ну или делать 2 параллельных словаря, что думаю даже проще.
3. перебор дерева файлов, по имени смотрим в словарях дату, запоминаем дату и путь самого свежего.
4. снова цикл по массиву имён, в 2-й столбец пишем путь из словаря.
5. выгрузка массива на лист.
Страницы: 1
Читают тему
Наверх