Снова с просьбой направить или послать (шучу) на путь истинный в познаниях VBA. Общий сетевой диск переезжает на новый сервер. А в некоторых файлах есть линки между собой соответственно они будут на старый сетевой диск. Вот и решили сделать массовую замену пути изменив его начальную часть. Вопрос не новый поэтому поискал в просторах интернета. Нашел на дружественных (надеюсь) сайтах (ссылки добавил в начало кода) почти подходящее решение (один код перебирает папки и подпапки, а другой - находит и заменяет текст по всей открытой книге). И их нужно было поженить между собой. В этом и затык. По отдельности работают, а как думал правильно соединил не работают, но и ошибку не выдает. Также прикрутил код отключения обновления связей - тоже не срабатывает - выводит сообщение об обновлении. Файлы: VBA_change (с кодами) и Test1 - условный файл который поместил в условную папку
Буду признателен за совет и сдействие
Добрый день, всем участникам форума!
Снова с просьбой направить или послать (шучу) на путь истинный в познаниях VBA. Общий сетевой диск переезжает на новый сервер. А в некоторых файлах есть линки между собой соответственно они будут на старый сетевой диск. Вот и решили сделать массовую замену пути изменив его начальную часть. Вопрос не новый поэтому поискал в просторах интернета. Нашел на дружественных (надеюсь) сайтах (ссылки добавил в начало кода) почти подходящее решение (один код перебирает папки и подпапки, а другой - находит и заменяет текст по всей открытой книге). И их нужно было поженить между собой. В этом и затык. По отдельности работают, а как думал правильно соединил не работают, но и ошибку не выдает. Также прикрутил код отключения обновления связей - тоже не срабатывает - выводит сообщение об обновлении. Файлы: VBA_change (с кодами) и Test1 - условный файл который поместил в условную папку
С изменением текста разобрался: вшил код замены текста в основной код и добавил ссылку на открытую книгу wb. Но сообщения о необходимости обновить связи выходят. Если получится допилить может кому пригодиться готовый код
С изменением текста разобрался: вшил код замены текста в основной код и добавил ссылку на открытую книгу wb. Но сообщения о необходимости обновить связи выходят. Если получится допилить может кому пригодиться готовый кодAnis625
Финальный файл (добавил отключение/включение автоматического режима пересчета формул в начале и конце, чтобы быстрее отрабатывал код на больших размерах файлах). Спасибо большое doober,
Финальный файл (добавил отключение/включение автоматического режима пересчета формул в начале и конце, чтобы быстрее отрабатывал код на больших размерах файлах). Спасибо большое doober,Anis625
Еще раз добрый день, всем участникам форума! Код работает отлично, только как же без НО при тестировании на продуктиве =) Столкнулся с такой ситуацией, что при замене пути к папке Excel автоматически пытается обновить связь и выдает #ССЫЛКА если не находит путь. Автоматический пересчет формул пробовал отключить - не помогает. Можно ли как то сделать чтобы замена была без обновления связи после замены?
Еще раз добрый день, всем участникам форума! Код работает отлично, только как же без НО при тестировании на продуктиве =) Столкнулся с такой ситуацией, что при замене пути к папке Excel автоматически пытается обновить связь и выдает #ССЫЛКА если не находит путь. Автоматический пересчет формул пробовал отключить - не помогает. Можно ли как то сделать чтобы замена была без обновления связи после замены?Anis625
Сообщение отредактировал Anis625 - Вторник, 09.03.2021, 11:15
Все в интернете перерыл, чтобы хоть за что то зацепиться. В 2015 году на этом форуме тоже поднимали этот вопрос- без решения он остался. Неужели не решаемая задачка.
Все в интернете перерыл, чтобы хоть за что то зацепиться. В 2015 году на этом форуме тоже поднимали этот вопрос- без решения он остался. Неужели не решаемая задачка.Anis625
Pelena, Файлы могут содержать ссылку на файл который был перемещен (это исключение, но такие увы есть). При замене у них ссылки выходит #ССЫЛКА. По ним не нужно менять ссылку. В идеале было бы если макрос просто меняет путь в формуле без обновления. Я думал это так работает. А оказывается он сразу пытается обновить связь. Возвращать на место файл тоже вряд ли кто будет. Их сотни (среди тысяч)
Pelena, Файлы могут содержать ссылку на файл который был перемещен (это исключение, но такие увы есть). При замене у них ссылки выходит #ССЫЛКА. По ним не нужно менять ссылку. В идеале было бы если макрос просто меняет путь в формуле без обновления. Я думал это так работает. А оказывается он сразу пытается обновить связь. Возвращать на место файл тоже вряд ли кто будет. Их сотни (среди тысяч)Anis625
Сообщение отредактировал Anis625 - Среда, 10.03.2021, 10:40
могут содержать ссылку на файл который был перемещен
но тогда ведь искомый фрагмент (что меняем) будет уже другим и не попадёт под замену. Или я что-то не так понимаю. Я к тому, что ошибка #ССЫЛКА! может уже была до выполнения макроса
могут содержать ссылку на файл который был перемещен
но тогда ведь искомый фрагмент (что меняем) будет уже другим и не попадёт под замену. Или я что-то не так понимаю. Я к тому, что ошибка #ССЫЛКА! может уже была до выполнения макросаPelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Я к тому, что ошибка #ССЫЛКА! может уже была до выполнения макроса
Она может появиться если обновить связи. Но на входе обновление связей отключено и обновляются в ручную. Если бы связей было бы 100 можно и в ручную, а их несколько тысяч. И после замены пути в файлах хотелось чтобы ссылки по прежнему не обновлялись, а только в ручном режиме пользователем. Но до этого массово меняем по всем файлам Excel связи на новый сетевой диск.
Я к тому, что ошибка #ССЫЛКА! может уже была до выполнения макроса
Она может появиться если обновить связи. Но на входе обновление связей отключено и обновляются в ручную. Если бы связей было бы 100 можно и в ручную, а их несколько тысяч. И после замены пути в файлах хотелось чтобы ссылки по прежнему не обновлялись, а только в ручном режиме пользователем. Но до этого массово меняем по всем файлам Excel связи на новый сетевой диск.Anis625