Я действительно нашел ответ @ user228546 полезным, так как мне не удалось заставить мою версию Microsoft Word (2013) показать мне варианты в принятом ответе. Тем не менее, это немного кратко, и для того, чтобы все заработало, требуется хорошее знание Visual Basic для приложений (VBA).
Вот слегка измененный ответ, который может помочь некоторым людям, которые не так много знают о VBA.
Вам нужно будет перейти в редактор VBA, используя Alt+F11. Используйте "Вставить" ->
"Модуль" вверху, чтобы открыть окно редактора.
Получить адрес ссылки в новом документе
На самом деле я собираюсь сохранить извлеченные гиперссылки в новый документ, который затем сохраню.
Введите (или скопируйте / вставьте) следующее в окне редактора.
Sub GetLinksInNewDoc()
'
' Finds all hyperlinks (even with strange formats,
' as long as they're active)
' and displays them in a new document.
'
' Declare the types of our variables
Dim doc As Document
Dim newDoc As Document
Dim hlink As Hyperlink
' Use the script on the current document
Set doc = ActiveDocument
' Open a new document to put the link addresses into
Set newDoc = Documents.Add
' Loop through all the hyperlinks using the iterable hlink variable
With doc
For Each hlink In .Hyperlinks
' Switch into the new document
newDoc.Activate
' Put the Hyperlink Address in the new document
With Selection
.InsertAfter hlink.Address & " " & hlink.SubAddress
.InsertAfter vbNewLine
End With
Next hlink
End With
Set doc = Nothing
Set newDoc = Nothing
End Sub
Убедитесь, что ваш документ с гиперссылками является последним документом Microsoft Word, который вы выделили. Сохраните свой код. Либо нажмите на зеленую стрелку для запуска, либо на верхней панели инструментов выберите "Выполнить" ->
«Запустить Sub/UserForm» или нажмите F5
Обратите внимание, что вы можете получить "серый призрак" текста, который в конечном итоге будет в документе - что-то вроде
Получите адреса связи в файле TXT
Теперь, если вы действительно хотите сохранить URL-адреса в TXT
файле, что и привело меня к этому вопросу, вы можете использовать ту же процедуру, за исключением того, что ваш код должен быть
Sub GetLinksInTxtFile()
'
' Finds all hyperlinks (even with strange formats,
' as long as they're active)
' and outputs them to a TXT file.
' The TXT file will be written in the same directory
' as the original document
'
' Declare the types of our variables
Dim doc As Document
Dim hlink As Hyperlink
' Use the script on the current document
Set doc = ActiveDocument
' Get a text file ready to which you will write the URLs
' Some old-school BASIC
Open doc.Path & "\the_urls.txt" For Output As #1
' Loop through all the hyperlinks using the iterable hlink variable
With doc
For Each hlink In .Hyperlinks
Print #1, hlink.Address & " " & hlink.SubAddress
Next hlink
End With
Close #1
Set doc = Nothing
End Sub
Я надеюсь, что это помогает.
Источник для моего понимания, схема копирования в новый документ.
Другой связанный источник
Источник для записи в текстовый файл (который я искал изначально)