Visual Basic for Application(VBA) is an implementation of Microsoft’s event-driven programming language Visual Basic 6. Its associated integrated development(IDE) are built into most Microsoft Office applications. It enables building user defined functions, automating processesand accessing Windows API and other low-level functionality through dynamic-link libraries(DLLs). It is also built into Office for Mac applications(apart from version 2008) and other Microsoft applications such as Microsoft MapPoint and Microsoft Visio, as well as being at least partially implemented in other applications such as AutoCAD, WordPerfect and ArcGIS. It supersedes and expands on the abilities of earlier application-specific macro programming languages such as Word’s WordBasic. It can be used to control many aspects ofthe host application, including manipulating user interface features, such as menus and toolbars, and working with custom user forms or dialog boxes. It can also be used to create import and export filters for various file formats, such as OpenDocument(ODF).
Just as its name suggests, it is closely related to Visual Basic and uses the Visual Basic Runtime Library, but can normally only run code within a host application rather than as a standalone program. It can, however, be used to control one application from another viaOLEAutomation. It also has the ability to use (but not create) (ActiveX/COM) DLLs, and later versions will add support for class modules.