Defining Some Automation Terms
Before you learn how automation works, you need to understand a few automation terms. Automation requires an automation client and an automation server. The automation client application is the one doing the talking. It is the application that is controlling the server application. Because this book is about Access, most of the examples in this chapter show Access as an automation client, meaning that the Access application is controlling the other application (Excel, Word, and so on). The automation server application is the application being controlled. It contains the objects being manipulated. Excel is acting as an automation server when Access launches Excel, makes it visible, creates a new worksheet, sends the results of a query to the worksheet, and graphs the spreadsheet data. It is Excel's objects that are being controlled, Excel's properties that are being changed, and Excel's methods that are being executed.Another important component of automation is a type library , which is a dictionary that lists the objects, properties, methods, and events exposed by an automation server application. Type libraries allow the server application's objects, properties, and methods to be syntax checked by the Access compiler. You can also use a type library to get help on another application's objects, properties, and methods from within Access.An object model of an automation server application contains the set of objects that are exposed to automation client applications. The objects within the object model are called object types . When you write automation code, you create and manipulate instances of an object type. These instances are called objects .CAUTIONIt is important to be aware of the hardware that automation requires. It is common for a developer using a Pentium 4 with 1GB of RAM to create a really slick application, only to find that it won't run on the 64MB Pentiums owned by the users. Automation craves RAMthe more, the better! I recommend 512MB of RAM or more for applications that use automation. It's also important to recognize that automation is not lightning fast, even on the slickest of machines.