1. Computing

Visual Basic and Office - An Update

By September 26, 2009

Follow me on:

I've been tracking one of the mistakes that I think Microsoft is making with their VSTO product line for years now. You can check out the blog I wrote about it a year and a half ago right here. Microsoft has repeatedly assured customers that VBA will be in the next version of Office: Office 14. But the big question is, "Will VSTO be there too?" I'm guessing that it will and I'll finally be able to retire the gripe against Microsoft in my previous blog.

As a counterpoint that illustrates what Microsoft should be doing, here's an announcement that was made by one of the biggest companies using VBA in their own products: AutoDesk.

"We will continue to support VBA now and into the foreseeable future in the AutoCAD product line. We are putting together a transition plan to .NET and VSTA and expect to support VBA until our research shows most customers have migrated their code (which could take years.)"
--Eric Stover, Autodesk.

Now, that's a company that understands their customer investment in VBA!

In the latest version of Microsoft InfoPath - a new product to manage forms and information for a large office environment that is considered to be part of the Office family these days - they finally broke the mold. InfoPath uses, not VSTO (Visual Studio Tools for Office), but VSTA (Visual Studio Tools for Applications). VSTA is actually a superset of VSTO and it's the product that Microsoft is now encouraging other companies to include in their software products. And InfoPath does not include VBA as we know it.

For those of us who prefer the productivity and transparent syntax of Visual Basic, VSTA ends the monopoly we've had on Office programming for so long. Any .NET language can be used with VSTA. Ah well ... Microsoft has also announced that their direction is to grow VB and C# closer together over time.

VSTA can be thought of as a mature product these days since it was announced (but not shipped) with Visual Studio 2005. The 2.0 version was released in May of this year. One of the changes in VSTA is something I've been writing about here for quite a while: WPF. WPF is the replacement for Windows Forms going forward. Version 2.0 of VSTA puts the nails in the coffin for Windows Forms in Office.

A top priority for VSTA has been a more graceful migration from VBA to VSTA than we got from VB6 to VB.NET. VSTA has the ability to manage both COM and .NET code. Expect VSTO (if they still keep using that acronym) to allow you to use your running VBA code inside the VSTA environment rather than converting it. AutoDesk has announced that AutoCad 2010 will provide this feature. But ArtinSoft, the company that created the Upgrade Companion for VB6 to VB.NET migration, is already selling migration technology for converting VBA to VSTA if you choose to go that direction.

(Note ... For those of you who receive the About Visual Basic newsletter, a system error prevented the illustrations from uploading correctly to the About.com servers. We're working on it and expect to get the problem corrected soon.)

September 28, 2009 at 2:44 pm
(1) ian says:

After the lousy way VB6 developers and their client were treated by Microsoft, I’ll believe this when I see it. It’s far more likely that MS will “support” VBA as some separate second-class entity with no automated conversion path or backwards compatibility whatsoever.

Clearly some group at Microsoft has it in for VB-form languages, which is why I learned Java.

September 28, 2009 at 3:36 pm
(2) Dan Mabbutt says:

Well … I have to agree with your comment that Microsoft has treated their customer base in a pretty lousy way.


Good luck with getting any better treatment from Sun (owner of Java) … Soon to be a division of Oracle. Microsoft (and Sun, it must be admitted) were at least founded by programmers. Oracle has always been run by a salesman.

The introduction to the book In Search of Stupidity points out that of the top ten software companies that started the golden decade of PC software, only one (Microsoft) was still in business at the end of that decade. I would contend that this happens because bean-counter management starts to feel like customers don’t count. Microsoft is certainly showing signs of this disease these days, but other companies – certainly including Oracle – have confirmed cases of the same disease.

October 11, 2009 at 2:07 pm
(3) Patrick says:

Microsoft announced it was discontinuing its VBA Licensing Program for Independent Software Vendors a couple of years ago. With this announcement, Microsoft clearly layed out their plans for the future of VBA and VSTA development support: “Microsoft is investing its application programmability resources in Microsoft® Visual Studio® Tools for Applications (VSTA) and its companion set of tools, Microsoft® Visual Studio® Tools for Office (VSTO). We encourage you to consider VSTA for new applications that require application programmability technology.” Source: Visual Basic for Applications Licensing

While this was not specifically addressing Microsoft Office development clearly the writing is on the wall for VBA and VSTA.

October 11, 2009 at 2:25 pm
(4) Patrick says:

The link in my comment to the “Visual Basic for Applications Licensing” page is not working. Here is a shortened link to the page: http://tinyurl.com/ygubhsy

October 11, 2009 at 2:54 pm
(5) Dan Mabbutt says:

That’s true. And thanks for the link and the summary of Microsoft’s license policy.

I try to make two points (both seem consistent with the information you provided) …

(1) They never shoulda done it! (Pulled the rug out from under VB6 and VBA, that is.) But, as you wrote, they did do it. Crying in our beer now doesn’t do any good. Even though I agree with the few remaining VB6′ers who continue to write in and throw rocks at Microsoft, the only sensible thing to do now is to move up to .NET.

(2) The way they’re trying to market VSTO (and VSTA) is dumb. That continues to be true (IMHO).

I just hope MS wakes up and figures some of these things out. Even though I criticize them, I really do wish them success.

Leave a Comment

Line and paragraph breaks are automatic. Some HTML allowed: <a href="" title="">, <b>, <i>, <strike>
  1. About.com
  2. Computing
  3. Visual Basic

©2014 About.com. All rights reserved.