Stephen拥有一个大型文档(超过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和Office 365中的Word。