by Allen Wyatt
(last updated January 16, 2017)
Jennifer has a Word document that has links to hundreds of other documents. Now she wants to replace each of those links with the actual document referenced. (In other words, she wants to embed the referenced documents.) She wonders if there is a global way to do this instead of having to do each document separately.
The solution depends on how, exactly, you have the other documents linked to your current document. If you inserted the contents of another file using the Text from File command (Insert tab | Object | Text from File) and chose to insert as a link, then the file contents are actually added through the use of the INCLUDETEXT field. As with any other field, you can unlink the field in this manner:
If your documents are linked using hyperlinks, then the process is a bit more difficult. The reason is simple: a hyperlink is only a pointer to the other document, not the actual contents of that other document. This means that you need to come up with a way to open the other document, grab its contents, and stuff it into the current document in place of the hyperlink.
This type of work is perfect for a macro to do. The following example actually steps backwards through each hyperlink and inserts the files:
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
Note that the macro checks the hyperlink to make sure it contains the letters ".doc". This doesn't mean that it is limited only to the old .DOC files, as the test would also match the letters ".docx" and ".docm".
WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (6824) applies to Microsoft Word 2007, 2010, and 2013.
Create Custom Apps with VBA! Discover how to extend the capabilities of Office 2013 (Word, Excel, PowerPoint, Outlook, and Access) with VBA programming, using it for writing macros, automating Office applications, and creating custom applications. Check out Mastering VBA for Office 2013 today!
If you establish dynamic links between documents, then you can force Word to update those links whenever you want. How you do ...Discover More
If you have a document containing a lot of hyperlinks, it would be cool if there was a way to check all those hyperlinks and ...Discover More
ScreenTips can appear with or without shortcut keys displayed in them. Here's how to control whether they appear or not.Discover More
FREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."
Got a version of Word that uses the ribbon interface (Word 2007 or later)? This site is for you! If you use an earlier version of Word, visit our WordTips site focusing on the menu interface.