Trying to repair Outlook rules

danno

Member
Outlook version
Outlook 2010 32 bit
Email Account
IMAP
Is there a way to fix a large set of 'broken' Outlook 2010 rules (with VBA, if necessary)? I had a user who had rules that referenced another PST file (moved messages to it by rule depending on a condition). He was trying to restore items back to that secondary PST file, but he closed it in Outlook, renamed that file, then opened the 'backup' PST, restored the missing items back to his default PST file (outlook.pst), closed the other PST file, then renamed that original secondary PST file back.

Now when he opens Outlook, all those rules that reference that secondary PST file shows an 'error' indicator, even though the path and file name of the secondary PST file is the same as before. I'm not familiar with the data structure of the rules sets, so I have no idea how to proceed in trying to fix his rules. He has several hundred rules, so fixing them manually is not an option.

Steps to reproduce the problem:
- load another (2nd) PST file, create rule to move a message there, close the PST file - opened rules - no error showing even though PST file isn't available
- closed and reopened Outlook - now it shows 'error' when I try to open rules
- opened the other PST file - now no error showing opening rules (this step can be skipped - I did that step to find out if simply reopening the same PST file would fix the error and it did)
- opened another (3rd) PST file, created same test folder as the destination of where the rule is supposed to move the message to and then closed both PST files
- renamed the 2nd PST file to something else, then renamed the 3rd PST file to the prev name of the 2nd PST.
- opened Outlook and when I tried to go into Manage Rules, it popped an error message box 'one or more rules contain errors...' and the test rule I had just created now showed 'error' and the rule description no longer showed the destination folder (it had changed to 'specified').
 

danno

Member
Outlook version
Outlook 2010 32 bit
Email Account
IMAP
So there's no VBA that can be written? I would assume that the rules must have some unique identifier embedded within each rule that identifies the PST file and folder (source or destination). Replacing the destination PST file with another one with the same name and path seems to trigger the error.
 

Diane Poremsky

Senior Member
Outlook version
Outlook 2016 32 bit
Email Account
Office 365 Exchange
Rules are not fully exposed in the object model. You can use VBA to create the rules, but not repair them. Unless this happens frequently, writing and testing VBA will take longer than just fixing them.

See http://msdn.microsoft.com/EN-US/library/office/ff867254(v=office.15).aspx for more information about what is supported.

Now, you could use this script to get a list of the rules - http://www.gregthatcher.com/Scripts/VBA/Outlook/GetListOfRules.aspx - then delete them and use VBA to recreate them, but it may not be cost effective.
 

danno

Member
Outlook version
Outlook 2010 32 bit
Email Account
IMAP
Thanks for the help. It's puzzling why Microsoft would decide to withhold the key pieces of the object model to allow one to properly work with rules.
 

Diane Poremsky

Senior Member
Outlook version
Outlook 2016 32 bit
Email Account
Office 365 Exchange
Rules support in the object model were only added in 2007 and they added just the most common features.
 

Top