Visual Basic for Applications is an automation framework based on Microsoft's COM specification. It exposes internal methods and procedures of many Office and Office-like applications. You can expose any application to Visual Basic, JScript, even Perl or Python by calling the IDispatch COM object in Windows.

Many applications have exposure to scripting (Netscape has JavaScript, Apple apps can have an Applescript Dictionary, which exposes their methods to AppleScript). The advantage of this is to provide third party extensions to your product. Currently, the MS apps that provide this kind of extensibility are Visio, Word, Excel, Powerpoint, Access, Outlook, and Project (among others). There are many problems with this exposure, including Macro Viruses which can cause much damage if they are allowed to be executed in such a fashion.

Visual Basic for Applications is accessed through the Visual Basic Editor IDE (VBE), which is provided with all of the Office apps.