5.2.3 Module Declarations

 

 common-module-declaration-element = module-variable-declaration 
 common-module-declaration-element =/ private-const-declaration 
 common-module-declaration-element =/ private-type-declaration 
 common-module-declaration-element =/ public-type-declaration
 common-module-declaration-element =/ public-enum-declaration
 common-module-declaration-element =/ private-enum-declaration
 common-module-declaration-element =/ private-external-procedure-declaration 
 common-module-declaration-element =/ attribute-statement

Any kind of module (section 4.2) can contain a <common-module-declaration-element>. All other declarations are specific to either <procedural-module> or <class-module>.

Composition and compilation of Attribute statements is not permitted in the Microsoft Visual Basic for Applications editor, however, they are consumed and produced by Microsoft Visual Basic for Applications without error upon import and export and are therefore considered valid VBA language constructs. For this reason, this specification describes the grammars needed to parse these statements.

Compilation of public user defined types is not permitted in the Microsoft Visual Basic for Applications editor, however, composition of them is allowed and they are consumed and produced by Microsoft Visual Basic for Applications without error upon import and export and are therefore considered valid VBA language constructs. For this reason, this specification describes the grammars needed to parse these type constructs.