Skip to main content

Frequently Asked Questions

Find answers to common questions about VBA Padlock.

General

What is VBA Padlock?

VBA Padlock is a compiler and protection system for Microsoft Office VBA code. It compiles your VBA macros from Excel, Word, Access, and PowerPoint into native 32-bit and 64-bit DLLs with integrated licensing and activation systems. Your procedures are removed from the protected Office file and replaced by generated wrappers that call into the DLL, so the file you ship no longer carries the logic you wrote, and you can sell your VBA applications commercially.

Which Office applications does VBA Padlock support?

VBA Padlock supports all major Microsoft Office applications: Excel (workbooks and .xlam add-ins), Word (documents and templates), Access (databases), and PowerPoint (presentations and add-ins). Your compiled VBA code retains full access to each application's COM object model, so all existing functionality is preserved.

How does VBA Padlock protect my code?

VBA Padlock compiles your VBA source code into native DLLs (both 32-bit and 64-bit). The original VBA code is transformed into compiled bytecode that cannot be decompiled back to the original source. The compiled DLLs also carry built-in integrity checks that detect any tampering attempt, and the 32-bit and 64-bit runtimes are Authenticode-signed by G.D.G. Software. Your procedures are removed from the protected copy of your Office file. What remains is what Office has to be able to call there: UserForms, document modules, event handlers, the generated wrappers, and the VBA bridge module, none of which carry your logic.

Do my end users need VBA Padlock installed?

No. End users only need Microsoft Office installed on their computer. The compiled DLLs and a small VBA bridge module are all that's needed to run your protected code. VBA Padlock is only required on the developer's machine for compilation.

What is the difference between VBA Padlock and VBA project password protection?

VBA project password protection only hides your code inside the VBA editor - it can be bypassed in seconds with freely available tools. VBA Padlock takes a fundamentally different approach: it compiles your procedures into a native DLL and removes them from the Office file, leaving generated wrappers that call into the DLL. There is no password to remove, and what stays visible in the VBA editor is the scaffolding Office has to run there - forms, document modules, and those wrappers - not the algorithms you wrote. The Protection Review tells you exactly which of your code moved and which stayed, before you ship.

Does VBA Padlock work with Excel add-ins (.xlam)?

Yes. VBA Padlock fully supports .xlam add-in files. You can compile the VBA code from your add-in into a protected DLL, distribute the .xlam alongside the bin/ folder containing your DLLs, and your add-in will work exactly as before - with the added benefit of full code protection and optional licensing. See the Protect an Excel Workbook guide for a step-by-step tutorial.

Can I protect existing VBA projects?

Yes - that is the standard workflow. Open your existing Office file and VBA Padlock extracts and analyzes your macros automatically, procedure by procedure. The Protection Review shows what moves into the compiled DLL, and Produce writes a protected copy with generated wrappers, so your buttons, events, and formulas keep working unchanged. No code rewriting or copy-pasting is needed.

Is there a Mac version of VBA Padlock?

VBA Padlock is currently available for Windows only. Since VBA Padlock produces native Windows DLLs that integrate with the Windows version of Microsoft Office, macOS is not supported. Mac users who need to run protected Office files can use solutions like Parallels Desktop or Boot Camp to run Windows and Office on their Mac.

Does G.D.G. Software have access to my VBA code or data?

Absolutely not. VBA Padlock operates entirely on your local machine. Your VBA source code, Office files, and compiled DLLs are never uploaded or transmitted to our servers. G.D.G. Software has zero access to your code or data unless you explicitly share files with support for troubleshooting purposes.

Is there any documentation or user guide?

Yes. Comprehensive documentation is available online at vbapadlock.com/doc, covering installation, tutorials, feature guides, API reference, and context-sensitive help for every dialog in the IDE. You can also access the help directly from within VBA Padlock Studio using the Help button in each dialog.

Licensing & Activation

What license types can I create for my end users?

VBA Padlock supports four license types: Full (permanent access), Trial (time-limited or launch-limited evaluation), Subscription (renewable, date-based), and Time-limited (fixed expiration date). Each type can be combined with hardware locking to tie the license to a specific computer.

How does hardware locking work?

