Сделать часть текста гиперссылкой в ​​Word VBA - PullRequest
0 голосов
/ 13 марта 2020

Мне нужно обновить старый макрос Word. Этот макрос создает таблицу в нижнем колонтитуле с 2 ячейками. Первая ячейка содержит адрес и адрес веб-сайта:

With myTable
    .Cell(1, 1).Range.text = Line1 & vbCrLf & Line2 & vbCrLf & URL
End With

Мне нужно сделать URL-адрес правильной гиперссылкой, а не просто текстом. Я уже нашел:

ActiveDocument.Hyperlinks.Add Anchor:=???, Address:= "http://myurl.com"

Но я не могу понять, что поставить в качестве Якоря. Я пытался работать с объектом Selection, но .Execute ничего не возвращает.

Пожалуйста, совет.

Ответы [ 2 ]

1 голос
/ 15 марта 2020

Этот код будет выполнять ту работу, которую вы описываете.

Dim Line1 As String, Line2 As String
Dim Url As String
Dim Rng As Range

Line1 = "Line 1"
Line2 = "Line 2"
Url = "www.Mydot.com"

With ActiveDocument.Tables(1).Cell(1, 1).Range
    .Text = Line1 & vbCrLf & Line2 & vbCrLf & Url
    Set Rng = .Paragraphs(3).Range
    Rng.MoveEnd Count:=-1
    .Hyperlinks.Add Rng, Rng.Text
End With
0 голосов
/ 14 марта 2020

Якорь - это объект, к которому вы прикрепляете гиперссылку. Если мы предположим, что это текст в ячейке таблицы, попробуйте следующее:

Sub AddHyperlink()
    With ActiveDocument.Tables(1).Cell(1, 1).Range
        .Text = "Line1" & vbCrLf & "Line2" & vbCrLf
        .Hyperlinks.Add ActiveDocument.Tables(1).Cell(1, 1).Range, "http://www.brandwares.com"
    End With
End Sub

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...