Troubleshooting
Fix the most common issues quickly. Open Troubleshooting →
Find quick answers to the most common questions about VBA Padlock: compatibility, compilation, licensing, distribution, and security.

VBA Padlock is a development tool that compiles your VBA source code into protected DLLs. Your Office applications (Excel, Word, Access, PowerPoint) call the compiled functions through a VBA Bridge module, keeping your business logic hidden and tamper-resistant.
VBA Padlock supports:
.xlsm, .xlsb, .xlam.docm, .dotm.accdb.pptm, .ppamThe free evaluation version includes all features of VBA Padlock but adds a notification screen when your protected VBA code runs.
Important: DLLs compiled with the evaluation version automatically expire after a few days. These DLLs are intended only for local testing and evaluation on your machine; they are not permitted for distribution. To create permanent, distributable DLLs, you must purchase a license.
No. VBA Padlock is a native Windows application with no external runtime dependencies. The compiled DLLs also do not require .NET.
Yes. VBA Padlock produces two runtime DLLs (32-bit and 64-bit). The VBA Bridge automatically loads the correct one based on the Office architecture. No configuration is needed.
Native Office ARM is not supported for now. However, on Windows ARM devices (e.g., Surface Pro 11, Surface Laptop 7, or Snapdragon X Elite models), we recommend installing Office 64-bit. It runs via Microsoft’s Prism emulation layer, which allows VBA Padlock’s x64 DLLs to function perfectly.

VBA Padlock compiles standard VBA modules (.bas files). Compiled scripts have access to 60+ built-in functions for license checks, hashing, date/time calculations, and more. See VBA Compatibility for supported features and limitations.
Yes. Compiled scripts have full access to the host Office application through the Application object. You can read and write cell values, manipulate documents, create slides, query databases, and use CreateObject() for COM objects — just like regular VBA. See VBA Compatibility for details and examples.
VBAPL_Execute supports any number of parameters — there is no limit. Internally, calls with 0 to 4 arguments use optimized DLL exports, and calls with 5 or more arguments are automatically packed into an array. This is handled transparently by the VBA Bridge.
The Messages panel shows the error location and description. Fix the error in the Code Editor and press F5 to recompile. You can also use the Test Runner to verify individual functions.


VBA Padlock can require a license key before your compiled functions execute. You configure activation in the Licensing Features tab and generate keys with the Key Generator. See Licensing System for a full overview.
Yes. You can create trial keys with time limits (e.g., 30 days), run limits, or expiration dates. A nag screen reminds users to purchase during the trial. See Trial Mode.
Hardware locking ties a license key to a specific computer using a Hardware ID derived from hardware components (CPU, hard drive, etc.). This prevents key sharing. See Hardware Locking.
Yes, through deactivation. The user deactivates on the old machine (online or manually), and you issue a new key for the new machine. With online activation, this process is fully automated.
Run-limited trials require the Long format.


Your distribution must include the Office file and the bin/ directory with three DLLs:
MyWorkbook.xlsmbin\├── MyWorkbookrun32.dll├── MyWorkbookrun64.dll└── MyWorkbook.dllUse the Distribution dialog to package files automatically.
The runtime DLLs are signed by G.D.G. Software using Authenticode certificates. Windows SmartScreen and antivirus software recognize them as legitimate. The satellite DLL is not Authenticode-signed by G.D.G. Software but is integrity-verified by an internal cryptographic signature. You can optionally sign it with your own Authenticode certificate.
Yes. The Create Installer dialog generates installer scripts using Paquet Builder.


VBA Padlock applies multiple defense layers: compilation into bytecode, digital signatures, anti-debugging, and integrity checks. No protection is unbreakable, but VBA Padlock raises the difficulty of reverse engineering significantly. See Security.
This is a false positive caused by protection patterns. VBA Padlock runtime DLLs are digitally signed by G.D.G. Software. Submit the DLL to your antivirus vendor for whitelisting, or add the bin/ directory to your exclusion list.
The Security Code is a unique identifier that links your Office file to the compiled DLL. It prevents someone from substituting a DLL from a different project. You configure it in Project Info.

Only if you want automated online activation. You can also generate and distribute keys manually using the Key Generator. If you do want a server, VBA Padlock provides a PHP activation kit. See Deploy the Activation Server.
mod_rewriteYes. If online activation fails or is not available, users can use manual activation. They provide their Hardware ID, and you generate a key for them. See Key Generation guide.

Troubleshooting
Fix the most common issues quickly. Open Troubleshooting →
UI Reference
Browse every dialog and option in detail. Open UI Reference →
Support
Need direct help from our team? Contact support →