8

What is the difference between Office Automation, VSTO, and Open XML SDK? Do we need all of them or some of them are obsolete?

Alexis Pigeon
  • 7,423
  • 11
  • 39
  • 44
alex
  • 74,215
  • 9
  • 49
  • 57

2 Answers2

12

Office Automation refers to the manipulation of an Office program (or, more commonly, an Office document via an Office program) programmatically, using COM interop.

Visual Studio Tools for Office (VSTO) is a set of development tools available in the form of a Visual Studio add-in (project templates) and a runtime that allows Microsoft Office 2003 and later versions of Office applications to host the .NET Framework Common Language Runtime (CLR) to expose their functionality via the .NET type system. As a result, it allows extensions to the Office applications to be written in .NET languages.

The Open XML SDK is a set of type classes, built on top of the System.IO.Packaging API, that can be used to manipulate Office documents conforming to the Open XML standard. Unlike COM interop, it does not require Microsoft Office.

Robert Harvey
  • 178,213
  • 47
  • 333
  • 501
  • 2
    Just in addition to your answer: VSTO is just one way to do Office automation (and VSTO is also just using the COM interfaces of the Office applications). – Dirk Vollmar Oct 14 '09 at 20:26
  • 1
    @divo So if you use VSTO you don't need to use Office automation directly? – alex Oct 14 '09 at 20:37
  • @alex: Well, office automation is just a general term for programmatically processing office documents. What you probably refer to is automating the Office applications using the COM interfaces of Microsoft Office? – Dirk Vollmar Oct 15 '09 at 19:30
  • this answer shows the technical difference but what is the differece between the job of the "Office COM" vs "Open XML"? – Ehsan Abidi Feb 03 '20 at 12:00
  • 1
    @EhsanAbidi: Well, for one thing, creating documents via OpenXML is a whole lot faster, because you don't have to automate Word or Excel to do it. – Robert Harvey Feb 03 '20 at 14:19
0

What do you want to to do?!?!

The new format Open XML gives you a lot of possibilities.

See also The content control tookit on codeplex that I have used to create XML from Word http://channel9.msdn.com/posts/Rory/Matthew-Scott-Application-Development-using-the-Open-XML-File-Formats/

Other good links Open XML Developer Center Open XML SDK 2.0 Getting started

salgo60
  • 957
  • 5
  • 16