2) Shift+F9 does not work to see link.
Unless your .docx/.docm is in compatibility mode, or you inserted your
picture in a very specific way (see below at ***), I do not believe that
Word 2007 .docx/.docm files retain INCLUDEPICTURE fields at all, even
when you originally inserted the picture using
a. an INCLUDEPICTURE field or
b. using insert->picture->insert and link to file (which creates an
INCLUDEPICTURE field in Word 2003, but not in a .docx in Word 2007)
IN cases where you have a linked picture, but where Word has lost the
INCLUDEPICTURE field, Word actually represents the link in a completely
different way, using:
a. a "relationship" that specifies the pathname of the image file.
b. a copy of the image, renamed, inside a "media" folder within the
..docx - e.g. it may be named image1.jpeg
c. a relationship that specifies that image's pathname within the .docx.
The problem is that as far as I can tell, even though the link
information is present in the .docx/.docm file,
d. these links are not regarded as the kind of links that appear in
the "Edit Links" dialog
e. you can't access this information using Word VBA and the "Word
Object Model"
f. it is not obvious how you would access the information while the
document was open.
That said, if you need to know the original path, but you simply cannot
get Word to display an INCLUDEPICTURE field, you /may/ be able to get
the information as follows:
a. save the document using Word 2007 .xml format (Office button->Save
As->Other formats, then select "Save As Type" Word XML Document.
b. open the .xml file using Notepad, or using Word if you know how to
open it as a plain text file,
c. use "find" to look for "w:drawing" . You should find something like
<w:drawing><wp:inline distT="0" distB="0" distL="0"
distR="0"><wp:extent cx="5724525" cy="4295775"/><wp:effectExtent
l="19050" t="0" r="9525" b="0"/><wp:docPr id="1" name="Picture 1"
descr="C:\Users\Public\Pictures\Sample Pictures\Creek.jpg"/>
You can see that the picture pathname is recorded in there. However,
that is as far as I can lead you: if there are multiple pictures/graphic
objects, I cannot currently tell you an easy way to determine which
picture is linked to which file. It should be possible to write some VBA
or XSLT to get more useful information out of the .xml file, but I
haven't tried that yet.
For anyone else reading this who would like to take it a little further,
it may be worth knowing that the "wp" prefix used in the .xml file is
not declared anywhere in the .xml - in other words, it's not valid XML.
However, that might not prevent code that relies on an XML parser
(either VBA or XSLT) from succeeding.
Maybe I'll get around to doing more myself at some point.
***As far as I know, the only approach that will actually insert an
INCLUDEPICTURE field into a .docx/.docm that is not a compatibility mode
file is to insert the field code manually, e.g. insert { } using
ctrl-F9, then type the field code text inside, e.g. so you have
{ INCLUDEPICTURE "c::\\mypictures\\mypicture.jpg" }
Then select and update the field. /That/ field code should survive
Save/Close/Open as a .docx file, even when you do not select
compatibility mode.
Peter Jamieson
http://tips.pjmsn.me.uk