There are two forms of the new formats, one that supports VBA and one that doesn’t. I just read this article, and it sounds like there have been some misunderstandings around this fact. If you read through the whitepapers (Microsoft Office Open XML Formats) (Developer View of Office Open XML Formats), you’ll see that there are two new forms of the XML file formats. The default formats (.docx, .pptx, .xlsx) will not support VBA. There will also be “macro-enabled” versions of the new formats that will have different extensions (.docm, .pptm, .xlsm) and different content types of the parts within the files.
We created these two new types so that it would be easier to identify and deal with files that have code in them. We are by no means moving away from VBA though, which is why we have the macro-enabled versions of the new formats. VBA is still very important for a ton of our customers, and we will continue to support their solutions going forward using the new file formats. So, if you want to store VBA in your documents, you can either use the current binary formats (.doc, .xls, .ppt), or you can use the macro-enabled version of the new formats (.docm, .xlsm, .pptm). Anyone can change what format is used as the default as well, so if you decide you want to default to the macro-enabled version you can easily do this (it can be centrally controlled via policy as well)
I’ll make a future post that goes into the technical details of what’s different between the two formats.