Doneex Vbacompiler For Excel Site
1. What It Does
- Encrypts & compiles VBA code into a Windows DLL.
- Removes source code from the workbook (users can’t see or edit VBA).
- The DLL is called by Excel at runtime — functionality remains identical.
The Business Consequences
- Intellectual Property Theft: Your proprietary algorithms, pricing logic, or forecasting models become public.
- Loss of Licensing Control: Without compilation, users can disable macros, edit code to bypass license checks, or share the unprotected file illegally.
- Accidental Breakage: Well-meaning users might open the VBA editor and inadvertently modify a line of code, breaking the entire application.
In summary, standard VBA protection is security theater. It creates a false sense of safety but offers no real defense. This is where the DoneEx VbaCompiler for Excel changes the game.
Part 6: Step-by-Step Guide – How to Compile Your First Project
Assuming you have purchased and installed DoneEx VbaCompiler for Excel (it integrates as an Excel add-in), follow these steps.
Prerequisites:
- Windows OS (32-bit or 64-bit – but note VBA is 32-bit, so DLLs are 32-bit).
- Microsoft Excel 2007, 2010, 2013, 2016, 2019, 365 (32-bit version recommended for compatibility).
- Your VBA project should be bug-free and fully tested.
Step-by-Step:
- Open your source workbook – the one containing all VBA code, forms, and modules.
- Back up your original file. Compilation is irreversible for that copy.
- Click the DoneEx Ribbon Tab – A new ribbon group labeled “VbaCompiler” appears after installation.
- Click “Compiler Settings” – Choose options like:
- DLL name and destination folder.
- Enable trial period (e.g., expires after 30 days).
- Add license key validation.
- Obfuscate exported function names.
- Click “Compile Project” – The tool analyzes your VBA. Warnings may appear for unsupported features (rare, but e.g.,
ExecuteExcel4Macrois limited). - Test the output – The compiler creates a new folder containing:
- Your DLL (e.g.,
MyProject.dll) - A stub Excel file (e.g.,
MyProject_compiled.xlsm) - A log file.
- Your DLL (e.g.,
- Open the stub file – Test every feature. Because calls now pass through the DLL, any error handling must be robust in your original code.
- Distribute – Send both the DLL and stub file to your users. They must keep the DLL in the same folder or register it (rarely needed).
Pro Tip: Use the “Embed DLL” option if available in your version. This embeds the DLL directly inside the stub workbook, so you only distribute a single file. DoneEx VbaCompiler for Excel
Case Study A: Financial Risk Consultancy
A London-based risk firm built a Monte Carlo simulation in VBA. Clients demanded the tool, but sharing the .xlsm meant exposing their proprietary probability models. After using DoneEx, they distributed a compiled version. A former client later hired a developer to reverse-engineer the DLL—after two weeks of failed attempts, they gave up. The firm’s IP remained intact.
The Problem with Standard VBA Protection
Let’s be honest: The standard “Lock Project for Viewing” feature is useless. There are dozens of tutorials on YouTube showing how to break that password in under 60 seconds. Encrypts & compiles VBA code into a Windows DLL
You have two problems:
- Intellectual Property Theft: Clients or competitors reverse-engineering your formulas.
- Tampering: Users accidentally (or intentionally) breaking the logic you painstakingly debugged.
32-Bit Only
VBA itself is a 32-bit technology. DoneEx compiles to 32-bit DLLs. On 64-bit Excel, you must run in compatibility mode or use the 32-bit version of Office. This is a Microsoft limitation, not a DoneEx flaw. The Business Consequences
How It Works
- Import: You open your Excel file (
.xlsm,.xlsb, etc.) within the DoneEx VbaCompiler interface. - Configure: You select which VBA modules and forms you want to compile. You can also define licensing parameters.
- Compile: The software compiles the VBA source code into a DLL file.
- Replace: The tool replaces the original VBA source code in the Excel file with external function calls that link to the new DLL.
- Distribution: You distribute both the modified Excel file and the DLL file to your users.
Source Code Exposure
Any user with moderate technical knowledge can:
- Open the Excel file with a hex editor.
- Use VBA password bypass scripts (freely available on GitHub).
- Extract, view, copy, or modify the complete source code.
Step 1: Analysis and Parsing
The DoneEx software scans your VBA project, analyzing all modules, forms, class structures, function dependencies, and global variables. It checks for syntax errors or unsupported VBA constructs (very rare, but the compiler is highly compatible with native VBA 6/7).
