Запуск VBA на текст сноски
Я новичок в VBA и мне удалось собрать простой макрос, который преобразует весь текст с определенным стилем в гиперссылку (вставлено ниже), и мне бы очень хотелось, чтобы он делал то же самое со всем текстом сноски, но ни один из ответов онлайн, которые я пробовал, до сих пор не сработал.
Какие-нибудь мысли?
Sub FindLinkStyle()
Dim strStyle As String
strStyle = "Subtle Reference"
Selection.HomeKey Unit:=wdStory
With Selection.Find
.text = ""
.ClearFormatting
.Style = strStyle
Do While .Execute
ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, _
Address:="#link"
Selection.Style = ActiveDocument.Styles("Normal")
Loop
End With
End Sub
1 ответ
Решение
В отличие от пользовательского интерфейса Word, "Найти" работает только для указанной вами "Истории". Так что в вашем случае это будет зависеть от того, где Selection
является. Чтобы конкретно обратиться к Сноскам, посмотрите, как в следующем примере кода для объекта Range задана "история сносок", а затем для этого Range.
Sub FindInFootnote()
Dim rngFT As word.Range
Set rngFT = ActiveDocument.StoryRanges(wdFootnotesStory)
With rngFT.Find
.Text = ""
.Style = "Subtle Reference"
.Replacement.Text = "XXXXX!!!!!"
.Execute Replace:=wdReplaceAll
End With
End Sub