У Стивена есть большой документ (300+ страниц), который включает в себя большое количество гиперссылок в основном тексте. В документе также есть сноски. Каждую из гиперссылок необходимо преобразовать в сноску, что (конечно) увеличит количество сносок в документе.

Повышение не проблема. Проблема состоит в том, чтобы быстро преобразовать все эти гиперссылки в сноски. Стивен задается вопросом, можно ли это сделать с помощью макроса.

Это действительно можно сделать с помощью макроса. На самом деле макрос может быть проще, чем вы думаете. Вот пример:

Sub LinksToFootnotes()

Dim hLink As Hyperlink     Dim rTemp As Range     Dim J As Integer

For Each hLink In ActiveDocument.Hyperlinks         Set rTemp = hLink.Range

' Create footnote         ActiveDocument.Footnotes.Add Range:=rTemp, _           Text:=rTemp.Text

' Delete possible leading space         rTemp.Collapse         rTemp.MoveStart Count:=-1         If rTemp.Text = " " Then rTemp.Delete     Next hLink

' Delete hyperlinks     For J = ActiveDocument.Hyperlinks.Count To 1 Step -1         ActiveDocument.Hyperlinks(J).Range.Delete     Next End Sub

В этом примере выполняется два прохода по всем гиперссылкам в документе.

Во время первого прохода он создает сноски, а во время второго прохода удаляет гиперссылки. Также обратите внимание на ту часть кода, которая проверяет, есть ли пробел перед гиперссылкой. Это сделано для того, чтобы, если есть, это пространство можно было удалить, чтобы поместить полученный номер сноски рядом с чем-либо перед этим пробелом. (Другими словами, если это не было сделано, то можно поспорить, что перед каждым номером сноски будет пробел.)

Это вызывает еще одну проблему с макросом, о которой вам следует знать — все, что он делает, — это создает сноски и удаляет гиперссылки. Если вокруг исходной гиперссылки есть какая-либо информация (например, круглые скобки, запятые или точки), эти символы будут оставлены в документе. Это означает, что вы должны вручную пройти через ваш документ после запуска макроса, чтобы убедиться, что возможные посторонние символы отредактированы так, как вы хотите.

Наконец, обратите внимание, что гиперссылки, помещенные в сноски, не являются активными гиперссылками — это только текст. Однако это не большая проблема, поскольку при создании документов, содержащих сноски, обычно требуется простой текст.

WordTips — ваш источник экономичного обучения работе с Microsoft Word.

(Microsoft Word — самая популярная программа для обработки текстов в мире.) Этот совет (13739) относится к Microsoft Word 2007, 2010, 2013, 2016, 2019 и Word в Office 365.