|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
17.02.2015, 23:44 | #1 |
Пользователь
Регистрация: 30.08.2013
Сообщений: 29
|
Переименование файлов в папке макросом
Добрый вечер.
У меня похожая задача, но чот не разберусь сам. Буду очень благодарен за помощь. Есть папка, в ней файлы PDF и XLS, каждому файлу PDF по названию есть пара XLS. Нужно: 1. открыть первый файл XLS 2. запомнить значение выбранной ячейки пусть А1 3. Проверить наличие пары файла pdf в этой же директории по имени открытого XLS 4. если такой PDF файл есть, переименовать его значением ячейки 5. закрыть файл XLS и удалить его 6. если пары нет, то переименовать его значением из ячейки А1 и переместить в другую директорию 7. открыть следующий файл и т д. пока все файлы XLS не будут удалены, после переименования найденной пары PDF или перемещены, если пара не найдется. |
18.02.2015, 00:43 | #2 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
все реализуемо кроме п.6
в части переместить его в ДРУГУЮ директорию, извините, в ДРУГУЮ это куда? как в анекдоте когда пьяный на улице подходит к прохожему с вопросом: -- подскажите, пожалуйста, а где тут противоположная сторона? прохожий показывает рукой. пьяный: -- да вы издеваетесь!!! а там говорят что здесь! видите-ли, "ДРУГАЯ директория" есть понятие неопределеннное в Вашем рассказе, как "противоположная сторона" в моем примере
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
18.02.2015, 09:41 | #3 |
Пользователь
Регистрация: 30.08.2013
Сообщений: 29
|
Добрый день.
6. если пары нет, то переименовать его значением из ячейки А1 и переместить в другую директорию Я имел в виду в другую папку, что бы этот файл опять не попал под поиск пары. Пусть эта папка будет фиксирована в скрипте, к примеру C:\Error |
18.02.2015, 10:08 | #4 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Посмотрите универсальную надстройку для переименования файлов в папке:
http://excelvba.ru/programmes/RenameFiles Сделал макрос Пробуйте: Код:
__Полезные надстройки для Excel. Парсинг сайтов и файлов.
Макросы любой сложности на заказ. Мониторинг цен конкурентов Последний раз редактировалось EducatedFool; 21.09.2015 в 04:48. |
18.02.2015, 12:25 | #5 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Еще вариант (работоспособность тоже не проверял):
Код:
Чем шире угол зрения, тем он тупее.
|
19.02.2015, 02:11 | #6 |
Пользователь
Регистрация: 30.08.2013
Сообщений: 29
|
ООО ГУРУ!!!!
Огромное спасибо!!!!!! Все работает!!! Оба варианта. Только одну проблему не смог победить. Файлы xls генерит специальная программа, и для версии Microsoft Office Excel 2007 и 2010, она не может. Чтобы скрипт заработал под Excel 2007, мне пришлось открыть эти файлы и пересохранить под Excel 97-2003. Иначе был ограниченный режим и скрипт не работал. Как решить без таких заморочек?? И еще можно в скрипте указать какую папку обрабатывать , пусть C:\документы pdf\. Чтобы файл с скриптом там не болтался. Еще раз спасибо!!!!! Последний раз редактировалось MIKID; 19.02.2015 в 02:20. |
19.02.2015, 02:58 | #7 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
замените
p = ThisWorkbook.Path & "\" на p = "C:\документыpdf\"
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
19.02.2015, 06:39 | #8 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
В предлагаемом ниже варианте сделаны следующие изменения:
1. Добавлен диалог выбора папки с файлами. 2. Добавлена возможность обрабатывать файлы с расширениями ".xls", ".xlsx", ".xlsm" и т. п. 3. Добавлена проверка существования файла в папке, в которую перемещаем файлы. Т. к. автор не указал, что делать в таком случае, то существующий файл будет заменен. Код:
Чем шире угол зрения, тем он тупее.
|
19.02.2015, 09:16 | #9 |
Пользователь
Регистрация: 30.08.2013
Сообщений: 29
|
Спасибо!!
Начал работать, появилось еще одно условие. В ячейке А1 должно быть только 6 цифр от 0 до 9 и не должно быть никаких других символов. Если присутствует цифр больше или меньше шести или есть символы отличные от цифр то переименовать файл тем что есть но добавить в начале error, файл XLS можно так же удалить. Выручили, просто низкий поклон!!! |
19.02.2015, 09:59 | #10 |
Пользователь
Регистрация: 30.08.2013
Сообщений: 29
|
В последней версии все равно не работает, только после пересохранения файлов xls под Excel 97-2003.
Ошибка: После запуска макроса в ячейке А1 файла со скриптом появляется ссылка ='C:\Users\MIKI\Documents\Задача автоматиз нарядов\[1 (1).xls]Лист1'!$A$1 файлы не переименовываются. Запускаю скрипт из Excel 2007 |
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
переименование файлов в папке макросом из Excel | xamillion | Microsoft Office Excel | 32 | 14.10.2013 11:48 |
Скрипт, который считает количество файлов в каждой папке, находящихся в данной папке | so1idsnake | Помощь студентам | 20 | 07.08.2013 22:38 |
Excel переименование файлов в папке макросом | RamZes1715 | Microsoft Office Excel | 7 | 20.10.2011 16:39 |
Переименование файлов в папке. | mr_Smitt | Общие вопросы Delphi | 1 | 28.09.2009 17:20 |
Отслеживает появление в папке файлов. слежение за определенным файлом в определенной папке. | RammFan | Win Api | 1 | 09.06.2007 11:09 |