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 » Add-ins for Outlook
Site Map Home Register Authors List Search Today's Posts Mark Forums Read Web Partners

Trap email send event



 
 
Thread Tools Search this Thread Display Modes
  #1  
Old September 30th 09, 12:18 PM posted to microsoft.public.outlook.program_addins
Mark B[_2_]
external usenet poster
 
Posts: 93
Default Trap email send event

VSTO C#, OL2007

I want to remove the phrase "My Special Sentence" from every email after it
gets sent and appears in the Sent Items folder.

I started, finding the following code on the internet but being new to C#
and VSTO I have had some difficulties with syntax errors with it.

using Outlook = Microsoft.Office.Interop.Outlook;
defaultFolder =
this.Session.GetDefaultFolder(Outlook.OlDefaultFol ders.olFolderSentMail);
defaultFolder.Items.ItemAdd += new
Microsoft.Office.Interop.Outlook.ItemsEvents_ItemA ddEventHandler(SentItems_ItemAdd);

Can anyone help me with some code to remove the phrase "My Special Sentence"
from every email after it gets sent and appears in the Sent Items folder.

TIA

  #2  
Old September 30th 09, 02:05 PM posted to microsoft.public.outlook.program_addins
Ken Slovak - [MVP - Outlook]
external usenet poster
 
Posts: 5,848
Default Trap email send event

The way that code is written you would get that event handler garbage
collected and fail to fire at some point. Declare and instantiate an Items
collection at module or class level and hook your ItemAdd() handler to that
so your handler doesn't get garbage collected.

In ItemAdd() you are passed an Item object. Cast that to a MailItem object
and then use string replace function to get rid of the unwanted text.
Something like this would do it, add exception handling of course:

Outlook.Mailitem mail = (Outlook.MailItem)Item;
string newBody = mail.Body.Replace("My Special Sentence", "");
mail.Body = newBody;

If you are getting syntax errors be specific on what and where, if you want
help with them.

--
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


"Mark B" wrote in message
...
VSTO C#, OL2007

I want to remove the phrase "My Special Sentence" from every email after
it gets sent and appears in the Sent Items folder.

I started, finding the following code on the internet but being new to C#
and VSTO I have had some difficulties with syntax errors with it.

using Outlook = Microsoft.Office.Interop.Outlook;
defaultFolder =
this.Session.GetDefaultFolder(Outlook.OlDefaultFol ders.olFolderSentMail);
defaultFolder.Items.ItemAdd += new
Microsoft.Office.Interop.Outlook.ItemsEvents_ItemA ddEventHandler(SentItems_ItemAdd);

Can anyone help me with some code to remove the phrase "My Special
Sentence" from every email after it gets sent and appears in the Sent
Items folder.

TIA


  #3  
Old October 1st 09, 03:16 AM posted to microsoft.public.outlook.program_addins
Mark B[_2_]
external usenet poster
 
Posts: 93
Default Trap email send event

From ThisAddIn_Startup I call mAddSentItemsHandler:

public void mAddSentItemsHandler()
{

Outlook.MAPIFolder sentItemsFolder =
Globals.ThisAddIn.Application.GetNamespace("MAPI") .GetDefaultFolder
Microsoft.Office.Interop.Outlook.OlDefaultFolders. olFolderSentMail);
sentItemsFolder.Items.ItemAdd += new
Microsoft.Office.Interop.Outlook.ItemsEvents_ItemA ddEventHandler(Application_SentItemsAdditionHandle r);
}


public void Application_SentItemsAdditionHandler()
{
MessageBox.Show("Sent");
}

I get the following error with a red underline under
Application_SentItemsAdditionHandler in the mAddSentItemsHandler method:

Error 7 No overload for 'Application_SentItemsAdditionHandler' matches
delegate 'Microsoft.Office.Interop.Outlook.ItemsEvents_Item AddEventHandler'
C:\Users\Mark\Desktop\MyAddin\ThisAddIn.cs 325 46 MyAddin





"Ken Slovak - [MVP - Outlook]" wrote in message
...
The way that code is written you would get that event handler garbage
collected and fail to fire at some point. Declare and instantiate an Items
collection at module or class level and hook your ItemAdd() handler to
that so your handler doesn't get garbage collected.

In ItemAdd() you are passed an Item object. Cast that to a MailItem object
and then use string replace function to get rid of the unwanted text.
Something like this would do it, add exception handling of course:

Outlook.Mailitem mail = (Outlook.MailItem)Item;
string newBody = mail.Body.Replace("My Special Sentence", "");
mail.Body = newBody;

If you are getting syntax errors be specific on what and where, if you
want help with them.

--
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


"Mark B" wrote in message
...
VSTO C#, OL2007

I want to remove the phrase "My Special Sentence" from every email after
it gets sent and appears in the Sent Items folder.

I started, finding the following code on the internet but being new to C#
and VSTO I have had some difficulties with syntax errors with it.

using Outlook = Microsoft.Office.Interop.Outlook;
defaultFolder =
this.Session.GetDefaultFolder(Outlook.OlDefaultFol ders.olFolderSentMail);
defaultFolder.Items.ItemAdd += new
Microsoft.Office.Interop.Outlook.ItemsEvents_ItemA ddEventHandler(SentItems_ItemAdd);

