Sept 2010: v2 of VBA Global Error Handler is now available vbWatchdog (no DLLs!)


SimplyVBA Global Error Handler enhances the Visual Basic for Applications development environment by giving you a unique and innovative way of handling errors in your VBA based applications.

Similarly, SimplyVB6 Global Error Handler enhances the Visual Basic 6 development environment by giving you a unique and innovative way of handling errors in your VB6 based applications.

These products provide you with some of the most sought after features that VBA and VB6 developers have been crying out for, for many years.

Both products are designed as a simple to use .DLL library that let you designate a subroutine that will get called whenever an exception occurs in your application.  In other words, you are setting up a callback routine that intercepts every single exception that might occur - this gives you a neat opportunity to log errors to a file or database table for example - or to provide your own professional dialog to replace the dated VBE6 error dialog.

Not only that, but from within your defined callback routine you can now:

  • Determine the name of the procedure where the error occurred
  • Determine the name of the module where that procedure resides
  • Determine the name of the VBA Project where the procedure resides (for when using library VBA projects)
  • Iterate through the call stack, determining the name of the procedure & module of each nested call - this let's you work out the exact route that the VBA code took to cause the error
  • Determine the debug line number which is derived from the underlying compiled PCode
  • Also: (VBA only) VariablesInspector for reading the values of, and enumerating through the local variables in the procedure that caused the error. Also available for all procedures in the call stack!

Furthermore, we've even made creating professional customized error dialogs easier by giving you a fully customizable Vista-style error dialog API.

For Microsoft® Access applications running in the Access runtime environment, the benefits go even further.  In this scenario the SimplyVBA Global Error Handler gives you an opportunity to have an error dialog for unhandled errors - something which is completely lacking in this environment.  ALL features of the software work equally for all Access database environments - even compiled MDEs / ACCDEs and the runtime environment!

At every stage SimplyVBA Global Error Handler (and SimplyVB6 Global Error Handler) gives you complete control on handling the error from within your callback routine.

Take control of your applications error handling like never before.


We've tried to make the licensing of the product very simple:

  • (VBA edition only) The DEVELOPER EDITION of the product is available FREE OF CHARGE. This is a fully functional edition allowing you to evaluate the features, with only one exception: this edition of the DLL will not let you read the values from the VariablesInspector. This license does not permit redistribution of the .DLL library file. You are not allowed to use this edition of the .DLL for commercial purposes.
  • the DISTRIBUTABLE EDITION of the product is available for a one off fee.  The cost of which is dependant on the number of end-users that use your applications. This license allows you to distribute the included DLL file to clients freely and even integrate the installation into a custom install routine. This is a one-off charge.

Full licensing information: License & Download   Pricing & Purchasing

Requirements (SimplyVBA Global Error Handler)

Any VBA6 or VBA7 enabled host application. (Microsoft Access 2000+, Microsoft Excel 2000+, Office 2010 etc)

ALL environments supported - including: MDBs, MDEs, ADPs, ADEs, ACCDBs, ACCDEs and all 'runtime' environments.

Requirements (SimplyVB6 Global Error Handler)

Your VB6 project must be compiled to P-code format. This is a simple option in the Project > Properties of the VB6 project.

ALL environments supported - including: EXEs, DLLs, AddIns, etc.

Getting started

The table of contents at the top right corner of this webpage is the best place to start.

The first four QuickStart pages are a must read if you are new to the Global Error Handler.

However, if you're an advanced VBA/VB6 developer then you might just want to head over to the Sample application page.