There’s a problem with Outlook 2003 that I’ve run into a few times at work, and I finally found a solution to it. It’s not a way to prevent it from happening, but at least now I know how to fix it when it does happen.
The problem is that in Outlook 2003 I have a few macros set up, that do simple things like opening up custom forms. These macros are then mapped to toolbar buttons in Outlook, so with one click the form launches. Usually this works well, but every now and then the buttons will stop working. And not just the buttons, but everything underneath the Tools > Macro item in the menu. It’s not greyed out, it just doesn’t work. Clicking it does nothing.
Now, before this was a big deal. I would try fifteen different things to fix it, then usually had to end up creating a new user profile on the computer to get the functionality back. And that’s a bad fix, because giving someone a new profile and making them rebuild all their customizations is hardly a good solution. But then luckily I found this forum post, written earlier this month, that outlines exactly what the problem is and how to fix it.
The problem is just one setting that gets set in the registry. I don’t know why or how it gets set, but removing it restores macro functionality. The entry is in this registry key:
Under that is a list of items that have been disabled in Outlook. I was lucky, and when I looked there was only one item listed so it was easy to identify the correct one. If there is more than one item listed, you’ll have to open each one to identify the one you need. It looks like this:
The hex decoding is kind of funny there, but you can make out that on the right-hand side it says “addins\outlvba.dll Microsoft VBA For Outlook Addin.” Now why the VBA add-in would be disabled, and why it happens automatically without any user intervention, these are still mysteries. But all you have to do is delete that registry key, and the settings is undone. Macros will work again.
It’s also possible that you can go to Help > About Outlook > Disabled Items, and find and enable VBA there. But I haven’t tested that fully.