What is OLE Automation?
OLE (Object Linking and Embedding) Automation allows applications to communicate, exchange data, and control one another. It allows a client application to create and control an object, using the exposed object's interface. An Automation object is an object that is exposed to other applications or programming tools through Automation interfaces.
Automation provides a documented, standard way of creating and accessing applications programmatically. Automation is normally associated with Visual Basic. It puts the power to create programmable applications in the grasp of C/C++ developers and lets developers for Visual Basic access and manipulate those applications. This frees C/C++ developers from the complications of providing specialized user-interface solutions and gives Visual Basic programmers a reliable way to assemble custom solutions out of pieces of application-supplied components.
Not only Visual Basic can take advantage of Automation. In fact, programmable objects are accessible from any macro language or programming tool that implements Automation. Users may choose a programming tool based on their current knowledge, rather than learning a new language for each application. Even scripting languages, such as VBScript and JScript, support Automation.
The key to controlling an Automation application is a firm understanding of the application's object model. Each application's object model is different. If you've been reading our columns, you should be familiar with the object model of Microsoft's Internet Explorer and Allaire's HomeSite. There are now hundreds of applications that can be used in this way. Microsoft now claims that every function of every application in the Office suite is available to the developer via the application's object model. The Office suite exposes thousands of objects, methods, and properties to the developer through its object model.
Studying the object model of a specific application is often very difficult, due to the lack of documentation describing the functionality of various software objects that can be used in an application. Microsoft's Office applications, for instance, are well documented on their Web site. However, many other applications don't provide the necessary documentation.
The Object Browser in Microsoft Visual Basic presents objects, methods, properties, and constants of an external Automation object in a dialog box. This tool is also useful for scripters, because an application's global constants are not available in the scripting environment. If you're writing a script that takes advantage of Automation, use the Object Browser to discover the actual values of the required constants, so you can explicitly specify them in the body of the script.
Produced by Yehuda Shiran and Tomer Shiran
Created: January 10, 2000
Revised: January 10, 2000