#vba
#vba
Вопрос:
Документ, с которым я работаю, полон внутренних гиперссылок, созданных 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:
Я не очень хорошо знаком с 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 amp; " contains '" amp; b.Range.Text amp; "'"
End If
Next h
End Sub