Hardware locking binds a license to a specific computer using a unique Hardware ID derived from the machine's hardware components. When you generate an activation key for a specific Hardware ID, it will only work on that computer - preventing unauthorized sharing of license keys. You can configure which hardware components contribute to the ID.

Can my users transfer their license to another computer?

Yes. VBA Padlock includes a built-in deactivation feature that lets users release their license on one machine and reactivate it on another. This can be done through the built-in deactivation dialog or automatically via the online deactivation API if you have set up the online activation server.

How does online activation work?

VBA Padlock includes a complete PHP activation server kit that you deploy on your own web server. When end users activate your software, the application sends the Hardware ID to your server, which validates the license key and returns a hardware-locked activation key - all fully automatic. The kit supports activation, deactivation, and license validation over HTTPS.

Can I use VBA Padlock without licensing, just for code protection?

Yes. The licensing system is entirely optional. If you only want to protect your VBA source code from being viewed or copied, you can compile your project without enabling any licensing features. Your code will be fully protected in a DLL, and end users can run it freely without activation.

What happens when a trial license expires?

When a trial expires, the protected functions stop executing and return an error code indicating the trial has ended. You can configure a nag screen that displays the remaining days or launches, and guide the user to purchase a full license. Moving from trial to full license takes no new build and no reinstall: the user enters a valid activation key and the protected functions run again.

How are license keys secured against forgery?

VBA Padlock offers two key formats. Short keys use strong cryptographic signatures for compact, easy-to-type keys. Long keys use ECC Ed25519 asymmetric digital signatures, making them mathematically impossible to forge without the private key. In both cases, keys are project-specific and cannot be reused across different applications.

Technical

What are the system requirements?

For development: Windows 7 SP1 or later. For end users: Windows 7 SP1 or later with Microsoft Office 2016 or later, including Microsoft 365 desktop apps (both 32-bit and 64-bit editions are fully supported). VBA Padlock is a native Windows application - no .NET Framework, Java, or other runtime is required.

How do I integrate the compiled DLL with my Office file?

You don't have to - Produce does it for you. It injects generated wrapper procedures (same names and signatures as your originals) and the VBA bridge module into the protected copy of your file, so existing buttons, events, and formulas keep working. The bridge handles loading the correct DLL (32-bit or 64-bit) based on the running Office version. No manual DLL declaration is needed.

Does the compilation change how my VBA code works?

No. Your compiled VBA code runs with full access to the Office application's COM object model, just like regular VBA. You can read and write cells, manipulate documents, query databases, and use all standard VBA functions. The only difference is that your code runs from a secure DLL instead of the VBA editor.

Can I include multiple VBA modules in a single DLL?

Yes. VBA Padlock Studio includes a Project Explorer that lets you organize your code across multiple standard and class modules within a single project. All modules are compiled into one DLL. You call functions from a specific module using the "ModuleName|FunctionName" syntax, or call functions in the default Main module directly by name.

Does VBA Padlock support both 32-bit and 64-bit Office?

Yes. Every compilation produces both a 32-bit and a 64-bit runtime DLL automatically. The VBA bridge detects which Office version is running and loads the appropriate DLL at runtime. Your end users don't need to know or care which Office bitness they have - it just works.

What files do I need to distribute to my end users?

You distribute the protected copy of your Office file produced by VBA Padlock and a bin/ folder containing three DLLs: the 32-bit runtime, the 64-bit runtime, and the satellite DLL with your compiled code. VBA Padlock can automatically create a ready-to-ship ZIP archive or copy everything to a distribution folder with the correct structure.

Can I test and debug my compiled code?

Yes, at two levels. Test Run (Ctrl+F5) produces the protected file and opens it straight in Office - the fastest way to check the real thing. And the Run DLL Function dialog executes any compiled function directly from the IDE without opening Office: pass test parameters, inspect return values, and iterate quickly with hot reload.

Are all VBA functions supported in compiled scripts?

VBA Padlock includes a comprehensive extension library with 80+ built-in functions covering strings, math, dates, file I/O, arrays, and more. Your compiled code also has full access to the host Office application's COM object model, so you can call Excel, Word, Access, or PowerPoint APIs exactly as you would from the VBA editor.

