This document provides an overview and introduction to automation programming using C++ and Visual Basic for Applications (VBA). It discusses how automation allows C++ programs to communicate with VBA programs and other scripting languages using the IDispatch interface. It also introduces the concepts of automation clients, automation components, properties, methods and collections. Finally, it discusses some choices in writing automation components as either in-process or out-of-process components.