<

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x

Installing Smart Indenter in Office 2013-2016

Published on
11,232 Points
8,032 Views
2 Endorsements
Last Modified:
MacroShadow
A man of stark contrasts, love of nature, curiosity of technology and passion of helping my fellow man.
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.
Overview
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.

Summary
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

Open in new window


Cause
This issue occurs because the Smart Indenter addin was built in VB6 and interfaces with the latest version (6.1.98.16) of a dll file (msaddndr.dll) which was  discontinued by Microsoft and therefore is no longer installed with MS Office.


Solution


The solution is to manually copy msaddndr.dll to your computer before installing Smart Indenter.

1. Delete the msaddndr.dll file from the following location:

In a 32-bit version of an operating system:

%commonprogramfiles%\DESIGNER

In a 64-bit version of an operating system:

%commonprogramfiles(x86)%\DESIGNER

2. Copy the msaddndr.dll file to the aforementioned location.
3. Install IndenterVBA.exe
 

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.

Alternative Solution
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 (6.1.98.16) 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.

Disclaimer
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.
2
Author:MacroShadow
8 Comments
LVL 67

Expert Comment

by:Jim Horn
If you could add a paragraph painting a picture of what you just said then we'll be good.
0
LVL 67

Expert Comment

by:Jim Horn
Nicely written.  I'm currently in an Oracle shop that has a wompload of .xml, .sql, and Java files that are used to build a monster data warehouse where using a tool like this is very important for supporting code.  

Voted Yes.
0
LVL 2

Expert Comment

by:Chi Is Current
'Been a while,I know; however, I followed the procedures outlined above AND on referenced site - and find in the INSTALL.LOG for Smart Indenter DID show a successful 'self register'; however, 'Smart Indent' is not showing up in Access 2010 (VBA window -> Edit), on W7 64-bit machine.

Any Ideas???  ~  Thank you for your assistance ~ Jacob

***  Installation Started 12/06/17 13:28  ***
Title: Smart Indenter v3.5 for Office 2000-2003 Installation
Source: C:\Users\Jacob\Downloads\IndenterVBA.exe
File Copy: C:\Program Files (x86)\Office Automation\Smart Indenter\VBA6\UNWISE.EXE
RegDB Key: Software\Microsoft\Windows\CurrentVersion\Uninstall\Smart Indenter v3.5 for Office 2000-2003
RegDB Val: Smart Indenter v3.5 for Office 2000-2003
RegDB Name: DisplayName
RegDB Root: 2
RegDB Key: Software\Microsoft\Windows\CurrentVersion\Uninstall\Smart Indenter v3.5 for Office 2000-2003
RegDB Val: C:\PROGRA~2\OFFICE~1\SMARTI~1\VBA6\UNWISE.EXE C:\PROGRA~2\OFFICE~1\SMARTI~1\VBA6\INSTALL.LOG
RegDB Name: UninstallString
RegDB Root: 2
File Copy: C:\Program Files (x86)\Office Automation\Smart Indenter\VBA6\IndenterVBA.DLL
Self-Register: C:\PROGRA~2\OFFICE~1\SMARTI~1\VBA6\INDENT~1.DLL
0
Big Business Goals? Which KPIs Will Help You

The most successful MSPs rely on metrics – known as key performance indicators (KPIs) – for making informed decisions that help their businesses thrive, rather than just survive. This eBook provides an overview of the most important KPIs used by top MSPs.

Expert Comment

by:Marcos Romano
MZ Tools worked perfect for me ...
When trying to find the correct version of msaddndr.dll it was quite difficult.
Also installing VB6 SP2 means you should have vb6 installed on your machine which was not my case ...
0

Expert Comment

