Как можно программно изменить гиперссылки в Excel

у меня есть электронная таблица с 260 ячейками, которые содержат разные гиперссылки. Есть ли способ программно изменить ссылку вместо редактирования каждой ссылки?

все 260 гиперссылок уникальны и должны быть изменены на другие уникальные значения. В начале каждой ссылки был добавлен текст. Ссылка (как пример)javascript:go("http...") и мне нужно удалить javascript:go(" и ") С каждого.

30
задан techturtle
05.03.2023 20:51 Количество просмотров материала 2693
Распечатать страницу

2 ответа

Я думаю, что вам нужно быть более конкретным о том, что вы хотите сделать. Есть ли много гиперссылок, которые все указывают на одно или два местоположения, и вы хотите изменить их все, или есть много разных, и вы собираетесь изменить каждую из них на другую уникальную гиперссылку. Независимо от вашей проблемы, я думаю, что это крошечное дополнение Excel может помочь вам:

kutools для excel

Он сделан для выполнения таких вещей, как ваш проблема.

существует также этот форум, который работает над проблемами Excel, и вы обязательно получите вашу проблему решена менее чем за 5 часов:

Форум Excel

0
отвечен Jacob Rabinsun 2023-03-07 04:39

вы можете исправить все гиперссылки путем замены части адреса, используя следующий код:

Sub ClearHyperlinks()
Dim hl As Hyperlink

For Each hl In Worksheets("Sheet1").Hyperlinks
    hl.Address = Replace(hl.Address, "javascript:go(", "")
    hl.Address = Replace(hl.Address, ")", "")
Next hl

End Sub

каждого Replace() оператор может использоваться для удаления определенных наборов символов. В этом случае первый удаляет javascript:go( и вторая-удаляет ). Если вам нужно удалить дополнительные символы, просто включите их в операторы или добавьте новую строку, следуя тому же шаблону. Возможно, вам придется сделать некоторые хитрые вещи, чтобы удалить любые цитаты, так как они также используется самим кодом. Чтобы удалить двойные кавычки, вы можете изменить строки следующим образом:

hl.Address = Replace(hl.Address, "javascript:go(" & Chr(34), "")
hl.Address = Replace(hl.Address, Chr(34) & ")", "")

Chr(34) - код двойной кавычки. Однако, когда я играл с этим только сейчас, Excel изменил мои двойные кавычки на %22, который является url-обработанной версией двойной кавычки. В этом случае код должен выглядеть следующим образом:

hl.Address = Replace(hl.Address, "javascript:go(%22" , "")
hl.Address = Replace(hl.Address, "%22)", "")

чтобы запустить этот код, нажмите клавишу Alt+F11, чтобы открыть окно VBA и вставить его в к новому или существующему модулю. Если вы собираетесь запустить его только один раз, вы можете просто щелкнуть в любом месте этого кода и нажать F5, чтобы запустить его. Если вам придется выполнить это несколько раз, вы можете назначить макрос кнопке.

0
отвечен techturtle 2023-03-07 06:56

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх