Запуск 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
Другие вопросы по тегам