更新现有的Outlook约会

时间:2013-06-10 12:24:25

标签: c# winforms outlook

创建了一个Outlook预约做这样的事情;

 Microsoft.Office.Interop.Outlook.Application app = null;
 Microsoft.Office.Interop.Outlook.AppointmentItem appt = null;

 app = new Microsoft.Office.Interop.Outlook.Application();

 appt = (Microsoft.Office.Interop.Outlook.AppointmentItem)app.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olAppointmentItem);
 appt.Subject = sub;
 appt.Body = body;
 appt.Location = Loc;
 appt.Recipients.Add(email);
 appt.Save();
 appt.Send();

 Outlook.MailItem mailItem = appt.ForwardAsVcal();
 mailItem.To = email;
 mailItem.Body = body;
 mailItem.Send();

寻找指针,因为我很难通过Google找到明确的答案。

我如何(稍后......)从一个或多个Outlook帐户中再次检索此约会并更新一些详细信息?

或者是否可以发布一个覆盖现有约会的新约会?

1 个答案:

答案 0 :(得分:0)

如果您始终从同一邮箱访问约会,请存储AppointmentItem.EntryID属性的值,并在稍后使用Namespace.GetItemfromID重新打开它。

如果需要从多个邮箱访问约会,请阅读AppointmentItem.GlobalAppointmentID的值。不幸的是,Outlook对象模型不允许您搜索二进制属性(MAPIFolder.Items.Find)。您需要下拉到扩展MAPI级别(C ++或Delphi)或使用Redemption - 请参阅 http://social.msdn.microsoft.com/Forums/en-US/outlookdev/thread/63ea7bda-9767-4145-8ced-78e1095a49f8/