The Design-Time Developer

VBA vs. VSTO vs. VSTA

During today's Language Enhancements webcast, I received a question about what's going on with Visual Basic for Applications (VBA) - we briefly touched upon VBA and some of the other Office automation/customization tools.  To help you out, I did a little research to find the resources that you can use to fill your brain:

VBA (Visual Basic for Applications) is a scripting language supported in several Office applications.

VSTO (Visual Studio Tools for Office) is a Visual Studio enhancement to support .NET managed code development for Word and Excel documents and Outlook Add-Ins.

VSTA (Visual Studio Tools for Applications) is a framework for adding scripting support to your own custom applications.

Which of these do you use in your development work?  How do you use these tools?

Published Thursday, April 06, 2006 12:06 AM by jacobcy

Comments

 

Mike said:


Hi,

I don't think the way you classified the technologies is representative to what they are used for.

First, you forget VBScript, free run-time. And VB. Both can be used to automate Office applications.

Second VBA, for the most part, cannot be redistributed unless you are a licensee, and that's known to be very expensive. Because of that, writing VBA code is a way to embed VBA code in Office applications, not worry about deployment thanks to the fact it's embedded. Still macro security (certificates, ...) must be dealt with.

VSTO/VSTA play in a totally different league. First of all, those two are using .NET. And as everyone knows, .NET is that technology that Microsoft is not deploying on their own operating system, requiring in turn developers to do the heavy lifting for them. Of course, because .NET does not play well with unmanaged code (the VSTO/VSTA blogs are filled with those problems, and that's just a few), this is an entire new class of problems that arise from that. And worse, those problems come in addition to those from the unmanaged world, not instead of. In addition to this, VSTA will require a license and nobody knows at this point how costly it will be : will it be only a fraction of the VBA license?

April 6, 2006 5:46 AM
 

John Ingres said:

VSTA is indeed in a different league. It solves lots of problems inherent to VBA. Calling unmanaged code with VSTA sure is not the best idea; mostly a bad application design symptom.

It is sad that the license pricing is still unknown. This has blocked adoption a great deal since ISVs don't know what they are stepping into. If MS is smart, licensing cost will be low and unobstrusive (not per seat!! some ISVs do not sell their own software per seat; we don't). VSTA can bring many ISVs to switch technology. We are mostly UNIX/JAVA folks but SQL2005/VSTA/etc is interessant enough to consider the switch...if the license price leaves enough air to do business;)
April 6, 2006 8:13 AM
 

Tom said:

I will agree with the comments above.  In addition, I have seen many questions from DotNET developers asking the question, "If DotNET is so important to Microsoft, why are there no commercial Microsoft products that use DotNET?".   It makes us wonder, does Microsoft consider DotNET too slow, too weak, or what.

In regard to VSTO, why is the price for this so high?  The price leaves out the small companies.

Thanks for reading.
Tom
April 6, 2006 9:33 AM
 

buy tamiflu said:

April 12, 2006 11:06 PM
 

jacobcy said:

In an effort to reduce censorship, I have decided to leave the previous comment on my blog.  Apparently, we can get Tamiflu very cheaply online through their Canadian distributor.  I hope it does something pretty darn spectacular, because they are quoting it at $3.78/tablet.  Viagra doesn't even cost that much and I'm fairly certain you'll get more bang for the buck, pun most definitely intended.
April 13, 2006 1:19 AM
 

The Design Time Developer VBA vs VSTO vs VSTA | work from home said:

June 16, 2009 7:54 AM
New Comments to this post are disabled

This Blog

Syndication

News

This is the blog of Jacob Cynamon, Microsoft developer community champion (DCC) for Illinois, Indiana, and Wisconsin.


All postings on this blog are provided "AS IS" with no warranties, and confer no rights. All entries in this blog are my opinion and don't necessarily reflect the opinion of my employer.

Developer Events

Other Microsoft Events TechNet Briefings
[IT Pros]


Connections
[Small/Mid-Sized Business Owners]


TS2 Seminars
[MS Partners]


MBS
[Business Professionals]


Stay up-to-date on developer happenings
Localized MSDN Flash Newsletter

© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Microsoft
Page view tracker