2016-09-30 99 views
-1

我已經用c#創建了outlook會議計劃。我已經將globalid保存到數據庫了。現在,我需要再次更新我用c#創建的會議計劃。你能幫我解決嗎?如何用c#更新Outlook預約?

問候 的Firat

回答

0

哪個ID? GlobalAppointmentIDEntryID?在EntryID的情況下,您可以使用Namespace.GetItemFromID,但由於約會在Outlook處理會議更新時由其重新創建,因此其條目ID更改,並且GetItemFromID將失敗。

GlobalAppointmentID是去(這是什麼展望自身處理更新/取消指令時使用)的方式,但不幸的是Outlook對象模型不會讓你搜索二進制(PT_BINARY)的屬性,所以你能做的最好的是環通過日曆文件夾中的所有項目。您需要使用擴展MAPI(C++或Delphi)或Redemption(任何語言) - (RDOtems。查找/查找下一個/ Restrictmption允許搜索二進制屬性)。

Redemption.RDOSession session = new Redemption.RDOSession(); 
session.MAPIOBJECT = outlookApp.Session.MAPIOBJECT; //share the Outlook session 
RDOFolder calendarFolder = session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderCalendar); 
Redemption.RDOAppointmentItem appointmentItem = calendarFolder.Items.Find("GlobalAppointmentID = '"+TheGlobalAppointmentId+ "'");