Страницы: 1
RSS
Excel массовое изменение адресов ячеек
 
Здравствуйте!    
Скажите, пожалуйста, как изменить сразу адреса всех ячеек всех листов всех рабочий книг - наверно только макрос самой писать?    
Дело в том, что множество файлов эксель со ссылками перенесли в другую сетевую папку.  
Пример: (1)='U:\HOME\FIN2\ФП 2010\[ф.11.15 коммерческие от декл 16.10.xls]11.15'!U66
 
U:\HOME везде нужно заменить на O:\Общие папки\Отдел\    
Нужно сделать для всех файлов эксель, расположенных в папке FIN2 (в ней в свою очередь много других вложенных папок).
 
Открываете файл ф.11.15 коммерческие от декл 16.10.xls, затем открываете файл, в котором надо поменять ссылки и через замену меняете 'U:\HOME на 'O:\Общие папки\Отдел
 
А если еще раз перенесут?  
Лучше создайте виртуальный диск U:, ссылающийся на O:\Общие папки\Отдел\  (Проводник, Сервис - Подключить сетевой диск, не забудьте галку "Восстанавливать при входе в систему").  
U:\HOME замените на U:  
Если потом снова перенесут, просто измените ссылку диска U.
 
Добрый день  
 
Вот попробуйте. Только совет - сначала создайте тестовую папку с несколькими файлами и подпапками и проверьте на ней. Ну или сделайте резервную копию...
 
Всем спс сейчас буду пробовать
 
webley,  
какой макрос SFL или тест используется?  
при первом открытии было окно поиск-замена, потом пропало, так и должно быть?  
вижу пути в коде
 
{quote}{login=ghjdjlrf}{date=10.12.2010 02:03}{thema=}{post}webley,  
какой макрос SFL или тест используется?  
при первом открытии было окно поиск-замена, потом пропало, так и должно быть?  
вижу пути в коде{/post}{/quote}  
 
Тот который на кнопке - test1. Окна поиск-замена вообще-то не должно быть...
 
Здравствуйте, вчера 2 раза пыталась добавить сюда сообщение, почему-то не смогла!
 
Добавляется!  
Хотела сказать всем спасибо и озвучить результат:  
выполнять замену придется ни как иначе как только через макрос, поскольку вручную заменять рука отвалится - исходная папка содержит много других, размер вложенной папочки в среднем 1 Гб.  
Обозначать название пути другим диском не хотят - хотят видеть реальные пути, и я их понимаю.  
При тестировании предложенного здесь макроса выяснилось, что придется устранять несколько местных заморочек:    
1. на запрос, обновлять ли расчеты, нужно программно отвечать "Не обновлять" (чтоб рука не отвалилась)  
2. пропускать файлы к-рые только для чтения - на них макрос вылетает, и надо начинать тестирование с начала  
3. еще пара-тройка ошибок, происхождение к-рых я не очень поняла (вроде того: в появившемся окне предлагается выбрать лист для работы, потому что лист не найден. я же просто земеняю кусочек адреса)  
Сначала буду пытаться устранить 1-2. Очень благодарна за помощь - очень облегчили мне работу.
 
Скажите, пожалуйста, есть ли на этом форуме возможность поиска созданных мною тем, не просматривая все темы?
 
Скажите, пож-ста, как можно вывести в отладке VBA значение переменной, потому что полностью путь к файлу не помещается при наведении мыши на переменную?
 
Workbooks("Zamena.xls").Worksheets("Лист1").Cells(3, 1).Value = f.Name 'имя файла  
Workbooks("Zamena.xls").Worksheets("Лист1").Cells(3, 2).Value = f.Path 'полное имя файла  
Скажите, пожалуйста, каким параметром вывести, кто зарезервировал файл только для чтения (запаролировал):  
'Workbooks("Zamena.xls").Worksheets("Лист1").Cells(3, 3).Value = f.??? 'кто зарезервировал
 
'Workbooks("Zamena.xls").Worksheets("Лист1").Cells(3, 3).Value = f.author  
 
локальные переменные показываются в окне locals (view-locals window)  
 
или стать на переменную - пкм-add watch
Живи и дай жить..
 
спасибо  
 
при использовании author так:  
'Workbooks("Zamena.xls").Worksheets("Лист1").Cells(3, 3).Value = f.author  
появляется ошибка  
 
Так:    
For Each property In Workbooks("Zamena.xls").BuiltinDocumentProperties  
If property.Name = "Author" Then  
                       Workbooks("Zamena.xls").Worksheets("Лист1").Range("C3").Value = property.Value  
End If  
Next property  
выводится некто aberkutov,    
 
а при открытии вручную документа некто peu, в свойствах документа в качестве автора указано третье значение.  
Нужно выводить peu.
 
почему нельзя написать  
List = Workbooks("Zamena.xls").Worksheets("Лист1")  
и затем использовать List?
Страницы: 1
Читают тему
Наверх