VSTA Fills an Important Niche for MS
Microsoft announces Visual Studio Tools for Applications.
Microsoft announced Visual Studio Tools for Applications (VSTA) at Wednesday's PDC keynote.
VSTA is a .NET version of its Microsoft's application scripting tool, Visual Basic for Applications, the same programming engine that let you customize Microsoft Office in the pre-.NET era. VBA licensees ranged from commercial vendors who wanted to give developer-users maximum control over manipulating their applications, to in-house applications where the end-user wanted maximum control over how to manipulate the application at run time.
VSTA lets developers manipulate the applications they use with .NET. This means you can manipulate VSTA-integrated apps using the same language you create your apps with if you're a .NET developer. It also means you get the wide range of features and capabilities that are inherently part of the .NET Framework.
VSTA will ship in the Office 12 timeframe. It relies on the same scripting engine that will power Office, but developers who integrate it will have considerable choice over what aspects of the engine are available to which users. For example, developers might allow end users to take advantage of in-house scripts, but not to alter them once created.
I spoke to KD Hallman, general manager for Visual Studio Tools for Office, after the keynote, who noted that the scripting tool itself is fairly far along in its development cycle, but the details on how the program will be administered remain undecided. For VBA, Microsoft turned over administration of the program to Summit Software, which is on a short list of companies Microsoft has announced will support VSTA. I won't be surprised to see Microsoft take a similar approach with VSTA, but that's just speculation on my part at this point.
One point that KD did make clear is that VSTA will have "transparent pricing." In other words, it will publish a schedule for integrating VSTA into third-party applications. For the VBA program, Summit and Microsoft were a tad more coy, although it was easy enough to acquire pricing information, if you were interested.
You will see a handful of important differences between VSTA and its VBA predecessor. First, you'll be able to program against VSTA using Visual Basic and C#; VBA, as its name suggested, could be programmed against only with Visual Basic. Second, implementations you create with VSTA will sit side-by-side with VBA-created solutions; they do not interact in any way. If you have an application that integrates VBA, you need to upgrade the application to VSTA to take advantage of VSTA in that application. KD cautioned that the upgrade experience of moving to VSTA from VBA will be considerably easier than moving from VB to VB.NET, saying that Microsoft learned quite a bit from watching customer efforts to migrate their applications to .NET previously, knowledge that will make it easier to make a transition this time around. Artinsoft, the company that provides the VB-to-.NET porting tools in Visual Studio .NET, is also listed as an early adopter of VSTA, and will play a similar role in helping companies move their applications forward from VBA to .NET.
VSTA fills an important niche for Microsoft, one where Microsoft has had a hole in its offerings since introducing .NET several years ago. It's too early to say how many people will want to upgrade previously existing VBA applications to VSTA, and obviously those who consider this approach will have some significant issues to grapple with. That said, the release of this tool is a clear boon to those who program in .NET and have wanted a way to customize and extend their applications with a .NET-based scripting tool.
As ever, Visual Studio Magazine will keep you apprised as VSTA moves closer to release, especially with respect to the still murky details of how the program will be administered.
Patrick Meader is editor in chief of Visual Studio Magazine.