Can I send protected Office files by email?

The Office file itself (e.g., .xlsm, .docm) can be sent by email, but the DLL files in the bin/ folder may be blocked by email filters and antivirus software. We recommend distributing your protected application as a ZIP archive or using a file hosting service, cloud storage, or an installer instead. VBA Padlock's built-in Distribution tool can create a ready-to-ship ZIP for you.

Will antivirus software flag my compiled DLLs?

The runtime DLLs are digitally signed by G.D.G. Software with an Authenticode certificate, which helps antivirus software and Windows SmartScreen recognize them as legitimate. In rare cases, some overly aggressive antivirus programs may flag unfamiliar DLLs. If this happens, you can submit the file to the antivirus vendor for whitelisting - the digital signature helps expedite this process.

Pricing

What does the license include?

The Standard License (€129.95) is a lifetime, perpetual license that never expires for your purchased version. It includes all Office applications (Excel, Word, Access, PowerPoint), 32-bit and 64-bit compilation to native DLLs with your VBA source removed from the shipped file, the complete licensing system with hardware locking, built-in key generator, EULA management, 2 simultaneous activations, a 12-month maintenance, and a free PHP activation server kit as a bonus.

How do I purchase VBA Padlock?

You can purchase online through our resellers FastSpring or Paddle. After placing your order, you instantly receive license instructions (on the website and by email), and your license is automatically added to your G.D.G. Software account. If you don't have an account yet, one is created for you - just set a password on your first login. Wire transfer, SEPA, purchase order, money order, and check payments are also available through FastSpring or by contacting us directly.

What is the maintenance plan?

Your first 12 months of maintenance are included with the license. An active maintenance gives you free minor and major upgrades, access to latest versions and registered-user downloads (key generators, PHP SDK, activation kit), priority free basic technical support via email and forum, and important discounts for renewal. Renew before expiration and get a 50% discount. If you let your maintenance expire, upgrades cost 25% of the current license price. Your purchased version always continues to work, even without active maintenance.

Is there a free trial?

Yes. The Trial edition is a full-featured release - all capabilities available in the registered software are present, so you can try every feature and verify VBA Padlock works for your use case. The only differences: applications compiled with the Trial edition display a nag message at startup and have an automatic expiration date. Buy a license to remove those restrictions. The Trial edition itself does not expire - only the applications you build with it do. Note: you are not allowed to distribute applications made with the Trial edition.

Are there any discounts available?

If you plan to purchase several licenses, contact us for possible volume discounts.

Are there any per-user or royalty fees for my end users?

No. There are no hidden costs, no per-seat fees, and no royalties. You buy a license of VBA Padlock for yourself and you can then distribute your compiled DLLs to any number of end users according to the license agreement terms. No extra fee is required for end users.

How many computers can I install VBA Padlock on?

The Standard License is a Named User license that allows 2 simultaneous activations, so you can install VBA Padlock on two computers (for example, a desktop and a laptop) provided you are the only person using the license. A built-in deactivation facility lets you transfer your license from one computer to another. If you need more activations, contact us.

Is it a one-time fee or a recurring subscription?

VBA Padlock is a one-time perpetual license - you pay once and your activation code will always work with the version you purchased. The first year of maintenance (upgrades and support) is included. After that, maintenance renewal is optional: your existing version continues to work indefinitely even without renewal. Future versions may require an updated activation that is effective only if you have an active maintenance.

I lost my activation code. What can I do?

You can retrieve your activation code by logging into your G.D.G. Software account. Your license is automatically added to your account at purchase. If you no longer have access to your account, contact support with your purchase details (order number, email used for purchase) and we will help you recover your license information.

Do you have a refund policy?

Yes. Please refer to our refund policy for complete details. We strongly recommend downloading and evaluating the free Trial edition before purchasing - it includes all features so you can verify everything works for your use case.

What happens if G.D.G. Software goes out of business?

In the unlikely event that G.D.G. Software ceases operations, we are committed to releasing an offline activation mechanism that would allow all licensed users to continue activating and using the software on any computer indefinitely.

Still have questions?

Contact Us