Here’s how it stands with Office right now: Users can script the Office components using Visual Basic for Applications (VBA), a proprietary Microsoft scripting language that’s a subset of Visual Basic 6. VB6 itself was a lousy language with an ugly, cumbersome syntax; Microsoft ended all support for it in 2008, and I have yet to hear a single developer mourn its passing. Unfortunately, however, VBA lingers on.
Let’s not kid ourselves that VBA is “just a scripting language,” either. Rightly or wrongly, entire business applications have been written as Excel macros, and maintaining those applications means maintaining competency in VBA.
Just don’t expect a lot of company. At one time, Microsoft hoped VBA would become a lingua franca for Windows application scripting. To that end, it licensed the VBA runtime to third-party developers to include in their own applications. But Microsoft shuttered that program in 2007, meaning you won’t find any new applications that support VBA today or in the future.
And that’s not all. Office may be cross-platform, but Microsoft dropped support for VBA from Office 2008 for Mac. It’s back in Office 2011, but macros still don’t always port cleanly. Whether a given piece of VBA code will run largely depends on your OS platform and which version of Office you have installed.
Scripting for all seasons
Real scripting for Windows at last?
The alternative is what Microsoft has now, which is VBA. So come on, those of you who are complaining — you can’t seriously prefer that?