View Single Post
  #1  
Old July 6th 09, 09:29 PM
andy tomic andy tomic is offline
Junior Member
 
First recorded activity at Outlookbanter: Jul 2009
Posts: 3
Default trap outbound mail to update subject

Hi all

Getting a little stuck on my outbound rules / vba code. I currently run an excellent addin called TAGLOCITY which tags emails with categories. What I am trying to do PREFIX the mail subject based on the category. NOTE: The taglocity addin triggers a category request AFTER the item.send action.

for example;
I have a category "100 Love St" (this is my project name)
I have a color for all PROJECTS -- construction project are DARKGREEN
When I send the mail I want the addin to check the subject for a ":"
Then if there is no ":", prefix with "Job:" and the category.

I have the code for this and it works fine if i manually trigger the vba code. I have a rule to hold the email in outbox for 1minute to give the program time to modify and for me to go in and cancel the send . My question is how can I trigger the code to work AFTER the item.send command and there after the TAGLOCITY addin has had a chance to add in the category.

code below:
Sub PrefixMailItemInOutbox()
Dim oNS As Outlook.NameSpace
Dim oFld As Outlook.Folder
Dim oItems As Outlook.Items
Dim oItem As Object
Dim Item As Outlook.MailItem

On Error GoTo OL_Error

Set oNS = Application.GetNamespace("MAPI")
Set oFld = oNS.GetDefaultFolder(olFolderOutbox)

Set oItems = oFld.Items
'Set objItem = GetCurrentItem()
StoreID = oFld.StoreID

For Each oItem In oItems
If InStr(1, oItem.Subject, ":", vbTextCompare) = 0 Then

If Len(oItem.Categories) 0 Then
Set objItem = oNS.GetItemFromID(oItem.EntryID, StoreID)

For Each objCategory In oNS.Categories
If InStr(1, objItem.Categories, objCategory.Name, vbTextCompare) 0 Then
Select Case objCategory.Color
Case OlCategoryColor.olCategoryColorDarkRed
objItem.Subject = "Roofing:" & objCategory.Name & " - " & objItem.Subject
objItem.Save
Case OlCategoryColor.olCategoryColorBlack
objItem.Subject = "Carpentry:" & objCategory.Name & " - " & objItem.Subject
objItem.Save
Case OlCategoryColor.olCategoryColorDarkGreen
objItem.Subject = "Job:" & objCategory.Name & " - " & objItem.Subject
objItem.Save
End Select
End If
Next
End If
objItem.Send
'Set objItem = Nothing
End If

Next

Exit Sub
OL_Error:
MsgBox Err.Description
Err.Clear
End Sub

Thanks in advance

Andy
Ads