Please Note: This article is written for users of the following Microsoft Word versions: 2007, 2010, 2013, 2016, 2019, and Word in Microsoft 365. If you are using an earlier version (Word 2003 or earlier), this tip may not work for you. For a version of this tip written specifically for earlier versions of Word, click here: Extracting INCLUDEPICTURE File Names.
Written by Allen Wyatt (last updated February 9, 2023)
This tip applies to Word 2007, 2010, 2013, 2016, 2019, and Word in Microsoft 365
When working with long documents that contain graphics, it is not unusual to use the INCLUDEPICTURE field to actually insert the graphics into the document. If you have a large number of these fields in your document, you may want a way to create an "art list" that includes the names of the graphic files used in the document.
By using a relatively simple macro, you can step through each instance of the INCLUDEPICTURE field in your document and extract just the names of the files referenced. These can then be added to a new document, so that when the macro is done, the new document contains just a list of the files referenced in the INCLUDEPICTURE fields. Here is a macro that will do just this:
Sub GetIncludePictures() Dim oField As Field Dim oCurrentDoc As Document Dim oNewDoc As Document Dim sFileName As String Set oCurrentDoc = ActiveDocument Set oNewDoc = Application.Documents.Add For Each oField In oCurrentDoc.Fields If oField.Type = wdFieldIncludePicture Then sFileName = Replace(oField.Code, "INCLUDEPICTURE", "") sFileName = Replace(sFileName, "MERGEFORMAT", "") sFileName = Replace(sFileName, "\*", "") sFileName = Replace(sFileName, "\d", "") sFileName = Replace(sFileName, Chr(34), "") sFileName = Replace(sFileName, "\\", "\") sFileName = Trim(sFileName) oNewDoc.Range.InsertAfter sFileName & vbCrLf End If Next oField oNewDoc.Activate Set oField = Nothing Set oCurrentDoc = Nothing Set oNewDoc = Nothing End Sub
Notice the use of the Replace function several times in the macro. This function replaces occurrences of one string within another string with other text. That may sound confusing, but it is very handy. As an example, imagine that you have a string (sMyString) that contains the characters "This is my string", and that you use the following:
SMyString = Replace(sMyString, "s", "X")
This results in every lowercase "s" in sMyString being replaced with an uppercase "X". The result is that sMyString will now contain "ThiX iX my Xtring".
In the case of the GetIncludePictures macro, the several lines that contain Replace functions work to remove all the extraneous characters from the field code, except for the actual file name of the picture. If you want something else removed, as well, you can add more lines to remove those elements. (For instance, if you wanted to remove a standard path name to where your pictures are stored.)
When the macro is done running, the only thing in the new document should be the name of pictures, as in the following examples:
C:\mypics\picture1.tif ..\graphics\chap01\fig03.gif
If you wanted just the file names, and not the full path names, you could modify the GetIncludePictures macro a bit to include code that parsed out the path. You could do this by adding the following to the macro, just after the line sFileName = Trim(sFileName):
While Instr(sFileName, "\") > 0 sFileName = Mid(sFileName, Instr(sFileName, "\") + 1) Wend
Note:
WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (11777) applies to Microsoft Word 2007, 2010, 2013, 2016, 2019, and Word in Microsoft 365. You can find a version of this tip for the older menu interface of Word here: Extracting INCLUDEPICTURE File Names.
The First and Last Word on Word! Bestselling For Dummies author Dan Gookin puts his usual fun and friendly candor back to work to show you how to navigate Word 2013. Spend more time working and less time trying to figure it all out! Check out Word 2013 For Dummies today!
You can use fields to cross-reference different text in a document. If you get unwanted results from the ...
Discover MoreThe TC field is normally used in constructing manual Tables of Contents. The way the field works, however, makes it a ...
Discover MoreWord allows you to convert documents from WordPerfect format to Word. In doing so, you may notice that some dates in the ...
Discover MoreFREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."
There are currently no comments for this tip. (Be the first to leave your comment—just use the simple form above!)
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.
Visit the WordTips channel on YouTube
FREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."
Copyright © 2024 Sharon Parq Associates, Inc.
Comments