У Денниса есть небольшой макрос, который отлично справляется с удалением гиперссылок из документа. Он только что получил новый документ, с которым нужно работать, и в нем довольно много гиперссылок в сносках. Макрос не удаляет эти гиперссылки, а удаление их вручную – огромная рутинная работа. Деннис задается вопросом, есть ли способ удалить гиперссылки в сносках сразу.
На самом деле способ есть. При желании вы можете сделать это вручную, выполнив следующие действия:
- Поместите указатель вставки в текст сноски. (Неважно, какая сноска.)
- Нажмите Ctrl + A . Это выбирает все сноски. (Если выделен весь текст в документе, это означает, что вы не выполнили шаг 1.)
- Нажмите Ctrl + Shift + F9 . Это преобразует гиперссылки в выделенном тексте (сноски) в обычный текст.
Следует отметить, что эти шаги фактически преобразуют все поля в выделенном тексте в обычный текст. Поскольку гиперссылки реализованы с помощью полей, они преобразуются. Но то же самое и с любыми другими полями, которые могут быть в ваших сносках. Если вы не хотите изменять другие поля или если вам нужно немного работать с гиперссылками в сносках, вы можете вместо этого использовать макрос.
Следующий макрос избавится от гиперссылок только в сносках:
Sub RemoveFNH () Dim h As Hyperlink With ActiveDocument If .Footnotes.Count> = 1 Then With .StoryRanges (wdFootnotesStory) For Each h In .Hyperlinks h.Delete Next h End With End If End WithEnd Sub
Обратите внимание, что важной частью макроса является спецификация работы с диапазоном истории wdFootnotesStory. Документы Word могут состоять из нескольких диапазонов историй, каждый из которых представляет разные элементы, такие как верхние и нижние колонтитулы, сноски и т. Д. Если вы хотите удалить гиперссылки из всех частей документа (то есть из всех диапазонов историй), тогда вы можно использовать еще более короткий макрос:
Sub RemoveAllHyperlinks () Dim r As Range Dim h As Hyperlink For each r In ActiveDocument.StoryRanges For Each h In rng.Hyperlinks h.Delete Next h Next rEnd Sub
Макрос проходит через каждый из диапазонов сюжетов в документе и, если в этом диапазоне сюжетов есть гиперссылки, удаляет каждый из них.