?
Solved

Outlook Customized Rules

Posted on 2014-02-22
3
Medium Priority
?
225 Views
Last Modified: 2014-02-23
I have a series of outlook rules in Outlook 2013 that funnel emails to appropriate folders upon receipt.

I manage a number of small projects (15-20) at a time and each one is active for 1 to 2 months.

I create a folder for each project with a 5 digit job number in the folder name.

Each email has the 5 digit job number in the subject.

Right now I create a new rule for each project which is a bit takes more effort than I would like to manage.

I would like to create a "generic" rule that searches the email for a job number that matches one of the folders and if a match is found moves a copy to that folder.

Alternately, I keep a running job list in a spreadsheet that has the job# and description (which matches the folder name) and if possible, the rule could search through the spreadsheet, find the job# in one column and find the folder name in the next column and then move the email to the right folder.

I'm not asking for the full code - some pointers on how to get started would be appreciated.

Thanks
0
Comment
Question by:rogerdjr
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 19

Accepted Solution

by:
regmigrant earned 2000 total points
ID: 39879936
you can create a rule that applies to all message and instead of the default action you can run a vba script. EE has an article by BlueDevilFan introducing that:

http://www.experts-exchange.com/Software/Office_Productivity/Groupware/Outlook/A_420-Extending-Outlook-Rules-via-Scripting.html

Here's some snippets that might help - from http://www.outlookcode.com/ which is a great resource for starting Outlook VBA (as I am)


'You can manipulate the sub folders using something like this:-
' this process recursively loops through sub folders, to compare names to subjects for example

Sub ProcessFolder(StartFolder As Outlook.MAPIFolder)
    Dim objFolder As Outlook.MAPIFolder
    Dim objItem as Object
    On Error Resume Next
     
    ' do something specific with this folder
    Debug.Print StartFolder.FolderPath, StartFolder.Items.Count
    Debug.Print
         
    ' process all the subfolders of this folder
    For Each objFolder In StartFolder.Folders
        Call ProcessFolder(objFolder)
    Next
     
    ' process all the items in this folder
    For Each objItem In StartFolder.Items
        Call ProcessItem(objItem)
    Next
     
    Set objFolder = Nothing
End Sub

' and this creates a sub folder based on a subject line and moves the item
Sub Process_One_MailAndAddFolder()

' ***
' *** Creates a destination folder for single selected mail item
' *** The folder name is based on the subject of the email
' ***

Dim OutlApp As Object
Dim OutlNs As Object
Dim OutlInBoxFolder As Object
Dim OutlItem As Object
Dim strMailheader As String

Set OutlApp = Outlook.Application
Set OutlNs = OutlApp.GetNamespace("MAPI")

' Replace Clients. Add as many .Folders("...") to the end as necessary
Set OutlInBoxFolder = OutlNs.GetDefaultFolder(olFolderInbox).Folders("Clients")

' Select an item, do not open
Set OutlItem = OutlApp.ActiveExplorer.Selection.Item(1)

strMailheader = "Quote - " & OutlItem.Subject

If ActiveExplorer.CurrentFolder = strMailheader Then
    MsgBox "You have selected an item with a name used on a previously created destination folder."
    GoTo exitRoutine
End If

On Error Resume Next
OutlInBoxFolder.Folders.Add strMailheader
If Err = 440 Then
    MsgBox "A folder named " & vbCr & vbCr & strMailheader & vbCr & vbCr & "already exists." & _
        vbCr & vbCr & "Currently selected mail has not been moved."
    GoTo exitRoutine
End If
On Error GoTo 0

OutlItem.Move OutlInBoxFolder.Folders(strMailheader)

Set ActiveExplorer.CurrentFolder = OutlInBoxFolder.Folders(strMailheader)
OutlInBoxFolder.Folders(strMailheader).items(1).Display

exitRoutine:

Set OutlItem = Nothing
Set OutlInBoxFolder = Nothing
Set OutlNs = Nothing
Set OutlApp = Nothing

End Sub 

Open in new window

0
 

Author Comment

by:rogerdjr
ID: 39880728
thanks for a great start - I'll update as I make progress
0
 

Author Closing Comment

by:rogerdjr
ID: 39880730
Thanks for a great start - I'll keep you posted as I make progress
0

Featured Post

NEW Veeam Agent for Microsoft Windows

Backup and recover physical and cloud-based servers and workstations, as well as endpoint devices that belong to remote users. Avoid downtime and data loss quickly and easily for Windows-based physical or public cloud-based workloads!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Changing a few Outlook Options can help keep you organized!
New style of hardware planning for Microsoft Exchange server.
This Experts Exchange video Micro Tutorial shows how to tell Microsoft Office that a word is NOT spelled correctly. Microsoft Office has a built-in, main dictionary that is shared by Office apps, including Excel, Outlook, PowerPoint, and Word. When …
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …
Suggested Courses

752 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question