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.