first_page

Putting Together Open XML and VSTO

My limited research informs me that Eric White has gone the longest way toward consistently (almost daily at times) and explicitly applying contemporary .NET technologies with Microsoft Office. Surely Eric would suggest that he deals in Microsoft Office file formats—not Office itself (VSTO). Moreover Eric might say that he had very little to do with the Document Reflector—arguably the most important tool written for the VSTO world seen through the lens of Open XML.

The Document Reflector is part of version 2.0 of the Open XML SDK bundled in a GUI application called “Open XML SDK Development Productivity Tools.” BTW: since I am unknown for “beating up”on Microsoft’s Brian Jones, it must be said that Brian Jones mentions Document Reflector more than Eric White, according to my last search.

Hey, Eric is a busy guy—he’s been writing or pointing us to articles like:

“[Transforming Flat OPC Format to Open XML Documents](http://blogs.msdn.com/b/ericwhite/archive/2008/09/29/transforming-flat-opc-format-to-open-xml-documents.aspx)” Even though Eric White makes no mention of VSTO in this article. This is the *one* that suggests (to me) how to use the full power of the Open XML SDK *inside* of Microsoft Word. The official priority by the way appears to be that Open XML tools are written for processing documents outside of word (for massive, long-awaited, server-based solutions).
“[The Flat OPC Format](http://blogs.msdn.com/b/ericwhite/archive/2008/09/29/the-flat-opc-format.aspx)” “Note that the Flat OPC format is not the same as the ‘Word 2003 XML Document’ format.  Those documents have a schema that is very different from the Flat OPC format.”
“[Using Open XML to Improve Automation Performance in Word 2010 for Large Amounts of Data](http://msdn.microsoft.com/en-us/library/ff191178.aspx)”

“The Range.WordXml object returns a Flat OPC XML document for that range as a string. You use this to prepare an in-memory package so that your code can access necessary parts such as the main document part, the styles part, and the numbering part.”

The Word object model is moving target with regard to Open XML. The Range.WordXml object has been replaced by the Range.WordOpenXML Property.

Transforming Open XML WordprocessingML to XHtml A “map” listing 18 articles on the subject of Open XML and XHTML. Truly groundbreaking for Microsoft!

Open XML for Word 2010 VSTO links:

Open XML, the “Custom XML” litigation and Content Controls

So, I’ve talked about what appears to be my “Custom XML” problem earlier. It may be the right place and time to add a few flippant remarks.

Microsoft’s recognition of this Texan ruling lies in “Utility to manage custom XML markup feature availability for customers outside the United States and its territories”; the title speaks for itself. Articles like “Associating Data with Content Controls” from the TechNet world (Gray Knowlton) go deeper into this “Custom XML” issue (and back to Eric White).

rasx()