You can find some VBA obfuscators on the market, but obfuscation does not hide the logic of your VBA code.

XLS Padlock goes further: it lets you remove VBA code from your workbook, while keeping the latter functional! This is possible thanks to the integrated VBA compiler of XLS Padlock.

The XLS Padlock’s VBA compiler turns parts of your VBA code into byte-code that can only be executed inside the secure application. Thus, if someone manages to gain access to the VBA code stored in your protected workbook as explained here, they won’t see the entire original code, because some parts are simply missing: the equivalent byte-code generated by the VBA compiler is stored in the EXE shell.

On the screenshot below, the calculate() macro had original secret VBA code. We moved that entire sub code into the XLS Padlock VBA compiler. Now, in our compiled workbook, the calculate() macro just tells Excel to run the compiled bytecode thanks to a special internal macro provided by XLS Padlock (CallXLSPadlockVBA).

Thus, nobody can guess what was inside the calculate macro! The original VBA code does not exist in the workbook anymore. It’s no more VBA code: it is bytecode that can’t be copied to another Excel workbook. That’s a real protection!

The counterpart is that you must manually transfer parts of VBA code you want to protect into a special VBA editor provided by XLS Padlock, as described in this manual §9 below.

The best way is to break your code into parts, and the most important parts (the ones you want to keep secret) should be compiled into bytecode to prevent your customers from copying them.

So, you don’t have to move your entire VBA project to the VBA compiler. Only parts of code that should make your Excel workbook non-functional if they are missing.

Learn more about how to work with our VBA compiler

Protect your formulas with XLS Padlock’s formula protection