Possible to create rule that uses keywords located in a text file?

G

Guest

In Outlook 2003, rules based on keywords require that each keyword be entered
one at a time. I need to execute a rule based on a lengthly list (not a spam
filter) of words that will need to be changed often. I'd like to do this by
maintaining a text file of the words and have a VBA script (or rule)
reference that file.

Is this possible?

I've written code for Excel but never Outlook. Any guidance/code you can
offer would be greatly appreciated.


-CodeKid
 
M

Michael Bauer

Am Mon, 26 Jun 2006 10:21:02 -0700 schrieb CodeKid:

In OL 2007 (beta available) you could do that, in 03 you can´t.
 
S

Sue Mosher [MVP-Outlook]

Another approach would be to use a run a script rule action (see example below) to use information read in from a file and process the message with that data. You'd want to read in the file data just once, when Outlook starts.

However, given that there are free antispam tools out there, you might be better off using one of them to do the processing. No doubt it will have optimizations that OUtlook VBA code doesn't.

Here's what a basic "run a script" rule looks like:

Sub RunAScriptRuleRoutine(MyMail As MailItem)
Dim strID As String
Dim olNS As Outlook.NameSpace
Dim msg As Outlook.MailItem

strID = MyMail.EntryID
Set olNS = Application.GetNamespace("MAPI")
Set msg = olNS.GetItemFromID(strID)
' do stuff with msg, e.g.
MsgBox msg.SUbject

Set msg = Nothing
Set olNS = Nothing
End Sub

See http://www.outlookcode.com/d/code/zaphtml.htm#ol2002 for another example.

--
Sue Mosher, Outlook MVP
Author of Configuring Microsoft Outlook 2003

and Microsoft Outlook Programming - Jumpstart for
Administrators, Power Users, and Developers
 
G

Guest

Susan,

Thanks very much for the info. One question remains though -- I'm not
familiar with any of the objects in Outlook and the lack of a macro recorder
makes it difficult to figure that out.

In the example that you gave is "msg.Subject" the text if the subject line
from the message?

If so, I think I can have the script reference a text file with the words I
want to search for just by using InStr and a loop.

Would the script-based rule check the text file every time a new message
comes in or would the contents of the file be loaded only when Outlook starts
up?

Thanks again for all of your assistance.
 
S

Sue Mosher [MVP-Outlook]

It's Sue, not Susan.
the lack of a macro recorder
makes it difficult to figure that out.

In the example that you gave is "msg.Subject" the text if the subject line
from the message?

Exactly. msg is the object representing the message. Subject is the property corresponding to the subject.
Would the script-based rule check the text file every time a new message
comes in or would the contents of the file be loaded only when Outlook starts
up?

I'd code it using the latter technique.

--
Sue Mosher, Outlook MVP
Author of Configuring Microsoft Outlook 2003

and Microsoft Outlook Programming - Jumpstart for
Administrators, Power Users, and Developers
 

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

Top