Hopefully my last catch up item from PDC05 – Visual Studio Tools for Applications was announced in last Wednesday’s 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 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.
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 [Hallman, general manager for Visual Studio Tools for Office] 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.
VSTA is a “cousin” of Visual Studio Tools for Office (VSTO) which provides similar functionality for Microsoft Office and whose version 3.0 corresponding to Office 12 was also previewed at the PDC.
As for the venerable VBA, Hallman is quoted as saying “Microsoft will continue to support VBA indefinitely.”