VBA Backup Manager | User Documentation | v1.0.0
Table of Contents
1. Overview
Every VBA project eventually ends up scattered across desktop copies, email attachments, and “final_v3” folders, until someone opens the wrong version in production. VBA Backup Manager keeps every project versioned, environment-aware, and one click away from a clean rollback.
What it does:
- Backs up any VBA project on demand, save the full content or just a selected piece, with a comment attached so you know why each backup exists
- Keeps DEV, TEST, and PROD in sync, compare versions across environments at a glance and promote a project forward only when it’s ready
- Loads content from anywhere, pull components back in from a previous backup or straight from an external file, without hunting for the right copy
- Tracks references automatically, see which VBA references each project depends on, and catch missing ones before they cause a runtime surprise
- Pushes straight to Git, send an official DEV, TEST, or PROD release to your Git or Azure DevOps repository without leaving the tool
Supported environments: Microsoft Office VBA (Excel, Word, Access), AutoCAD VBA, CATIA V5 VBA
2. Getting Started
Prerequisites
- VBA Backup Manager must be installed and licensed
- The target VBA project must be open in its host application (Excel, Word, Access, AutoCAD, CATIA V5)
- Git or Azure DevOps repository configured (optional, required for push-to-Git features)
Launching the Tool
Launch VBA Backup Manager from the Windows Start Menu or desktop shortcut. The main panel opens and automatically detects all running VBA host applications and their open projects.
Selecting a Project
The left panel lists all available VBA projects grouped by host application. Click any project to load its content, backup history, reference information, and environment status in the main panel.
3. User Interface
The panel is organized in three horizontal sections: project selection and environment controls on the left, content and backup management in the center, and reference tracking on the right.
3.1 Project List
Available VBA projects are listed by host application (Excel, Word, Access, AutoCAD, CATIA V5). Each entry shows the project name, host, and current environment assignment (DEV, TEST, or PROD).
3.2 Content Panel
Selecting a project loads its full module and form structure in the content panel. From here you can:
- Browse individual modules, forms, and class modules
- Select specific components for backup or restore
- View the current source code inline
- Edit and save changes directly back to the project
3.3 Backups
The backup panel displays all saved versions of the selected project with:
| Column | Description |
|---|---|
| Version | Auto-incremented version number |
| Date | Timestamp of the backup |
| Comment | User-provided note explaining the backup purpose |
| Environment | DEV, TEST, or PROD label |
| Size | Backup size in KB |
Actions available per backup:
| Action | Description |
|---|---|
| Load | Restore the selected backup content into the active project |
| Promote | Copy the backup to the next environment (e.g. DEV → TEST) |
| Release | Tag as an official release and push to Git |
3.4 Reference Tracking
The reference panel shows all VBA references (libraries, type libraries, object models) that the selected project depends on. Missing references are highlighted in red so you can resolve them before opening the project in a different environment.
3.5 Environment Controls
Three environment badges at the top show the current release version for DEV, TEST, and PROD:
- DEV, Latest development snapshot
- TEST, Version currently under validation
- PROD, Version currently deployed to production
Click the badge to view that environment’s version history and details.
4. Configuration: settings.ini
File Location
<install_folder>/VbaBackupManager/settings.ini
Structure
; VBA BACKUP MANAGER - SETTINGS FILE
[General]
AUTO_DETECT_HOSTS=1
STARTUP_MINIMIZED=0
[Backup]
DEFAULT_BACKUP_PATH=C:\VBABackups
COMPRESS_BACKUPS=1
MAX_BACKUPS_PER_PROJECT=50
[Git]
GIT_EXECUTABLE_PATH=C:\Program Files\Git\bin\git.exe
DEFAULT_RELEASE_BRANCH=main
COMMIT_MESSAGE_TEMPLATE="VBA release {version} - {project} to {environment}"
[Environments]
ENVIRONMENTS=DEV,TEST,PROD
DEFAULT_ENVIRONMENT=DEV
Parameters
AUTO_DETECT_HOSTS
| Property | Value |
|---|---|
| Section | [General] |
| Type | Boolean (0 / 1) |
| Default | 1 |
When set to 1, VBA Backup Manager automatically detects running VBA host applications on startup. Set to 0 to manually select hosts.
AUTO_DETECT_HOSTS=1
STARTUP_MINIMIZED
| Property | Value |
|---|---|
| Section | [General] |
| Type | Boolean (0 / 1) |
| Default | 0 |
When set to 1, the application starts minimized to the system tray.
STARTUP_MINIMIZED=0
DEFAULT_BACKUP_PATH
| Property | Value |
|---|---|
| Section | [Backup] |
| Type | String |
| Default | C:\VBABackups |
The root directory where backup files are stored. Each project gets its own subdirectory.
DEFAULT_BACKUP_PATH=D:\Backups\VBA
COMPRESS_BACKUPS
| Property | Value |
|---|---|
| Section | [Backup] |
| Type | Boolean (0 / 1) |
| Default | 1 |
When set to 1, backups are compressed to save disk space. Disable for faster individual backup operations.
COMPRESS_BACKUPS=1
MAX_BACKUPS_PER_PROJECT
| Property | Value |
|---|---|
| Section | [Backup] |
| Type | Integer |
| Default | 50 |
Maximum number of backups retained per project. When the limit is reached, the oldest backup is automatically removed.
MAX_BACKUPS_PER_PROJECT=100
GIT_EXECUTABLE_PATH
| Property | Value |
|---|---|
| Section | [Git] |
| Type | String |
| Required | Only if using Git push |
Full path to the Git executable. Required for push-to-Git features.
GIT_EXECUTABLE_PATH=C:\Program Files\Git\bin\git.exe
DEFAULT_RELEASE_BRANCH
| Property | Value |
|---|---|
| Section | [Git] |
| Type | String |
| Default | main |
The Git branch that release versions are pushed to.
DEFAULT_RELEASE_BRANCH=release
COMMIT_MESSAGE_TEMPLATE
| Property | Value |
|---|---|
| Section | [Git] |
| Type | String |
| Default | "VBA release {version} - {project} to {environment}" |
Template for Git commit messages. Available placeholders: {version}, {project}, {environment}, {date}.
COMMIT_MESSAGE_TEMPLATE="Release {version}: {project} -> {environment} ({date})"
ENVIRONMENTS
| Property | Value |
|---|---|
| Section | [Environments] |
| Type | Comma-separated list |
| Default | DEV,TEST,PROD |
The environment labels available for version tracking. Customize to match your workflow.
ENVIRONMENTS=DEV,STAGING,PREPROD,PROD
DEFAULT_ENVIRONMENT
| Property | Value |
|---|---|
| Section | [Environments] |
| Type | String |
| Default | DEV |
The environment pre-selected when backing up a project for the first time.
DEFAULT_ENVIRONMENT=DEV
5. Version History
| Version | Date | Changes |
|---|---|---|
| 1.0.0 | 2026-07 | Initial release |
VBA Backup Manager | DRYCAD Solutions | v1.0.0