A Microsoft Outlook email forum. Outlook Banter

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

Go Back   Home » Outlook Banter forum » Microsoft Outlook Email Newsgroups » Outlook and VBA
Site Map Home Register Authors List Search Today's Posts Mark Forums Read Web Partners

trap outbound mail to update subject



 
 
Thread Tools Search this Thread Display Modes
  #1  
Old July 7th 09, 10:40 AM posted to microsoft.public.outlook.program_vba
Alan Moseley
external usenet poster
 
Posts: 61
Default trap outbound mail to update subject

Hook into the Application.ItemSend event in the ThisOutlookSession code
window. It gets passed the email that is being sent so that you can
manipulate it:-

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Dim myItem As MailItem
If TypeName(Item) = "olMailItem" Then
Set myItem = Item
'Do something here such as call your routine passing the myItem object
End If
End Sub

I guess that your addin is already hooking into this event, so I am not sure
whether this would run before or after the addin, perhaps someone else can
advise.

--
Alan Moseley IT Consultancy
http://www.amitc.co.uk

If I have solved your problem, please click Yes below. Thanks.


"andy tomic" wrote:


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




--
andy tomic

  #2  
Old July 7th 09, 02:12 PM posted to microsoft.public.outlook.program_vba
Ken Slovak - [MVP - Outlook]
external usenet poster
 
Posts: 5,848
Default trap outbound mail to update subject

It's impossible to determine what addin will run things in what order. It
depends on the load order of the addins (Outlook VBA is just another COM
addin) and which ones register for which events in which order.

If that addin is actually hooking to Application.ItemSend() then it might be
after or before a VBA hook. If the VBA code must be after the addin massages
the data then using an earlier event such as item.Send() wouldn't help, but
many addins do use that event rather than Application.ItemSend() since that
fires after the email transport is engaged and so is too late for some item
manipulations.

--
Ken Slovak
[MVP - Outlook]
http://www.slovaktech.com
Author: Professional Programming Outlook 2007.
Reminder Manager, Extended Reminders, Attachment Options.
http://www.slovaktech.com/products.htm


"Alan Moseley" wrote in message
...
Hook into the Application.ItemSend event in the ThisOutlookSession code
window. It gets passed the email that is being sent so that you can
manipulate it:-

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Dim myItem As MailItem
If TypeName(Item) = "olMailItem" Then
Set myItem = Item
'Do something here such as call your routine passing the myItem
object
End If
End Sub

I guess that your addin is already hooking into this event, so I am not
sure
whether this would run before or after the addin, perhaps someone else can
advise.

--
Alan Moseley IT Consultancy
http://www.amitc.co.uk

If I have solved your problem, please click Yes below. Thanks.


 




Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Subject will not update ExcelLars Outlook and VBA 1 February 26th 09 06:48 AM
OLEXP outbound mail failure schiermeier Outlook Express 9 May 13th 08 03:23 AM
Outlook 2007/Vista - Outbound mail failing makerofgirls Outlook - General Queries 7 May 8th 07 09:58 PM
E-Mail msg's won't send (outbound) Bubey Outlook Express 3 February 22nd 07 05:02 PM
Bcc bar on outbound mail speedy_mike Outlook Express 5 January 30th 07 08:38 PM


All times are GMT +1. The time now is 11:47 AM.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.Search Engine Friendly URLs by vBSEO 2.4.0
Copyright ©2004-2025 Outlook Banter.
The comments are property of their posters.