Annemieke的文档很长,并且包含大量的超链接。她想将所有这些超链接(以及仅这些超链接)复制到一个全新的文档中,以便将它们的列表放在一个位置。她想知道是否有简单的方法可以做到这一点。

唯一的方法是使用宏。 (包括使用“查找和替换”或查找具有特定样式的文本的建议将仅复制链接文本,而不是实际的超链接。)宏中的关键是要与“超链接”集合一起使用,尤其要注意以下内容的TextToDisplay和Address属性:集合的每个成员。

Sub PullHyperlinks()

Dim Src As Document     Dim Link As Hyperlink     Dim iDoDisplay As Integer

Set Src = ActiveDocument     If Src.Hyperlinks.Count > 0 Then         iDoDisplay = MsgBox("Include display text for links?", vbYesNo)



Documents.Add DocumentType:=wdNewBlankDocument         For Each Link In Src.Hyperlinks             If iDoDisplay = vbYes Then                 Selection.TypeText Link.TextToDisplay                 Selection.TypeText vbTab             End If             Selection.TypeText Link.Address             Selection.TypeParagraph         Next Link     Else         MsgBox "There are no hyperlinks in this document."

End If End Sub

宏首先检查以查看当前文档中是否有任何超链接。如果有,则可以继续将它们拉出;如果没有,则显示一条消息以达到此目的。

假设文档中有超链接,则询问用户新文档是否应包含链接的显示文本。然后,该宏将创建一个新文档,并逐步遍历Hyperlinks集合的每个成员。 TextToDisplay属性的值添加到新文档中(如果适用),后跟Address属性的值。

注意:

如果您想知道如何使用此页面(或_WordTips_网站上的任何其他页面)中描述的宏,我准备了一个包含有用信息的特殊页面。

_WordTips_是您进行经济有效的Microsoft Word培训的来源。

(Microsoft Word是世界上最流行的文字处理软件。)本技巧(13549)适用于Microsoft Word 2007、2010、2013、2016、2019和Office 365中的Word。