1

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

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

2 ответа2

0

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

kutools для Excel

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

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

Excel Forum

0

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

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, чтобы запустить его. Если вам придется запускать это несколько раз, вы можете назначить макрос кнопке.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .