The future of VBA looks a lot like VSTA. Or does it?
There is an interesting post in the VSTO forum about VBA/VSTO/VSTA. The question is: "Is VSTO/VSTA intended to replace VBA?"
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1461382&SiteID=1
The future of VBA and VSTO/VSTA's role continues to be a hot topic. Excluding VSTA for a moment, VBA and VSTO are two different tools. Though they have functionality that overlaps, one is not a replacement for the other. Never was, never will be IMHO. Thinking about them as tools, I tend to think of saws as an analogy. Saws are meant for cutting things. VBA and VSTO are meant for extending or automating Office. Although you can use various types of saws for cutting things, depending on what you're cutting, the effort required to complete your chore will vary dramatically with the type of saw you're using. Also, there are some materials that cannot be cut unless you have a saw of a specific type. We could argue about which type of saw VBA is and which type VSTO is, but that is tangential to my point, which is, they're two different types of saws.
I still haven't gotten into the nuts and bolts (as long as I'm talking about tools), of VSTA (sdk, dev center) . That said, from what I've heard, read, and seen so far, VSTA has the potential to be a future VBA replacement. It offers an IDE and a macro recording experience. From the surface, it looks like VSTA is capable of functionality germane to VBA. If you are a die-hard VBA person, VSTA is something to pay attention to.
While this is all related to the forum thread I mentioned at the beginning of this post, something mentioned in the post really jumped out at me. From the third message in the post (UPDATE: I added italics to emphasize the part that shocked me):
"I think the final decision about "replace" is still up in the air. There are some people in the Office team who believe power should be taken away from the user and given to IT and, by extension, to developers."
Hopefully there aren't many on the Office team who think this. To those who may think this way, I'm sorry, but I think you are totally brain dead and out of touch with one of Office's core value propositions. I know that several large IT shops think they too, would like to prevent end-user development. The problem is that, in my opinion, many IT professionals have a hard time separating idealism from value, more specifically, the creation of value. Instead, most corporate IT shops are focused on cost reduction, which, in and of itself, does not necessarily create value.
End-user Office extensibility is an invaluble tool for tactical application development (small scale, departmental applications). I don't know of many corporate IT departments that are staffed adequately enough for enterprise development, let alone have the bandwidth to start bothering with tactical development. Removing end-user extensibility capabilities in Office, even substantially diminishing these capabilities would be a huge, huge mistake.
Before I close this rant out, let me end by assuring anyone reading this (all 5 of you, not including my wife), that the sky is not falling. It seems like some are paranoid that VBA won't work tomorrow or something. It will for the foreseeable future in my opinion. I'm just worried about the day after the foreseeable future.