После очередного глюка эксель, у меня сбились все гиперссылки. Раньше мне помог один раз вот такой макрос (Образец)
Код
Sub ЗаменаИспорченныхГиперссылок()
On Error Resume Next
Dim hl As Hyperlink, oldString As String, newString As String, sh As Worksheet
' часть гиперссылки, подлежащая замене
oldString = "C:\Users\sidorova_d\AppData\Local\Microsoft\Office\UnsavedFiles\Оплаты клиентов\Платёжки.xlsm"
' на что заменяем
newString = "Оплаты клиентов\Платёжки.xlsm"
For Each sh In ActiveWorkbook.Worksheets ' перебираем все листы в активной книге
For Each hl In sh.Hyperlinks ' перебираем все гиперссылки на листе
If hl.Address Like oldString & "*" Then
hl.Address = Replace(hl.Address, oldString, newString)
End If
Next
Next sh
End Sub
Сейчас пробую им же , ничего не получается Когда навожу на битую гиперссылку показывают путь как на скриншоте
а когда нажимаю изменить гиперссылку , то выдаёт такой путь ..\..\AppData\Local\Microsoft\Office\UnsavedFiles\Оплаты%20клиентов\Платёжки.xlsm#Дескформ!R1C1
Если же делаю руками гиперссылку правильную , то выходит вот такой путь -Оплаты%20клиентов\Платёжки.xlsm#Дескформ!R1C1. А если навожу на неё, то такой
Как сделать, что бы вот эта часть менялась ..\..\AppData\Local\Microsoft\Office\UnsavedFiles\Оплаты%20клиентов\Платёжки.xlsm наОплаты%20клиентов\Платёжки.xlsm Всё делаю так, но ничего не происходит.
P.S - #Дескформ!R1C1 эта часть - вкладка из экселевского документа . Она будет в зависимости от клиента меняться, поэтому её не меняем.
Фаил прикрепил, я его конечно подчистил от своей информации)) Оставил столбец с гиперссылкой, которая переключает на вкладки другого экселя. Там где выделил оранжевым , эти гиперссылки я уже изменил в ручную и они работают, остальные косячные. Фаил больше весит чем, нужно. Отправлю на почту.
Опишу свои действия Нажимаю на изменить гиперссылку, копирую от туда ту часть , которую хочу заменить Целая часть выглядит так ../../AppData/Local/Microsoft/Office/UnsavedFiles/Оплаты%20клиентов/Платёжки.xlsm#Грицай!R1C1 Заменить нужно ../../AppData/Local/ Microsoft/Office/UnsavedFiles/Оплаты%20клиентов/Платёжки.xlsm Далее та часть, на которую меняем , если скопировать из работающих, то выглядит так Оплаты%20клиентов\Платёжки.xlsm#Вимком!R1C1 Соответственно копирую Оплаты%20клиентов\Платёжки.xlsm Запускаю и ничего не заменяется. Если навести мышку на гиперссылку то там другой путь, скриншоты прикреплял в 1 посте. Если же я просто в каждую гиперссылку проваливаюсь и вставляю эту часть Оплаты%20клиентов\Платёжки.xlsm ( далее идёт #Вимком!R1C1 и тд. в зависимости от вкладки) То всё работает, а через макрос не заменяет. Вот и не пойму в чём же дело. Хотя ранее было уже такое и всё получилось сразу.