![]() |
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. |
|
|
Thread Tools | Search this Thread | Display Modes |
#1
|
|||
|
|||
![]()
I have successfully connected to and listened to the BeforeItemMove event on
a local (pst) calendar, but I cannot seem to get this event to fire for shared calendars that I have open. I am using Outlook 2007 connected to Exchange 2003. All the code between the scenarios is the same except the code to resolve and get the folder. Smippets below. I have investiaged the more generic loss of scope of COM objects etc and retain references to the folders to maintain their lifespan and as I said it works in the local calendar but not shared calendars. Could anyone shed some light on this for me? TIA Simon /// summary /// Finds and resolves the requested folder, if found it attaches /// to the BeforeItemMove event to listen for deletes etc /// and adds the folder to the Application Level MonitoredFolders List /// /summary /// param name="folderToMonitor"Either the local name of the Calendar or the /// Recipients name in the case of an Exchange Mailbox/param private void StartMonitoringCalendarFolder(String folderToMonitor) { var folder = GetFolder(folderToMonitor); if (folder != null) { //StartListening for Deletes folder.BeforeItemMove += folder_BeforeItemMove; //Record that we are listening, and maintain ref to COM objects monitoredFolders.Add(folderToMonitor, new FolderWrapper(folder)); } } /// summary /// Finds and returns the requested folder, allows for /// whether Outlook is using Exchange or not. /// Returns null if not found. /// /summary /// param name="folderToMonitor"Either the local name of the Calendar or the /// Recipients name in the case of an Exchange Mailbox/param /// returns/returns private Outlook.Folder GetFolder(String folderName) { Outlook.Folder folder = null; switch (this.Application.Session.ExchangeConnectionMode) { case Microsoft.Office.Interop.Outlook.OlExchangeConnect ionMode.olNoExchange: var currentFolder = (Outlook.Folder)this.Application.Session.DefaultSt ore.GetRootFolder(); //Walk the folder tree and look for folder name folder = FindFolder(folderName, currentFolder); break; default: //all other Exchange modes, TODO: we may run into sync issues if Outlook is offline Outlook.Recipient recourceMailBox = this.Application.Session.CreateRecipient(folderNam e); recourceMailBox.Resolve(); if (!recourceMailBox.Resolved) { System.Diagnostics.Trace.WriteLine(String.Format(" Folder Monitoring: Unable to resolve folder: {0}", folderName)); return null; } folder = (Outlook.Folder)this.Application.Session.GetShared DefaultFolder(recourceMailBox, Outlook.OlDefaultFolders.olFolderCalendar); break; } if (folder == null) { System.Diagnostics.Trace.WriteLine(String.Format(" Folder Monitoring: Unable to find folder: {0}", folderName)); } return folder; } //Example call: StartMonitoringCalendarFolder("Bob Smith"); |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Shared Exch mailbox calendar responses also appearing in own mailb | Drew | Outlook - Calandaring | 2 | February 16th 09 07:08 PM |
Copy calendar from PST to Exchange mailbox? | Tom | Outlook - Installation | 2 | December 17th 07 07:50 PM |
Outlook 2007 via Exchange - Shared Mailbox demands Username/Passwo | LMatth | Outlook - Installation | 1 | October 17th 07 09:51 PM |
MAPIFolder.FullFolderPath fails on shared mailbox folder until accessed by Outlook manually | Jeff | Outlook and VBA | 1 | October 2nd 06 03:45 PM |
Exchange Mailbox server prohibit from sending when reach mailbox size limit | Milly Staples [MVP - Outlook] | Outlook - General Queries | 1 | February 24th 06 06:41 PM |