Skip to content

Frequently Asked Questions

Find quick answers to the most common questions about VBA Padlock: compatibility, compilation, licensing, distribution, and security.

VBA Padlock Studio Welcome Screen

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:

  • Excel.xlsm, .xlsb, .xlam
  • Word.docm, .dotm
  • Access.accdb
  • PowerPoint.pptm, .ppam

What are the limitations of the evaluation version?

Section titled “What are the limitations of the evaluation version?”

The 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.

Does it work with both 32-bit and 64-bit Office?

Section titled “Does it work with both 32-bit and 64-bit Office?”

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.

Does VBA Padlock support Windows ARM or Office ARM?

Section titled “Does VBA Padlock support Windows ARM or Office ARM?”

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.


Successful compilation message and build logs

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.

Can I use Office objects (Worksheets, Ranges, Documents) inside compiled scripts?

Section titled “Can I use Office objects (Worksheets, Ranges, Documents) inside compiled scripts?”

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.

How many parameters can a function accept?

Section titled “How many parameters can a function accept?”

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.

What happens if my script has a compilation error?

Section titled “What happens if my script has a compilation error?”

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 Studio Test Runner dialog for debugging functions


VBA Padlock Studio Activation Settings and licensing options

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.

Can users transfer their license to a new computer?

Section titled “Can users transfer their license to a new computer?”

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.

  • HMAC-based and easy to type manually.
  • Supports expiration dates, trial days, and hardware locking.
  • Best for simple activation workflows and lower support friction.

Run-limited trials require the Long format.

VBA Padlock Studio Activation Key Generator dialog


Distribution options and packaging settings

Your distribution must include the Office file and the bin/ directory with three DLLs:

MyWorkbook.xlsm
bin\
├── MyWorkbookrun32.dll
├── MyWorkbookrun64.dll
└── MyWorkbook.dll

Use 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.

Can I create an installer for my application?

Section titled “Can I create an installer for my application?”

Yes. The Create Installer dialog generates installer scripts using Paquet Builder.

Create Installer dialog in VBA Padlock Studio


The VBA bytecode compilation and execution schema

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.

My antivirus flags the DLL as suspicious. Is it safe?

Section titled “My antivirus flags the DLL as suspicious. Is it safe?”

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.


VBA Padlock Studio Online Activation settings for server-based licensing

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.

  • PHP 8.1+
  • MySQL / MariaDB
  • Apache with mod_rewrite
  • Composer (for PHP dependencies)
  • HTTPS (SSL certificate required)

Yes. 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.

Activation dialog showing the Hardware ID that the customer sends you