![]() |
Problem for getting the source item with ItemRemoveEventHandler
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.olFol derCalendar); ItemsEvents_ItemRemoveEventHandler iaehRemove = new ItemsEvents_ItemRemoveEventHandler(this.Appointmen tItemRemove); _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 |
Problem for getting the source item with ItemRemoveEventHandler
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. "Nico" wrote in message ... 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.olFol derCalendar); ItemsEvents_ItemRemoveEventHandler iaehRemove = new ItemsEvents_ItemRemoveEventHandler(this.Appointmen tItemRemove); _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 |
Problem for getting the source item with ItemRemoveEventHandler
Thanks for this clear answer ! "Dave Kane [MVP - Outlook]" a écrit dans le message de news: ... 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. "Nico" wrote in message ... 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.olFol derCalendar); ItemsEvents_ItemRemoveEventHandler iaehRemove = new ItemsEvents_ItemRemoveEventHandler(this.Appointmen tItemRemove); _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 |
All times are GMT +1. The time now is 09:14 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-2006 OutlookBanter.com