I often receive Microsoft Excel files that have documents created by
other Microsoft applications embedded within them. E.g., at the top of
a worksheet I may see something like =EMBED("Visio.Drawing.11","")
.
Sometimes I want to extract the embedded file. With a Microsoft Excel .xlsm
file that is easy to do, because XLSM is a
zipped,
XML-based file format. To extract embedded documents, such as
Visio
drawings or
PowerPoint presentations, I make a copy of the .xlsm file then rename the
copy's extension from .xlsm to .zip. I can then extract the contents of the zip
file. Within the directory that holds the extracted files, there will be a
xl
directory. Within that directory there is a media
directory and within the media
directory there is an
embeddings
directory that holds the embedded files, such as the
Visio drawings in the example below.
$ ls ~/Documents/Work/CRQ/843940/unzipped [Content_Types].xml customXml xl _rels docProps $ ls ~/Documents/Work/CRQ/843940/test/xl _rels comments19.xml comments9.xml calcChain.xml comments2.xml ctrlProps charts comments20.xml drawings comments1.xml comments21.xml embeddings comments10.xml comments22.xml media comments11.xml comments23.xml printerSettings comments12.xml comments24.xml sharedStrings.xml comments13.xml comments3.xml styles.xml comments14.xml comments4.xml theme comments15.xml comments5.xml vbaProject.bin comments16.xml comments6.xml workbook.xml comments17.xml comments7.xml worksheets comments18.xml comments8.xml $ ls ~/Documents/Work/CRQ/843940/unzipped/xl/media image1.png image2.jpeg image4.emf image6.emf image8.emf image10.emf image3.emf image5.emf image7.emf image9.png $ ls ~/Documents/Work/CRQ/843940/unzipped/xl/embeddings Microsoft_Visio_2003-2010_Drawing111.vsd Microsoft_Visio_2003-2010_Drawing222.vsd Microsoft_Visio_2003-2010_Drawing333.vsd Microsoft_Visio_2003-2010_Drawing444.vsd oleObject1.bin oleObject2.bin oleObject3.bin oleObject4.bin $
[ More Info ]