Добрый день всем. Помогите пожалуйста обновить макрос поиска и копирования файлов по списку указанному в столбце "A" данный макрос работает, когда все файлы списка в одной папке. Необходимо сделать так, чтобы он искал файлы так же в подпапках.
Копирование файлов из папок/подпапок по имени в списке, Копирование файлов по имени
01.06.2018 16:23:33
|
|
|
|
01.06.2018 16:27:33
vova_nich, это Вам нужно в сторону FilenamesCollection смотреть, там глубина перебора просто задаётся...
|
|
|
|
01.06.2018 16:37:55
В этом то и проблема, что в написании макросов не силен
|
|
|
|
01.06.2018 19:14:29
Посмотрите
|
|
|
|
01.06.2018 19:42:30
|
|
|
|
01.06.2018 21:40:03
Спасибо за ссылки, но не то. Тут задача стоит по уже полученному списку файлов скопировать их из подпапок в определенный каталог
Изменено: |
|
|
|
13.10.2022 09:29:15
что делать если в разных подпапках нашлось 2 (и более) файла с одинаковыми именами
в одну папку их не скопировать без дополнительных манипуляций (каких?)
Изменено:
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
|
|
|
|
13.10.2022 11:37:30
Возможно я не правильно высказался, если в разных папках одинаковые файлы ну и ладно. Пример: критерий (123), файлы в папках "фва123щш", "6516пкк", "654123мк", "12365", "ыкап124маку", "6516пкк" . И задача что бы он скопировал 1, 3 и 4 файлы. А 6 файл уже скопирован. Поэтому даже если он будет скопирован, он заменит тот что уже есть.
Файлы это чертежи. И если кто сталкивался с ресурсной спецификацией, то по факту это поиск и копирование всех чертежей которые нужны для изготовления изделия. И для этого у меня добавлено: For Each objFile In objFolder.Files For q = 2 To w If InStr(1, objFile, Cells(q, 1)) > 0 Then Cells(q, 1).Interior.Color = vbYellow FileCopy objFile, sFolder1 ' копирование (не получается) objFolder.copyFile objFile, sFolder1 ' копирование (не получается) Exit For End If Next Next Получается я не нахожу файл который соответствует критерию, я проверяю каждый файл на соответствие критерия (содержание ячеек).
Изменено: |
|
|
|
13.10.2022 12:54:05
Строка
'If f.Name Like fls(r, 1) Then не работает Заменил на If InStr(1, f, Cells(r, 1)) > 0 Then заработало. СПАСИБО. |
|
|
|
13.10.2022 17:10:48
В имена файлов которые нужно копировать? Если так то не получиться. Получаю комплект КД где сотни файлов и все переименовывать не вариант. Тогда скопирую в ручную. Или я не про те имена понял? И я взял именно Ваше решение и его буду использовать. СПАСИБО. |
|||
|
|
13.10.2022 18:44:28
то, что у вас в А2 и дальше написано:
КПДМ.301342.858 написать
но если вы добились работоспособного кода - ничего уже трагать не нужно. пусть работает))
Изменено:
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
|
||||
|
|
|||