Форматирование частей гиперссылки возможно. Однако это не просто. Гиперссылки реализуются как поля Word, т. Е. Состоят из кода поля и отображаемого значения (на самом деле это поле типа , но не вся соответствующая информация, такая как текст дисплея сохраняется в полевом коде) ,
Вы можете открыть код поля, нажав Alt + F9 (и спрячьте его снова, снова нажав тот же ярлык).
Когда вы устанавливаете форматирование начала и конца диапазона, вам необходимо учитывать, что код поля добавляется к тексту дисплея (хотя по умолчанию вы не увидите код поля при просмотре Range.Text
). Например, если ваша гиперссылка начинается со смещения 100, тогда текст на дисплее начнется со смещения 100 + длина кода поля.
В этом примере VBA макросов объясняет, как получить длину кода поля и вычисляет правильное смещение:
Sub FormatHyperlink()
' set up a sample document
Dim doc As Document
Set doc = Application.Documents.Add
Selection.TypeText "This is a hyperlink to the "
Selection.Collapse wdCollapseEnd
Selection.Hyperlinks.Add Selection.Range, _
"https://stackoverflow.com/", , , "greatest webpage"
Selection.TypeText " ever."
' retrieve the hyperlink
Dim lnk As Hyperlink
Set lnk = ActiveDocument.Hyperlinks(1)
' retrieve the field code of the hyperlink
Dim rng As Range
Set rng = lnk.Range.Duplicate
rng.TextRetrievalMode.IncludeFieldCodes = True
Dim fieldCodeLength As Integer
fieldCodeLength = Len(rng.Text)
rng.TextRetrievalMode.IncludeFieldCodes = False
' format the first word of the display text with a different color
rng.Start = rng.Start + fieldCodeLength + 1
rng.Collapse
rng.MoveEnd wdWord, 1
rng.Font.ColorIndex = wdRed
' format the rest of the hyperlink with another color
Set rng = lnk.Range.Duplicate
rng.Start = rng.Start + fieldCodeLength + 1
rng.MoveStart wdWord, 1
rng.Font.ColorIndex = wdDarkBlue ' or use rng.Font.TextColor = RGB(x,x,x)
End Sub
есть в любом случае, чтобы сделать стиль гиперссылкой как изображения http://prntscr.com/cns076 я хотите разделить текст на несколько цветов –