1.3.3 Project Items

The VBA project contains a series of project items for embedded macros. Each project item is defined by a combination of records. The five types of project items are as follows:

The PROJECT Stream (section 2.3.1) provides the type of every project item.

Document modules, procedural modules, class modules, and designer modules are items that can contain source code as described in [MS-VBAL] section 4.2 and other user-configurable settings. Within the dir Stream (section 2.3.4.2), a MODULE Record (section 2.3.4.2.3.2) exists for each such project item, where the MODULENAME (section 2.3.4.2.3.2.1) is the same as each <ModuleIdentifier> in the PROJECT Stream (section 2.3.1).

ProjectDesignerModule (section 2.3.1.7) specifies a project item that extends a designer. In addition to the source code, a Designer Storage (section 2.2.10) named MODULESTREAMNAME (section 2.3.4.2.3.2.3) will be present in the Project Root Storage (section 2.2.1) which contains additional, designer-specific information about the project item. The VBFrame Stream (section 2.3.5) specifies the VBA-specific information about the designer.