У меня довольно большой файл Word (+1 100 страниц), который содержит простые текстовые ссылки в СМИ. Например, документ Word содержит:
Лидер новостей (AP), штатный сотрудник полиции, который умер в ее первую смену, был похоронен http://www.newsleader.com/story/news/nation-now/2016/03/01/va-police-officer-who покоился в первой смене /81183272 / 03.01.16
Ливингстон Daily Va. Полицейский, который умер в ее первой смене, похоронен http://www.livingstondaily.com/story/news/nation-now/2016/03/01/va-police-officer-who-died-her -первая смена /81183272 / 03.01.16
(В документе Word эти ссылки не являются гиперссылками, просто текст!)
В настоящее время способ, которым мы собираем данные и объединяем их в Word, форматирует ссылки как обычный текст, а не как гиперссылки.
Я хотел бы использовать VBA для преобразования всех этих текстовых ссылок в интерактивные гиперссылки, сохраняя текст ссылки (например, гиперссылки с текстом привязки оставшейся ссылки).
Я нашел примеры кода для поиска и замены определенных строк конкретными ссылками, например:
Sub FindAndHyperlink()
'define the style
Dim strStyle As String
strStyle = "Normal"
'set the search range
Dim rngSearch As Range
Set rngSearch = ActiveDocument.Range
'set the search string
Dim strSearch As String
strSearch = "tuesday"
'set the target address for the hyperlink
Dim strAddress As String
strAddress = "http:\\google.com"
With rngSearch.Find
Do While .Execute(findText:=strSearch, MatchWholeWord:=True, Forward:=True) = True
With rngSearch 'we will work with what is found as it will be the selection
ActiveDocument.Hyperlinks.Add Anchor:=rngSearch, Address:=strAddress
.Style = ActiveDocument.Styles(strStyle) 'throw the style on it after the link
End With
rngSearch.Collapse Direction:=wdCollapseEnd
'keep it moving
Loop
End With
End Sub
Но я не могу понять, как динамически изменять функции поиска / выбора / замены.
Что бы я хотел:
- Искать "http"
- Выбрать всю гиперссылку
- Сделать гиперссылку, не меняя якорный текст
- Повторите для всех случаев текстовых гиперссылок
Какие-либо предложения?