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.)