Can anyone help me with some code to remove the phrase "My Special
Sentence" from every email after it gets sent and appears in the Sent
Items folder.

TIA



  #4  
Old October 1st 09, 02:16 PM posted to microsoft.public.outlook.program_addins
Ken Slovak - [MVP - Outlook]
external usenet poster
 
Posts: 5,848
Default Trap email send event

If you are going to add event handlers you need to match their signatures
with the signature of the event you are planning to handle.

If you were to look in the Object Browser for the signature for the
ItemAdd() event you would see that there's an object passed to the handler
to tell it what was added.

--
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


"Mark B" wrote in message
...
From ThisAddIn_Startup I call mAddSentItemsHandler:

public void mAddSentItemsHandler()
{

Outlook.MAPIFolder sentItemsFolder =
Globals.ThisAddIn.Application.GetNamespace("MAPI") .GetDefaultFolder
Microsoft.Office.Interop.Outlook.OlDefaultFolders. olFolderSentMail);
sentItemsFolder.Items.ItemAdd += new
Microsoft.Office.Interop.Outlook.ItemsEvents_ItemA ddEventHandler(Application_SentItemsAdditionHandle r);
}


public void Application_SentItemsAdditionHandler()
{
MessageBox.Show("Sent");
}

I get the following error with a red underline under
Application_SentItemsAdditionHandler in the mAddSentItemsHandler method:

Error 7 No overload for 'Application_SentItemsAdditionHandler' matches
delegate
'Microsoft.Office.Interop.Outlook.ItemsEvents_Item AddEventHandler'
C:\Users\Mark\Desktop\MyAddin\ThisAddIn.cs 325 46 MyAddin


  #5  
Old October 3rd 09, 03:55 AM posted to microsoft.public.outlook.program_addins
Mark B[_2_]
external usenet poster
 
Posts: 93
Default Trap email send event

Getting there I hope... :

This seems to compile fine:

public void mFolderAdditionsHandler()
{
//Add Sent Items Folder Watch
Outlook.MAPIFolder sentItemsFolder =
Globals.ThisAddIn.Application.GetNamespace("MAPI") .GetDefaultFolder(Microsoft.Office.Interop.Outlook .OlDefaultFolders.olFolderSentMail);
sentItemsFolder.Items.ItemAdd += new
Microsoft.Office.Interop.Outlook.ItemsEvents_ItemA ddEventHandler(Items_ItemAdd);

//Add Deleted Items Folder Watch
Outlook.MAPIFolder deletedItemsFolder =
Globals.ThisAddIn.Application.GetNamespace("MAPI") .GetDefaultFolder(Microsoft.Office.Interop.Outlook .OlDefaultFolders.olFolderDeletedItems);
sentItemsFolder.Items.ItemAdd += new
Microsoft.Office.Interop.Outlook.ItemsEvents_ItemA ddEventHandler(Items_ItemAdd);
}


As does this:

public void Items_ItemAdd(object Item)
{
MessageBox.Show("Sent or Deleted");
}


However when I send or delete in Outlook, no message box pops up. I've
walked through mFolderAdditionsHandler at runtime with no errors.









  #6  
Old October 3rd 09, 04:02 AM posted to microsoft.public.outlook.program_addins
Mark B[_2_]
external usenet poster
 
Posts: 93
Default Trap email send event

Typo, mFolderAdditionsHandler should read with
deletedItemsFolder.Items.ItemAdd as below:


public void mFolderAdditionsHandler()
{

//mb
//Add Sent Items Folder Watch
Outlook.MAPIFolder sentItemsFolder =
Globals.ThisAddIn.Application.GetNamespace("MAPI") .GetDefaultFolder(Microsoft.Office.Interop.Outlook .OlDefaultFolders.olFolderSentMail);
sentItemsFolder.Items.ItemAdd += new
Microsoft.Office.Interop.Outlook.ItemsEvents_ItemA ddEventHandler(Items_ItemAdd);

//Add Deleted Items Folder Watch
Outlook.MAPIFolder deletedItemsFolder =
Globals.ThisAddIn.Application.GetNamespace("MAPI") .GetDefaultFolder(Microsoft.Office.Interop.Outlook .OlDefaultFolders.olFolderDeletedItems);
deletedItemsFolder.Items.ItemAdd += new
Microsoft.Office.Interop.Outlook.ItemsEvents_ItemA ddEventHandler(Items_ItemAdd);
}

 




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
MSG File - Trap Explorer Selection Change Event DG Outlook and VBA 8 January 11th 10 09:03 AM
Addin to trap email item open John[_11_] Outlook and VBA 2 July 3rd 09 07:54 AM
Trap the MailItem.Reply Event Naji Outlook - Using Forms 1 April 10th 08 03:00 PM
Trap reply event SuperSlueth Outlook - Using Forms 1 February 13th 06 09:09 PM
Trap Reply Event technoloG Add-ins for Outlook 4 January 18th 06 10:08 PM


All times are GMT +1. The time now is 08:24 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.