Few software applications are as ubiquitous as Microsoft Word, which has been around for more than 20 years—practically an eternity in computer time. Even as competitors, such as OpenOffice.org, emerge from the open source community, their success relies heavily on how much they look and act like Word. When most people think of word processing, they think of Microsoft Word.
Word is a powerful word processor, but it offers a lot more. It is almost infinitely customizable, which means you don't have to settle for the features and interface that come "out of the box." But more importantly, it is also almost infinitely programmable. Using Visual Basic for Applications (VBA), you can do from a program almost anything you can do from the Word interface, and you can usually do it much, much faster.
People often refer to programs written to control Word using VBA as macros. The term "macro," short for "macro command," typically means a sequence of commands (usually keystrokes) recorded from within an application and played back as a single command. While you can indeed record macros like that in Word using VBA, VBA is much more than a macro language: it's a powerful, full-featured programming language. But old habits die hard, so this book will often refer to VBA programs as macros.