Introduction to OLE Automation
OLE Automation, or “Automation” as it is commonly referred to, is an inter-process communication method created by Microsoft to allow scripting languages such as Visual Basic for Applications (VBA) to control automation objects. What this means in the realm of Microsoft Office and VBA is that a programmer can write code in one software application (ie. Word) that has the ability to control another (ie. Outlook). There are several reason a user might want to do this, and quite often centers around data enrichment, or reporting.
Apart form using VBA to perform Automation, it is also possible to do so in a wide variety of languages including: .NET, Java, PHP, C, C++, Pearl, Python, Ruby, and several others. With regards to .NET Automation, the process is referred to as COM Interop, and highly integrated into Microsoft Visual Studio where developers can easily create installable Add-ins complete with User Interface (UI) that integrates directly into the Microsoft Office Ribbon.