2.0 RD-VBA Computational Environment
Note
This specification may be incomplete at this time.
MS-VBAL §2 VBA Computational Environment
VBA is a programming language used to define computer programs that perform computations that occur within a specific computational environment called a VBA Environment. A VBA Environment is typically hosted and controlled by another computer application called the host application. The host application controls and invokes computational processes within its hosted VBA Environment. The host application can also make available within its hosted VBA Environment computational resources that enable VBA programs to access host application data and host computational processes. The remainder of this section defines the key computational concepts of the VBA Environment.
Host
👉 An RD-VBA program runs inside a host, but that host is rdc.exe rather than a Microsoft Office application. This should not affect general semantic compatibility.
Note
Hosting RD-VBA programs in rdc.exe rather than a Microsoft Office application has unresolved implications with regard to run-time interoperability.
🎯
rdc.exeis a command-line interface (CLI) application whose role is to assemble and host the library that is defined by the source code in a workspace program.
🎯 rdc.exe is an RD-VBA environment host (see RD-VBAL §1.0 Introduction). In the RDCore ecosystem, it is the default RD-VBA environment host (see RD-VBAL §1.1.1 Platform Extensions).
Compilation in RD-VBA is the responsibility of the environment host, i.e. the rdc.exe console client. Compilation is normally not a concern for any other RD-VBA client or IDE (see RD-VBAL §3.1.1 Attributes).
Workspaces
In RD-VBA, the concepts of a workspace and of a workspace folder are defined by the Language Server Protocol (LSP v3.17). A workspace program is an executable in-memory representation of an RD-VBA workspace.
Tip
In LSP, a Workspace Folder corresponds essentially to a VBProject, and a Workspace corresponds to a project group.
Because workspaces and workspace folders are LSP concepts, an RD-VBA project must necessarily stand on its own and physically exist in the file system. This constitutes a fundamental paradigm shift for VBA code.
See RD-VBAL §2.2 RDPROJ Structure for the files that describe a workspace and its workspace folders.
In this section
| § | Title |
|---|---|
| 2.0.1 | Supported Languages |
| 2.0.2 | Client/Server Capabilities |
| 2.1 | Implicit Storage |
| 2.2 | RDPROJ Structure |
| 2.3 | Application Host |
| 2.4 | Static Types |
| 2.5 | Runtime Values |
| 2.6 | Diagnostics |
⏮️ RD-VBAL §1.1.6 Capabilities Provider | ⏭️ RD-VBAL §2.0.1 Supported Languages