Макрос VBA в Word: Как манипулировать текстом по дополнительному адресу, указанному на ссылке? - PullRequest
0 голосов
/ 05 мая 2011

Документ, с которым я работаю, полон внутренних гиперссылок, сделанных Endnote, с адресом типа "# _ENREF_76".Я пытаюсь написать макрос, который циклически перебирает все гиперссылки, копирует текст по адресу, указанному в ссылке, и делает что-то с ним.Как:

For i = ActiveDocument.Hyperlinks.Count To 1 Step -1
    With ActiveDocument.Hyperlinks(i)
        myText = .get_The_Text_At_The_Address_In_The_Link
        doStuff(myText)
    End With
Next i

Возможно ли это вообще?

1 Ответ

0 голосов
/ 05 мая 2011

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

Sub Tester()
    Dim h As Hyperlink, b As Bookmark
    For Each h In ActiveDocument.Hyperlinks
        'Debug.Print h.TextToDisplay, h.SubAddress

        On Error Resume Next
        Set b = ActiveDocument.Bookmarks(h.SubAddress)
        On Error GoTo 0

        If Not b Is Nothing Then
            Debug.Print h.SubAddress & " contains '" & b.Range.Text & "'"
        End If

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