(Republished from the original Explainly blog)
I will link to future parts here as I post them.
VBA [Visual Basic for Applications] was built on the back-bone of Visual Basic 6 which is a scripting language exclusive to the Windows operating systems that, outside of VBA, has not been supported by Microsoft since 2008. The VBA interface worked with Windows' Component Object Model (COM) to allow interaction with various applications outside of the local office library. This limited the full capabilities of VBA to Windows. Microsoft created a sandboxed version of the Office applications with VBA for Mac to allow for the fundamentals but without the ability to interface with other COM-based applications.
VSTO, first introduced in 2005, offered a more modern programming approach using managed code to the world of Office customization. Tools for converting VBA into VB.Net were made available with the thought that document-level customizations would gradually replace most document-specific VBA modules with application or template-level customizations supplanting the VBA add-ins and modules that impacted the applications more generally. The VSTO model was a COM-based solution, making it completely unavailable to Office for Mac. Between this lack of non-Windows support and the more structured programming environment, VSTO add-ins never reached a large audience.
Excel for Windows might have been a powerhouse, but Windows was no longer the primary battleground for more casual users.