On February 21, 2008, I posted on Microsoft Interoperability Principles, which are designed to make our products more open and more available to the broader software community. Since that day, Microsoft has made several strides in this area, too many to recount here and now, but largely explained by the Interoperability@Microsoft team.
Today we are making an important advance in the area of document format interoperability for Office, as part of our ongoing commitment to these interoperability principles.
After four successful Technology Previews, today we are releasing the 2.0 version of the Open XML SDK for Microsoft Office. Among its benefits, this release of the Open XML SDK is a significant step forward because of the amount and quality of functionality it provides to developers seeking to build document processing solutions without the use of Microsoft Office applications.
Today Visual Studio is the primary developer tool for Office 2010, and Visual Basic for Applications (VBA) is also widely used to extend and automate our Office client software. Traditionally Visual Studio developers build add-ins, integrations with SharePoint and other solutions that exist within Office products. In the past, one of the common developer tasks with Visual Studio and Visual Basic for VBA was processing of Office documents. This was typically accomplished with macros and scripts running inside client applications. This is sub-optimal for many reasons. Client applications are not optimized for large-scale automation, and in-client document processing solutions are error-prone as a result.
Document processing is spreading to mainstream development because of advances in more transparent XML-based formats and the associated tooling to modify documents represented in those formats.
The Open XML SDK improves the ability to process Office documents. Automation operations no longer require a client environment that was never really designed to support bulk processing solutions. With the SDK developers now have direct (element-level) access to a document's content. It is great for enabling solutions to extract, examine or modify a document's contents.
The SDK also improves developer choice and platform-neutral document interoperability. By freeing documents from their dependence on a particular application or platform, government agencies and other entities gain greater access to the information they store in their documents.
Many people will comment on the capabilities of the SDK. If I might recommend some resources to get started, I would point readers to the following posts:
Download the SDK
Download the Open XML SDK 2.0 for Microsoft Office
I am very excited for the release of the Open XML SDK, and I hope that the Open XML Development community will be as well.