Search notes:

Visual Basic for Applications (VBA)

VBA is the abbreviation for Visual Basic for Applications.
VBA's focus is on programming the Office suite. It allows to automate almost all interaction between a user and an office document that otherwise would have to be carried out with mouse or keyboard.
functions
VBA language
Calling the Windows API from VBA
Conditional compilation
The line continuation character of VBA is the underscore (_).

VBA Environment

A VBA program runs in a VBA Environment which is hosted and controlled by another program, typically MS Office programs (Word, Excel …).
An environment consists of one ore more VBA Projects.
The amount of trust that is granted to an Office VBA environment is controlled in the respective Trust Center.

VBA Project

A VBA Project is a container for VBA code. Thus, all VBA programs run in the context of a VBA Project.
A project has a project name and consists of a set of named modules and of an ordered list of project references.
A project reference refers to a another project. It allows a project to access public entities in that other project.
Three types of projects:
The special project VBA is available in every VBA Environment. The VBA project contains a set of classes, functions, enums and constants: the so called VBA standard library.
The components within a VBA project can be accessed via the VBE object VBProject. The functionality of an entire project can be added to another VBA project using the other's project reference object.
In the MS Office Object Model, a VBA project is represented by the VBProject object.
In Excel, the property workbook.hasVBProject is true if the workbook has a VBA project.
Apparently, a VBA project can be digitally signed, see the workbook.vBASigned property.

The VBA project

A (host) project named VBA is present in every VBA Environment.
This project contains VBA's standard library.
Among others, this VBA project contains a rather mysterious global object.

VBA standard library

The VBA standard library is probably also referred to as runtime library.

Versions

VBA 7.0 is shipped with MS Office 2010; VBA 7.1 is shipped with MS Office 2013.
This version is also reflected in the registry key HKEY_CURRENT_USER\Software\Microsoft\VBA\7.x.

TODO

Early binding: use tools->references.
VBA: Redirecting the call to msgBox

See also

Other programming languages etc.
Visual Basic Editor
Accessing and calling DLLs from VBA (Visual Basic for Applications)
Useful object libraries
Excel Object Model
IUnknown
attributes in source code.
Programmatic access to Visual Basic Project is not trusted
VEN2232.OLB is the Visual Basic for Applications Object library
VBA integrates with Antimalware Scan Interface (AMSI).
Accessing the global constant values of an Office application with Microsoft.Office.Interop.….Constants
Running VBA code in Libre Office
The .NET enum Microsoft.VisualBasic.VariantType
The Wikidata entity Q667566.

Links

MS-VBAL, the VBA Language Specification.
docs.microsoft.com: Office VBA Reference
MS-OVBA, the Office VBA File Format Structure which specifies the Office VBA File Format Structure.
VBA Notes for Professionals is a book that was compiled from Stackoverlow (archive.org/details/documentation-dump.7z) and is released under Creative Commons BY-SA.

Index