Automatically Creating Tasks From Email Messages

VBA code lets you use information in an incoming email message to automatically create a task.

Sue Mosher

March 27, 2005

1 Min Read
ITPro Today logo in a gray background | ITPro Today


I have an Outlook 2002 rule to handle messages that I receive as a member of a particular distribution list (DL). The rule copies each message to one folder, moves it to another folder, and prints it. I want to do one more thing with these messages: Create a task from them in my Tasks folder. Can I use a rule to do that?

You probably already realize that there's no rule action built into the Outlook Rules Wizard to create a new item of a different type according to information in an incoming message. However, what you want to do is a good candidate for the run a script rule action that Microsoft Office Outlook 2003 and Outlook 2002 support. Listing 2 shows a Visual Basic for Applications (VBA) procedure that creates a new task, copies the subject and body from the message to the task, sets the task's due date to the date the message was sent, then copies any attachments and saves the task. Notice that the procedure can't copy attachments directly. Instead, the code must save them to a system folder, then attach the saved file.

What makes this procedure a script suitable for use in the Rules Wizard's run a script action is that it's a public subroutine with a MailItem object as its only argument. (You can also make rule procedures to process MeetingItem objects—that is, meeting requests.) When you create a rule and choose the run a script action, you should see Project1.MakeTaskFromMail listed as an available script. (Project1 is the overall name of the VBA project.)

Sign up for the ITPro Today newsletter
Stay on top of the IT universe with commentary, news analysis, how-to's, and tips delivered to your inbox daily.

You May Also Like