Next Microsoft Office will continue to support VBA
It has been the "macro" language for Microsoft Word since Office 97, even while Microsoft has moved Office developers toward .NET. But now members of the Visual Studio team are saying Visual Basic for Apps isn't going anywhere.
In response to reports that cropped up last week saying that Microsoft is finally shutting down support for Visual Basic for Applications, the COM-based macro language for customizing Office 97 and subsequent versions, members of the team whose product would presumably replace it are saying VBA support will remain in the next edition of Office, code-named either "Office 13" or "Office 14" on account of squeamishness over the earlier number.
"Over the years, a number of partners such as Corel and AutoDesk have licensed VBA to add application automation functionality to their products," reads a post last week to the Visual Studio Tools for Office team blog. "Any existing partner can continue to ship VBA and Microsoft Office will continue to include it."
The confusion may have arisen from Microsoft's decision last July to discontinue new licenses of VBA to new partners seeking to build a functional language into their applications. Instead, Microsoft is steering clients toward adopting Visual Studio Tools for Applications.
Excel team developer Joseph Chirilov echoed the same sentiment. "While it's true that VBA isn't supported in the latest version of Office for the Mac and the VBA licensing program did close to new customers last year," Chirilov wrote, "we have no plans to remove VBA from future versions of Office for Windows. We understand that VBA is a critical capability for large numbers of our customers; accordingly, there is no plan to remove VBA from future versions of Excel."
The fact that VBA will be present in the next Office for Windows edition should subsequently put to rest rumors floating around for the past several months that Microsoft will announce, or has already announced, it will discontinue distributing Office as installable software and will adopt an all-online model instead. VBA is a component built squarely around the Component Object Model, and Microsoft's first methodology for making applications' functionality addressable through type libraries. Both those libraries and the COM components rely on local System Registry functionality that cannot be reproduced in a Web-only environment.
By far the majority of VBA "macros" (or, as native developers refer to them, "modules") have been produced for Word and Excel, though even today, many Excel macros used in the field follow the "macro sheet," cell-by-cell instruction syntax originally inspired by Lotus 1-2-3. Microsoft officially opened all its principal Office components to VBA extensibility, although writing a VBA module around Outlook has always proven to be as impossible as wrapping duct tape around an active chipper-shredder.
Even to this day, a VBA module written around PowerPoint for Office 2007 can easily take down the entire application, though testing shows that quite a bit of attention has been paid in more recent editions to making sure presentation data doesn't get lost in the process. It's as though there were a point long before July 2007 where Microsoft gave up on the idea of COM-based extensibility, leaving the developers of the Office apps to plan for the likelihood of macros blowing up in their users' faces.
Still, the decision announced last week means that many of the modules still in use by major publishing institutions today, will probably continue to function well into 2010.