by:suscribir boletin
Gracias por este artículo que me ayudó enormemente a instalar nuevamente Smart Indenter, ya que lo tenía instalado en office 2003 con XP y hace unos meses (jajaja) me actualicé a W7 y sigo programando con Access 2003 (estoy grande para seguir aprendiendo) pero no conseguía hacer funcionar el Indenter.
Me daba error cuando el instalador pretendía registrar la dll. Así que me bajé la versión de la Dll que está incluida en el enlace de mas arriba y tampoco andaba.
Como tengo el XP todavía instalado (en otro disco) busqué msaddndr.dll en mi XP. Es una versión (6.00.8169) anterior a la que aquí se menciona y que en mi anterior instalación funcionaba, así que instalé esa dll en la carpeta DESIGNER en mi W7.
Luego borré las instalaciones de MZTools y de SmartIndenter que aún estaban para iniciar las instalaciones nuevas desde cero.
Reinicié el equipo y procedí a la instalación primero de MZTools y luego con SmartIndenter, ambas instalaciones desde la opción botón derecho, ejecutar como administrado y voilá!!!!

Gracias. Gracias Gracias. Gracias Gracias. Gracias
0

Expert Comment

by:suscribir boletin
Thanks for this article that helped me enormously to install Smart Indenter again, since I had it installed in office 2003 with XP and a few months ago (hahaha) I upgraded to W7 and I'm still programming with Access 2003 (I'm great to keep learning) but not I managed to make the Indenter work.
It gave me error when the installer tried to register the dll. So I downloaded the version of the Dll that is included in the link above and neither walked.
As I have the XP still installed (on another disk) I searched for msaddndr.dll on my XP. It is a version (6.00.8169) previous to the one mentioned here and that in my previous installation it worked, so I installed that dll in the folder DESIGNER in my W7.
Then I deleted the facilities of MZTools and SmartIndenter that were still there to start the new installations from scratch.
I rebooted the equipment and proceeded to the installation first of MZTools and then with SmartIndenter, both installations from the right button option, run as managed and voila!

Thank you. Thank you. Thank you. Thank you. Thank you. Thank you
0
LVL 28

Author Comment

by:MacroShadow
I'm glad my article helped you.
Please up-vote the article by clicking on the thumbs-up icon at the end of the article.
0

Expert Comment

by:Lincoln Pinho
I tried the steps in both the alternatives that have been mentioned, but couldn't resolve the "Could Not self-register" issue.  Even granting admin rights to my user login didn't work. I even had trouble installing MZTools 3.0 from the link provided.  There was an error returned when registering the MZTools DLL.

So I went searching on the MZTools website and found that they have developed an indenter  for various IDEs, however, it is a 30 day trial version.  I have installed the trial version to test out its features.  They do have some additional options, which can come handy.

Edit (Aug 11, 2018):  So I have been trying to install SmartIndenter all day using all permutations and combinations, and finally it did install with a successful Self-Register.  However it doesn't show in the Add-In Manager in the Excel VBE.  Looks like I'm having the same problem as Chi Is Current.  My system's config is Win 10 and Office 365.  Any clues on getting this wonderful free add-in to work would be appreciated.

Edit (Aug 12, 2018):  There is a product called RubberDucky that does the same job as SmartIndenter, not too clean, but gets the work done.  But it slowed down my VBE quite significantly, don't know the cause of the slow down though.  If you can't use SmartIndenter and need another free app to beautify your code, then this is one alternative.  It's just not for me.  Would love to have the SmartIndenter back :(
0

Featured Post

Learn SQL Server Core 2016

This course will introduce you to SQL Server Core 2016, as well as teach you about SSMS, data tools, installation, server configuration, using Management Studio, and writing and executing queries.

The Relationships Diagram is a good way to get an overall view of what a database is keeping track of. It is also where relationships are defined. A relationship specifies how two tables connect to each other. As you build tables in Microsoft Ac…
Make it easier to see the current record on your Microsoft Access forms! To highlight the current record with a yellow background color, use Conditional Formatting, a control to keep track of the primary key value, a control to change color, and a l…

Keep in touch with Experts Exchange

Tech news and trends delivered to your inbox every month