Software Development: Visual Studio Tools for Office (VSTO)
VSTO allows the capability of Visual Basic.Net to develop Microsoft Office Applications using robust .NET Managed code.
VSTO is integrated into Visual Studio and provides the tools to build Add-ins, customised documents, Templates and Workbooks – for Excel, Outlook, Word, PowerPoint, Project, InfoPath and Visio applications.
VSTO is only available for Microsoft Office 2003 and later versions.
Goodbye Visual Basic for Applications
Before the advent of VSTO, the Visual Basic programmer would use Visual Basic for Applications (VBA) and Macros to automate repetitive tasks. VBA was developed from within the Office application. There was also a macro recorder that generated (usually crude) VBA code from user input.
But those days are now over. Very few professional programmers will develop new Applications using VBA. Of course, the legacy Applications will linger on for many years.
VSTO: What about Microsoft Access?
It would have been great if VSTO could have provided a replacement for the VBA of Microsoft Access, but the Front-End to any database system can be easily handled with Visual Basic.Net. VB.Net is just as fast in development compared to using an Access Bound Form, but infinitely more user-friendly and efficient.
Real programmers don't need documentation
The available documentation leaves much to be desired. There are no books on VSTO and Visual Basic.Net 2012 – let alone Visual Basic.Net 2013. The same applies to the C# language as well. And the number of changes between the different versions of Office were particularly large – so the Internet was not that helpful.
My first VSTO Add-in application
Creating a VSTO Add-in turned out to be easy (after some research) – it took me just a few hours to create an Outlook routine to automatically delete SPAM Emails. By reading a Text file with a list of obvious SPAM subjects and URLs, the system deletes most of the unwanted junk mail from Outlook.
Deployment was equally easy. So easy that I keep getting the instinctive feeling that there just must be more to it. A programmer's life wasn't meant to be that easy!
Some Technical Comments on VSTO
There is not too much to comment on here:
- The lower bound of a Visual Basic array is 0 – but the older structures still use a 1
- Debugging an Outlook Add-in is straight forward, even though the Add-in is created in a completely different environment from Outlook
- I had to turn Option Strict Off in order to compile the Add-in