Excel VBA Security Software – VbaCompiler for Excel
VBA Compiler for Excel converts the VBA code of your Microsoft Excel workbooks and Excel add-ins into the binary code of a native Windows DLL file. After compilation your VBA code cannot be copied or recovered, which grants it the highest level of protection from any kind of attempt to steal it. VBA Compiler is the best alternative to the common VBA code security approaches, such as VBA code obfuscation or original Microsoft Excel VBA project password protection. The workbook or Excel add-in file that has been compiled by VBA Compiler keeps its original file extension and behaves the same way as the original file did before the compilation.
Main benefits of the VBA Compiler usage
- Absolutely Impenetrable VBA code protection. It is practically impossible to recover your VBA code from a Windows DLL file.
- It is impossible to find or trace the original VBA code after it has been compiled because it has been compiled to the Windows DLL.
- The original file, be it a Microsoft Excel workbook or an add-in, keeps it’s original file extension that it had before compilation.
- You do not need to have any knowledge of any other programming languages except for VBA—Visual Basic for Application—in order to successfully use the VBA Compiler.
- The VBA Compiler only works with a copy of the original file, so it keeps the original file untouched.
- The VBA code conversion during compilation happens automatically and doesn’t require any input or participation of any kind in the process.
- You do not need to select which VBA functions you need to compile – once you click on the “Compile” button all of the VBA code methods (procedures, functions and properties) will be compiled automatically.
How does the VBA Compiler work?
The DoneEx VbaCompiler transforms the source VBA code into C-code and, in the final stage, the C-language code is compiled into a native Windows DLL file.
During compilation the transformation of source VBA code goes through several stages.
Stage 1. VbaCompiler parses and analyses Visual Basic source code in VBA Project of workbook(.xls, xlsm, xlsb files) or Excel add-in (.xla or .xlam files).
Stage 2. The product generates object code based on results of stage 1.
Stage 3. The product generates C-language code from the object code generated in stage 2.
Stage 4. The VbaCompiler runs a C-compiler to compile the C-language code (which was generated in Stage 3) into a native Windows DLL.
Stage 5. The final stage of compilation – the VbaCompiler removes compiled VBA code from the file and generates connective VBA code where all compiled DLL functions are called instead of original VBA code.
The excerpt of the original VBA code before compilation
The Same VBA Code After Compilation With VBA Compiler
As you can see in this example, the content of the VBA function bodies is removed from the VBA module, moved to the compiled DLL file, and substituted by calls of DLL functions.