Я использую следующий макрос VBA для добавления номеров страниц после всех гиперссылок закладок в моем документе:
Sub InsertPageRefs()
Application.ScreenUpdating = False
Dim hLnk As Hyperlink, Rng As Range
For Each hLnk In ActiveDocument.Hyperlinks
With hLnk
If InStr(.SubAddress, "_Toc") = 0 And .Address = "" Then
Set Rng = .Range
With Rng
.Collapse Direction:=wdCollapseEnd
.InsertAfter Text:=" (See page #)"
.Font.Underline = wdUnderlineNone
End With
ActiveDocument.Fields.Add Range:=Rng.Characters(InStr(Rng, "#")), Text:="PAGEREF " & .SubAddress
End If
End With
Next
Set Rng = Nothing
Application.ScreenUpdating = True
Application.ScreenRefresh
MsgBox ActiveDocument.Hyperlinks.Count & " page numbers have been added.", vbOKOnly
End Sub
Однако это имеет нежелательные результаты.
Синий цвет гиперссылок частично перетекает в добавленный текст.
Когда я сохраняю полученный файл в HTML, создается куча сумасшедших тегов span. Я не хочу этого, потому что я собираюсь преобразовать HTML в .mobi для Kindle, и все теги span создадут хаос в моем .mobi.
Как удалить все форматирование и вставить номера страниц в стиле слова «Обычный»?