6

If I copy a graph from Excel (2007) and choose Paste Special in another Office app, I see a clipboard format called "Microsoft Office Graphic Object", which allows different customizations than Enhanced Metafiles. How do I create such a clipboard object from my own (C++) app so it gets the first-class treatment from Office app?

It's not so important that the chart data be linked like it is within Office apps -- I just want to offer another graph export option.

ClipSpy reports several binary formats including "Excel 2007 Internal Shape", "Embed Source" and "Art::GVML ClipFormat". I guess these are proprietary and private, but in case anyone knows of docs, please let me know.

xan
  • 7,511
  • 2
  • 32
  • 45

2 Answers2

5

Its actually a zip file (the data begins with PK), if you save the data (using ClipSpy) you be able to open it with your preferred zip program.

Poke inside and you find out that the data is an open XML format which is not too cryptic.

Shay Erlichmen
  • 31,691
  • 7
  • 68
  • 87
  • @xan Did you manage to get it working? Would you be able to help point me a direction? I am trying to save excel shapes from clipboard to file then restore it again to clipboard and programmatically paste it back at a later time. Thanks. – Jake Jun 22 '12 at 20:13
  • @Jake I did find the OfficeXML inside, but the vocabulary of objects available there wasn't a good match for my content (that I wanted to export). – xan Jun 22 '12 at 23:29
0

I would guess that the format is documented in the specs MS was made to release as part of its anti-trust ruling.

Unfortunately, you'll have to read and try to understand them, they're not pretty.

gbjbaanb
  • 51,617
  • 12
  • 104
  • 148
  • I didn't see exactly what I wanted there in skimming a few docs, but the file formats there may useful. – xan May 13 '09 at 18:19