OLE Automation was designed to allow application developers and end users to control applications through a common interface. An application that is OLE Automation enabled allows other external applications to control it by exposing certain parts of its internal structure in the form of objects. These objects have properties and methods. Properties allow you to retrieve values that might represent the state of the object, a count of some number items, another object and so forth. Methods allow you to perform an action on a specific object, like opening a new document, printing a file, recalculating a range of cells and so on.
Why would you want to use this functionality? How many of us have had to write sophisticated financial routines when we knew that the same routine was already available in our favorite spreadsheet? How many of us have written scheduling routines when we wished we could somehow hook into our favorite project management software? Through the power of OLE Automation, we now have the capability to hook into other applications and use them as if they were a part of our own application. Imagine having all of Microsoft Excel's built-in functions available at your fingertips. Even better, imagine having Excel's powerful charting capabilities built in to your own application! Imagine no more! All this is now possible and readily accessible through OLE Automation!