如何使用c#更新outlook约会?
我已使用c#创建了outlook会议计划。我已经把globalid保存到database了。现在,我需要再次更新我用c#创建的会议计划。你能帮我解决这个问题吗 致意 Fırat您可以使用如何使用c#更新outlook约会?,c#,outlook,appointment,C#,Outlook,Appointment,我已使用c#创建了outlook会议计划。我已经把globalid保存到database了。现在,我需要再次更新我用c#创建的会议计划。你能帮我解决这个问题吗 致意 Fırat您可以使用 还要确保您了解哪个idGlobalAppointmentID或EntryID?对于EntryID,您可以使用名称空间.GetItemFromID,但由于Outlook在处理会议更新时会重新创建约会,因此其条目id会发生更改,GetItemFromID将失败 GlobalAppointmentID是一种方法(这是
还要确保您了解哪个id
GlobalAppointmentID
或EntryID
?对于EntryID
,您可以使用名称空间.GetItemFromID
,但由于Outlook在处理会议更新时会重新创建约会,因此其条目id会发生更改,GetItemFromID
将失败
GlobalAppointmentID
是一种方法(这是Outlook本身在处理更新/取消时使用的方法),但不幸的是,Outlook对象模型不允许您搜索二进制(PT_binary)属性,因此您可以做的最好的方法是循环遍历日历文件夹中的所有项目。您需要使用扩展MAPI(C++或Delphi)或(任何语言)-(.Find/FindNext/Restrict`允许搜索二进制属性)
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+ "'");