Products that convert Excel workbooks into executables (.exe) most often limit Excel's functionality, depend on runtime DLLs and may trigger anti-virus warnings when executable files are distributed. Needless to say that executables cannot be loaded as native Excel VBA add-ins.
VBA obfuscation is a set of techniques that hide the intent of an Excel VBA program without changing its runtime behavior. It is difficult to obfuscate complex VBA programs without breaking them. In addition, visible obfuscated source code can reveal valuable bits and pieces of information to a potential attacker.
Compiled VBA Code Is Secure
Our Secure++ VBA windows application (written in Delphi) can convert macro-enabled workbooks or add-ins along the sames lines of an Access MDE/ACCDE file. However, our solution doesn't alter file extensions (.xlam, .xlsm, .xlsb, pptm, ppam). Secure++ files are normal OpenXML containers, which contain compiled VBA code only.
We believe that compiled VBA code is as secure as a Visual Basic 6 compiled DLL. If your VBA application runs in Office 64-bit, so will its Secure++ version (VB6 cannot run under Office 64-bit)
Simply put, I love the Secure++ VBA application! I have used it several times to protect VBA code in my addin files (.xlam). I work for a non-profit organization in their headquarters and my daily duties involve computation and calculation of complex financial analysis.
Advantages And Disadvantages Of Secure++ Files
- File size is slightly reduced as VBA code is purged from workbooks and add-ins
- Secure++ files can run in both Office 32/64-bit
- Use of password breakers, hex editors or any other hacking tool will simply corrupt your workbook or add-in, instead or recovering any readable macros.
- VBA projects are locked in an unviewable state, as code editing is impossible. The Debug button is shown a disabled state in unhandled runtime errors.
- Macros are neither visible, nor can be launched from the Macro name box (Developer tab/Macros). Public macros cannot be run using shortcut keys e.g. Ctrl-D
- Code debugging is not possible in VBE, as VBA code cannot be shown. Please ensure that your application is thoroughly debugged and uses robust error handling routines. Automation errors cannot be trapped in a compiled application.
- A secure++ workbook (ThisWorkbook) cannot be saved. We are all aware that data cannot be saved at runtime inside DLLs. To be fair, we should not expect data to be saved inside a normal Office file that has been compiled. Do not use ThisWorkbook.Save or a Before_Save event.
- Macro-enabled workbooks (xlsm) locked with Secure++ cannot be saved.
- Only early-bound objects can be used in a secure++ files, because they allow the compiler to make important optimizations that yield more efficient applications. Please ensure that all libraries used are referenced. Read about Early vs Late binding here [1,2,3]
- Use Workbooks.Open with an early-bound instantiated application object
Dim objExcel as Excel.Application
Set objExcel = New Excel.Application
- Due to the early bounding requirement, currently, Secure++ workbooks and add-ins can only be used with the PC and Office / Excel version that the files were compiled with.
Who Can Use Secure++ Compiled Excel Workbooks Or Add-ins
- Developers who can compile their source applications in a client's PC, either remotely or on site. A secure++ file has no VBA code anymore. No installation is required and there are no dependencies on libraries.
- Companies that would like to protect their intellectual property from employees or online intruders, who may copy business applications. Secure++ compiled native Excel add-ins will work without dependencies on target PC's only.
If an add-in is stolen by an online hacker or copied to another PC by an insider, it simply won't work away from its host PC. It has no VBA, just compiled code, like Visual Basic 6 compiled DLLs. It is impossible to recover readable VBA code from Secure++ files by design, no matter what hacking tool is used.
How To Convert An Excel Or PowerPoint File Using Secure++ VBA
 Save the file immediately, if compilation is successful. If not, correct errors and repeat step 
 Quit Excel and run the Secure++ Delphi application
 Open and convert the file (workbook, addin, presentation etc) you want to secure.
An error will be shown, if a file is run in any other PC or by another user in the same PC or in a different Excel version other than the one used for VBA project compilation. You need to convert your macro-enabled source code files again, after upgrading your Windows and/or Office version.
Read the full article: Announcing the Office 2016 preview
"...Macros and Add-ins—We’re not making any changes to Macros or Add-ins in this release. It’s rare that “no changes” is a something we’d want to highlight, but we think it’s worth celebrating the consistency in the programming model across releases. We understand how important this is and we’re committed to a high level of compatibility as we continue to innovate...."
Standalone Perpetual Licenses
Secure++ VBA (written in Embarcadero Delphi) is also available as a standalone portable windows application with perpetual licenses shown below, which can be branded with your logo (instead of ours) in the About form. Branded applications are are intended for enterprise internal use only [not for resale]. For more info, please contact us
All software updates are FREE for customers who buy standalone perpetual licenses.
Since the Delphi windows application is portable, all sales are final. No refunds are being offered for perpetual licenses or source code. Please use the fully functional, FREE SaaS version of Secure++ VBA bundled with the Ribbon Commander framework for evaluation purposes. If you are an existing Ribbon Commander paid subscriber, please contact us before buying a Secure++ VBA perpetual license to receive a discount coupon.
Publisher: Spreadsheet1.com - Esoteric Consulting Ltd, United Kingdom
Product URL: http://www.spreadsheet1.com/secure-vba-compiler-for-microsoft-office-excel.html
Software category: Microsoft Office 2007 or later
Operating system: Windows 7 or later
Date first published: March 2015
Latest version: 1.1 beta
Are you just interested in making VBA unviewable? Please read about our Unviewable+ VBA Project