Steve Rindsberg has been associated with PowerPoint since the product originated — his PowerPoint FAQ site is a treasure trove of PowerPoint information. When he’s not updating his site, he’s creating new PowerPoint add-ins that expand possibilities. Steve’s also into a lot of print technology related stuff.
In this conversation, Steve answers my questions about finding links to missing picture fills in PowerPoint slides.
Geetesh: Let’s say I have a shape on my PowerPoint 2010 slide that I filled with a picture. Now I opted to override the default option to insert it as embedded, and went ahead and linked that picture. Six months thereafter, after some spring cleaning on my computer resulted in deletion of the linked picture, I find a small red X icon with no info about the name or path of the linked picture! What are my options?
Steve: There’s no way to learn the name or path of the original picture either by normal means or using VBA, but you can find them in the XML files contained within the PPTX container that PowerPoint 2007 and 2010 use.
Unzip the container, and you’ll find a slidexx.xml for each slide in the presentation, where xx is the slide number. Similarly, there’ll also be a slidexx.xml.rels for each slide in a sub-folder. Open this file, and in the XML for the picture filled shape, you’ll find:
Type=”http://long/string/of/stuff/we/don” t=”” care=”” about=””>
To avoid problems you can use the Insert and Link option that is available in PowerPoint 2007 and 2010. This option puts a copy of the image into the PPTX file but also remembers the path to the source image. When you open the file it checks to see of the source image has changed; if so, it updates it in the PPTX. If the source image isn’t available, PowerPoint just uses the last-updated embedded version of the image.
This gives you the ability to do image swaps by changing filenames of linked images, just as linked images would, but without the fragility of the links. The only downside is that the images are embedded; the PPTX files will be bigger because of it.