Home > Microsoft .Net Development News > VSTO and the Tai of the Office object model
Microsoft .Net Development News:
EMAIL THIS

VSTO and the Tai of the Office object model

By Jack Vaughan
28 Sep 2005 | SearchVB.com

Office Development Channel
Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google

Microsoft's Eric Carter and Eric Lippert are important driving forces behind Visual Studio Tools for Office 2005, due to formally ship in a few weeks. Their just-released book, "Visual Studio Tools for Office" from Addison-Wesley Professional (available in part as a free chapter download elsewhere on this site), shows how developers can use Word, Excel, Outlook and InfoPath to create Office-oriented applications in a managed code environment.

Carter and Lippert are both highly versed in Visual Basic for Applications (VBA), which is still a supported development tool in the Microsoft arsenal. Both admitted to the limitations of VBA. The tool, they noted, embedded code in every customized document, making it hard to fix bugs. The VBA model, programming against COM objects, too, had significant security weaknesses. But, as scores of others have found, VBA had merits to try and bring forward.

When planning VSTO, which comes up on its second release with VS 2005, Microsoft looked at how VBA was used. In fact, it was applied by people with varied skills and approaches to programming. ((Content component not found.))

"In designing the system, it was important to us to take a look at how people were using existing VBA solutions," said Eric Lippert.

"We found they had an object model that let them manipulate documents and spreadsheets," he said.

"But people were using [VBA] to build expense reports and invoices. The VBA model forces you to take you business model and map it into the world of the spreadsheet. Meanwhile, what developers like to see is that the Office object model that they code against should have the same structure as their business model."

Under the covers
That is why new-style data binding is so useful. Using .NET, you have an object that meets business needs and you can map it into a document object and have the .NET framework take care of many implementation details.

A recent addition to the VSTO portfolio has been support for Outlook development. The qualities of object design that VSTO applies to other Office products play here as well.

Noted Eric Carter: "I think that what VSTO does for Outlook development is it removes the road blocks that made it difficult in the past to create an Outlook add-in successfully."

"We have done a lot of work under the covers to make sure that your Outlook add-in runs in its own application domain, which ensures it won't be adversely affected by other add-ins," he said.

"In the past you also had to effectively reference-count all the Outlook objects you used and make sure you set them all to 'Nothing' before the add-in would shut down," Carter continued.

"With VSTO, you no longer have to do all that tedious object management --we make sure your add-in unloads and cleans up without you writing any code to do so," he added.

The first version of any software is usually best seen as a stake in the ground. Version 2 [2005] of VSTO should be studied for a broader managed code picture, and for special appeal to VB developers. "This version is the first that tries to provide an end-to-end managed code story," said Carter. He pointed to designers for Word and Excel that let you add WinForms controls to documents. They also let you bind data against name ranges, lists in Excel, bookmarks, and more.

"You drag any forms controls onto the document surface," said Carter, "it is a much richer environment than VB developers had before." VB developers who already do WinForms can use the same style of development to Office development, he said.

"There is not an Office-specific model to learn, for example, about a data bind," he said. Instead, it is the same model as the one developers used in WinForms to insert into their applications.

A good yardstick for developers, said Carter, is whether they can build a similar application using data binding, achieve the same functionality, and then find that the source code looks the same. The new software meets those goals.

With the first version of VSTO it might be said that a lot of people were forced to learn the object model in order to get things done. An aim of the new version is for the framework to abstract the object models so that some developers might be able to work with, for example, an expense report application, while not fully learning the inherent object model.

Eric Carter's colleague Eric Lippert added that this latest VSTO product has special merit for the VB community. He echoes some others who have suggested that VB is a somewhat more apt language than C# for new-era Office development. Capabilities in the VB language make it easier to program against the object model, said Lippert.

Related
Download sample chapter of Visual Studio Tools for Office
- SearchVB.com
Office Development pages- MSDN
Redesign an Excel VBA Solution for .NET Using Visual Studio 2005 Tools for Office - MSDN



Tags: Visual Studio Tools for Office (VSTO)VIEW ALL TAGS

Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google



RELATED CONTENT
Visual Studio Tools for Office (VSTO)
Where are the Visual Studio 2008 Tools for Office?
Using SharePoint, Office to develop portals and mashups
Gates offers musings on Office, services at ODC
Office System Developer Conference 2008 preview
What Visual Studio 2008 brings to client application development
On migrating from VBA to VSTO
Component works with Word files inside .NET applications
VSTA: How lightweight can you get?
Ten cool Visual Studio Orcas features, part 1
Office plug-ins possible with Visual Studio add-in

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary



Development Solutions - Silverlight, WinForms, ASP.NET
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Site Map




All Rights Reserved, Copyright 2000 - 2009, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts