詹妮弗(Jennifer)有一个Word文档,该文档具有指向数百个其他文档的链接。现在她想用引用的实际文档替换每个链接。 (换句话说,她想嵌入引用的文档。)她想知道是否存在一种全局方法来执行此操作,而不必分别处理每个文档。

解决方案取决于准确地将其他文档链接到当前文档的方式。如果使用“来自文件的文本”命令(“插入”选项卡|“对象” |“来自文件的文本”)插入了另一个文件的内容,并选择插入作为链接,则实际上将通过使用INCLUDETEXT字段添加文件内容。与其他任何字段一样,您可以按以下方式取消链接该字段:

。选择字段。 (或者,如果您有很多字段,请按Ctrl + A选择整个文档。)

。按Ctrl + Shift + F9。 Word取消链接字段,保留字段表示的文本。

如果您的文档是使用超链接链接的,则此过程会更加困难。原因很简单:超链接只是指向另一个文档的指针,而不是该另一个文档的实际内容。这意味着您需要想出一种方法来打开另一个文档,获取其内容,然后将其填充到当前文档中以代替超链接。

此类工作非常适合宏执行。下面的示例实际上向后浏览每个超链接并插入文件:

Sub InsertDocs()

Dim aRange As Range     Dim J As Long

Set aRange = ActiveDocument.Range     ' Go backwards because hyperlinks are deleted as processed     For J = aRange.Hyperlinks.Count to 1 Step -1         With aRange.Hyperlinks(J)

' Process only hyperlinks to documents             If InStr(.Address, ".doc") > 0 Then                 .Range.Select                 On Error GoTo noFile                 .Follow                 On Error GoTo 0                 ActiveDocument.Range.Copy                 ActiveDocument.Close                 Selection.Paste             End If             GoTo nextFile noFile:

On Error GoTo 0             MsgBox "Cannot open file " & .Address nextFile:

End With     Next J End Sub

请注意,宏会检查超链接,以确保它包含字母“ .doc”。这并不意味着它仅限于旧的.DOC文件,因为测试还将匹配字母“ .docx”和“ .docm”。

注意:

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

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

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