How can I stop Outlook to run subsequent rules from VBA function bound to currently running rule?




Let's assume I have Outlook "Rule A" that runs a function from VBA script. In the function I change "stop processing more rules" property of the "Rule A".
The question is: should I expect that after Outlook VBA will complete execution of the function, decision if to process rule following "Rule A" or not will be driven by the current state of "stop processing more rules" that I changed in the function? Or is there any other alternative way to force Outlook stop execution of the rules next to "Rule A" from the function (is there any Outlook method I can call to force that)?

In general, I'm looking for further improvement of my email sort mechanism and this is where I seek for advise/help in Outlook rules/VBA area.
Below you can find detailed description of my goal, my sorting mechanism so maybe you can advise alternative solution other than that I've expressed in my question.

I've built a set of rules that sort incoming emails into different folders depending on email details. Reason why I need this mechanism is that I receive about 100 emails a day and manual sort can take up to 30 minutes a day. And it's even more time-consuming after I come back from "out of office" as post-return mailbox cleanup can take couple of hrs. So spending about 2 hrs per a week for manual sorting is boring and not effective:)

In general set of sorting rules goes in the following "layers":

1. In first place I've placed strict rules when I always know where the email should go to. Like "email notifications from sharepoint should always go to [General] folder", etc. There are about 16 of them. Each rule has "stop processing more rules" enabled so no more rules are processed if one of them captures new email.

2. If email is not captured by one of these strict rules, then I have single rule that use custom VBA script to go through folders of my mailbox and search for existing email with same conversation subject. If it succeed, then it moves new email into the same folder as existing one. Otherwise new email stays in Inbox. This functionality is achieved by creating VBA routine and bounding it to the rule using "run a script" property of the rule.

Main drawback of this approach is that new emails that starts new conversations (that does not have predecessor in one of my folder) and can't be captured by strict rules always stay in Inbox. And this is about 25-35% of incoming. And if I do not move new emails into the appropriate folder immediately, all subsequent emails with same conversation subject will come to Inbox thus not using idea of "search for similar existing email in all folders"

What I'm still missing in such approach is the 3rd "layer" of rules that should go after "search for same subject" rule. This 3rd layer is supposed to have "non-strict" rules that will sort "new" emails with subjects that were not present in my mailbox before and can't be accurately handled by strict rules. It is like I know that in 90% of cases emails from HR department must be placed into [Hiring] folder and in another 10% - into [General] folder. So I create the rule that will automatically put the email from HR dpt into [Hiring] and if it's wrong (10%) cases, I will move it to [General] manually.

So the algorithm will become as follows:
1. Use as strict rules as possible
2. If email is not captured by strict rule, try to find existing email with same conversation subject and put new mail into the same folder as old one
3. If the email is new and does not belong to existing conversation, then try to apply less strict rules to find appropriate folder.

Pls help with the question I've asked at the beginning or propose alternative solution that I'm missing here.

BTW, regularly I'm using search folders like "Last 7 days emails" or "Active emails" that collects emails from all folder instead of looking at real folder itself..
Submitted using

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question