Есть ли способ применить стиль "автоматически обновляемый" для гиперссылки?
Я считаю, что этот вопрос не является тривиальным.
Когда вы обычно нажимаете на гиперссылку, она меняет цвет на фиолетовый. Затем, если вы сохраните, закройте, а затем снова откройте документ, ссылка будет обновлена до синего. Это поведение Word по умолчанию, и нет необходимости использовать для него какие-либо макросы.
Я пытаюсь воспроизвести это поведение с помощью VBA. Вот код:
Sub Test1()
Selection.Range.Hyperlinks(1).Range.Fields(1).Result.Style = Word.WdBuiltinStyle.wdStyleHyperlinkFollowed
End Sub
Чтобы заставить его работать, просто поместите курсор в ссылку, запустите макрос и посмотрите результаты:
Это прекрасно работает, за исключением того, что такие посещенные ссылки не будут автоматически обновляться после сохранения, закрытия и повторного открытия документа. См. Разницу на рисунке ниже. Ссылка "Google" открылась нормально, используя мышь Ctrl-клик; ссылка "StackOverflow" была открыта с помощью макроса:
Как я уже сказал, я хочу также автоматически обновлять VBA-открытые ссылки (StackOverflow) (как Google).
Да, я понимаю, есть обходной путь - просто создайте еще один макрос, который будет запускаться каждый раз при открытии документа и изменении всех фиолетовых гиперссылок на синий. Однако это просто обходной путь, и мне это не нравится. Используя его, мы используем преобразование из "постоянного фиолетового" в "постоянный синий" вместо использования "временного фиолетового" (что означает, автоматически обновляемый без каких-либо дополнительных усилий).
Надеюсь, что все ясно. Спасибо заранее.
Обновление (было добавлено после того, как несколько ответов уже были опубликованы).
Да, я понимаю, это сработает:
Sub Test1()
On Error Resume Next 'To avoid an error in case if the link isn't reachable
Selection.Hyperlinks(1).Follow
End Sub
Но я хочу просто симулировать следующее, не открывая ссылку в браузере. Поэтому я не могу использовать Selection.Hyperlinks(1).Follow
.