VBA BACKUP MANAGER - DOCUMENTATION

VBA Backup Manager

Backup, version, and promote VBA projects across DEV, TEST, and PROD environments with integrated Git and Azure DevOps push.

VBA Backup Manager | User Documentation | v1.0.0


Table of Contents

  1. Overview
  2. Getting Started
  3. User Interface
  4. Configuration: settings.ini
  5. Version History

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:

ColumnDescription
VersionAuto-incremented version number
DateTimestamp of the backup
CommentUser-provided note explaining the backup purpose
EnvironmentDEV, TEST, or PROD label
SizeBackup size in KB

Actions available per backup:

ActionDescription
LoadRestore the selected backup content into the active project
PromoteCopy the backup to the next environment (e.g. DEV → TEST)
ReleaseTag 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

PropertyValue
Section[General]
TypeBoolean (0 / 1)
Default1

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

PropertyValue
Section[General]
TypeBoolean (0 / 1)
Default0

When set to 1, the application starts minimized to the system tray.

STARTUP_MINIMIZED=0

DEFAULT_BACKUP_PATH

PropertyValue
Section[Backup]
TypeString
DefaultC:\VBABackups

The root directory where backup files are stored. Each project gets its own subdirectory.

DEFAULT_BACKUP_PATH=D:\Backups\VBA

COMPRESS_BACKUPS

PropertyValue
Section[Backup]
TypeBoolean (0 / 1)
Default1

When set to 1, backups are compressed to save disk space. Disable for faster individual backup operations.

COMPRESS_BACKUPS=1

MAX_BACKUPS_PER_PROJECT

PropertyValue
Section[Backup]
TypeInteger
Default50

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

PropertyValue
Section[Git]
TypeString
RequiredOnly 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

PropertyValue
Section[Git]
TypeString
Defaultmain

The Git branch that release versions are pushed to.

DEFAULT_RELEASE_BRANCH=release

COMMIT_MESSAGE_TEMPLATE

PropertyValue
Section[Git]
TypeString
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

PropertyValue
Section[Environments]
TypeComma-separated list
DefaultDEV,TEST,PROD

The environment labels available for version tracking. Customize to match your workflow.

ENVIRONMENTS=DEV,STAGING,PREPROD,PROD

DEFAULT_ENVIRONMENT

PropertyValue
Section[Environments]
TypeString
DefaultDEV

The environment pre-selected when backing up a project for the first time.

DEFAULT_ENVIRONMENT=DEV

5. Version History

VersionDateChanges
1.0.02026-07Initial release

VBA Backup Manager | DRYCAD Solutions | v1.0.0