Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
DiscussionsAccessExcelInfoPathOutlookPowerPointPublisherWord
DirectoryUser Groups
Related Topics
Outlook ExpressInternet ExplorerWindowsMS Server ProductsMore Topics ...

MS Office Forum / Outlook / Programming Add-Ins / May 2006

Tip: Looking for answers? Try searching our database.

Problem for getting the source item with ItemRemoveEventHandler

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Nico - 23 May 2006 14:43 GMT
Hello

I have a problem for getting the Appointment Item that has been remove
because there is no parameter allowed in the method call after an
ItemsEvents_ItemRemoveEventHandler. With ItemsEvents_ItemAddEventHandler and
ItemsEvents_ItemChangeEventHandler event I can find the AppointItem that has
been change or modify but how to find it with a ItemRemoveEventHandler event
?

Here is my code :

public void test(){

           _application = new Outlook.Application();
           _nameSpace = _application.GetNamespace("MAPI");
           _mfCalendar =
_nameSpace.GetDefaultFolder(OlDefaultFolders.olFolderCalendar);
           ItemsEvents_ItemRemoveEventHandler iaehRemove =
               new
ItemsEvents_ItemRemoveEventHandler(this.AppointmentItemRemove);
           _itemsCalendar2.ItemRemove += iaehRemove;
}

       public void AppointmentItemRemove()
       {
          // how to find here which Appointment item has been deleted ?
       }

PS : I use Visual Studio 2005 with C#.

Thanks in advance
Dave Kane [MVP - Outlook] - 24 May 2006 04:19 GMT
You'll need to add an ItemAdd handler to the Deleted Items folder to find
out which appointment was actually removed. Keep in mind that the
appointment's EntryID will have changed since it's in a new folder, so you
will need to use some other property to identify the item.

As you may know, Outlook 2003 SP2 made changes in the way calendar items are
handled (http://support.microsoft.com/?kbid=899919) From the article "The
new design works as follows. When a user accepts or tentatively accepts a
meeting, either from a meeting request or from a calendar item, the existing
calendar item is deleted from the calendar. Additionally, a duplicate of the
calendar item is created for the deleted item. Therefore, the new calendar
item has an Entry ID that is different from the Entry ID of the old calendar
item."

This means that your handlers may trap a delete and an add that are both for
the same appointment. The article describes how the Global Object ID
property is a more reliable way to track appointments. Unfortunately it's
not exposed by the Outlook object model, so you will need to use an Extended
MAPI library to get it.

> Hello
>
[quoted text clipped - 27 lines]
>
> Thanks in advance
Nico - 24 May 2006 08:12 GMT
Thanks for this clear answer !

> You'll need to add an ItemAdd handler to the Deleted Items folder to find
> out which appointment was actually removed. Keep in mind that the
[quoted text clipped - 47 lines]
>>
>> Thanks in advance
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.