Since upgrading to Office 2013 or higher installing the Smart Indenter addin will fail. This article will explain how to install it so it will work regardless of the Office version installed.
One of the most useful tools in the VBA\VB Classic developers arsenal is Office Automation Ltd’s Smart Indenter
. This extremely powerful, yet small, lightweight and free
VBE COM addin, is a must(!) for any serious VBA\VB Classic developer. Using it you can with the click of a button properly indent your code to improve the code legibility and standardization. It offers numerous customizable options to suit your habits and personal taste.
Unfortunately, it cannot be installed properly with MS Office version 2013 and higher. Inspecting the addin's install log will show where the error occurred:
Could not Self-Register: C:\PROGRA~2\OFFICE~1\SMARTI~1\VBA6\INDENT~1.DLL
This issue occurs because the Smart Indenter addin was built in VB6 and interfaces with the latest version (18.104.22.168) of a dll file (msaddndr.dll) which was discontinued by Microsoft and therefore is no longer installed with MS Office.
The solution is to manually copy msaddndr.dll to your computer before installing Smart Indenter.
Delete the msaddndr.dll file from the following location:
In a 32-bit version of an operating system:
In a 64-bit version of an operating system:
Copy the msaddndr.dll file to the aforementioned location.
You can copy msaddndr.dll from an old system or download it from www.dll-downloader.net
The addin can no longer be downloaded from the developers website. Therefore the author of this article has uploaded it to Google Drive. The addin, dll and this article can be downloaded from here
Some users have reported that installing Mz-Tools before installing Smart Indenter solved the problem, while others reported that it made no difference.
Investigating these reports, it seems that installing Mz-Tools will only solve the problem if msaddndr.dll does not exist on the system. The explanation for this is that Mz-Tools will only copy the msaddndr.dll file if it doesn't exist, but if an earlier version does exist it won't be over-written. Since Smart Indenter needs the last version of msaddndr.dll (22.214.171.124) it won't work.
The free version (3.0) of Mz-Tools is lo longer available from their website, but can be downloaded from Google Drive
The author of this article has no vested interest in Smart Indenter or Mz-Tools. Smart Indenter is freeware which is no longer supported by its developer due to his retirement back in 2005. Mz-Tools version 3.0 is freeware but is no longer available from their website. This article was written after its author finally figured out how to properly install the addin after struggling with it for quite some time.