Looking at Microsoft Office development is like looking at an old tree’s cross-section – you will find different layers from different eras. Each layer is carefully maintained for compatibility. Run the just-released Word 2016, enable the Developer ribbon, click VBA, and there is Visual Basic for Applications 7.1, using traditional VB as found in the long-deprecated VB 6.0 from 1998.
Since VBA is built on COM (Microsoft’s object technology) and has fast access to the COM interfaces exposed by Office applications, VBA is well suited to automating Office. The ability to record your actions as editable VBA macros is one great feature for the developers. Apart from that, you can also write COM add-ins for Office applications in any language that supports COM, still fully supported in Office 2016.
A different approach is to develop Office extensions using .NET languages. This is done through another technology called Visual Studio Tools for Office (VSTO). This one dates from 2003, and the last major version was 4.0 in 2010.
VSTO projects also access the Office COM interfaces, but via interop which is sluggish. The languages and frameworks of VSTO are more powerful than VBA. However, VSTO projects are applications which need to be installed, not like VBA projects which are embedded in documents or templates. VSTO also still works fine in Office 2016.
What about Microsoft Access 2016?
Well, it’s good news! If you’ve been using Access 2010 or 2013, then there is no new obvious change – you still can fully embrace VBA.
You may want to recompile your code before running procedures just in case any newer references have been updated in particular references to other Microsoft Office applications but they should all pass the test with flying colours.
It would be nice to see if some of the object members like exporting hundreds and thousands of rows into an Excel spreadsheet can actually exceed the old limit of 65,000 (as Excel 2013 can store over a million rows) and the ability to increase database memory capacity from the current 2GB – perhaps doubling to 4GB!
Just some minor irritations and for the select few but overall, it’s business as usual