Microsoft Office Tutorials and References
In Depth Information
Why VSTO 3.0?
In most of the Office 2007 applications, Microsoft has used XML Extensible Markup (
Language ) as the standard format for data and UI processing. For example, InfoPath
forms save data in XML format. C# brings you great programming support for
XML and Office applications. Office already has built-in support for an XML-based
customization model, of which VSTO takes full advantage. Using C# classes and
simple XML, VSTO simplifies the connection between .NET, and the server and
VSTO leverages two powerful technologies that you may be familiar
with—C# and XML. C# is one of the most powerful programming
languages supported by Microsoft .NET frameworks.
VSTO gives full flexibility to programs using C# and VB.NET programming
language for Office 2007 applications.
You, as a VSTO programmer, need to have a basic knowledge of C#, in order
to program Office applications using C#.
So, for instance, instead of having a Word macro that you need to run in order to
create the document you want, you could simply transfer the information to a
Word template and have Office create the document for you! VSTO thus provides
Why VSTO 3.0?
VSTO is a simple, but powerful framework for Office solution development.
The framework brings an amazing number of benefits to the hands of every
Office developer—form controls, classes, granular security, server scalability,
object-oriented features, integrity, easy deployment, and many others.
Safer managed code extensions
VSTO allows managed and unmanaged code to be seamlessly put together into the
same .NET assembly. This allows the developers to retain unmanaged code that
cannot be ported over to the .NET framework without completely re-writing it. The
Microsoft Office document or workbook with a linked or referenced managed code
assembly is said to have managed code extensions. Managed extensions can be
created by using VSTO on Microsoft Excel or Word, which are similar to macros but
are much safer. With VSTO, you can create a template that only needs to be loaded