The macro language subset of Visual Basic has been the bread and butter architecture for those tasked with building advanced formatting in Microsoft’s signature Excel and Word suites.
While VBA is still supported in Office for the PC the lack of an equivalent in the latest Mac version will make it harder for enterprises to maintain compatibility between Mac and PC Office applications, and make the job of developing for separate platforms using the same IT staff just that little bit harder.
Microsoft announced last July it would no longer license VBA and encouraged application development using Visual Studio Tools for Applications (VSTA) or Visual Studio Tools for Office (VSTO). Microsoft has also published advice to developers wishing to make the transition.
Erik Schweibert, software design lead at Microsoft's Macintosh Business Unit (MacBU), disclosed Microsoft's reasons for abandoning VBA back in August 2006. Despite what appears to be a rational analysis from Microsoft, the move prompted widespread protests from both users and developers.
Microsoft argued that the technical problems involved in porting Visual Basic at the same time as revamping Mac Office to work on Apple's Intel platform would have meant further delays. At the same time, Microsoft has included enhanced support for AppleScript in Mac Office 2008, which can be used as an alternative to VBA for many tasks.
But the problem of incompatibility with Mac users remains. Enterprises could, of course, use OpenOffice or NeoOffice and keep compatible with Office 2007. Sun Microsystems and Novell have collaborated on building VBA interoperability for OpenOffice.
The last thing Microsoft wants, though, is for its lucrative Office for Mac market to migrate to OpenOffice. It will be telling, therefore, to see how far Microsoft deals with the VBA incompatibility problems during the next year.®
This story has been updated. We wrongly reported Microsoft is stopping support for VBA in Office. Thanks to Microsoft and readers who contacted us to point out our mistake. Apologies for any misunderstanding.