如何防止Outlook AppointmentItem被标记为未保存

时间:2018-01-11 21:45:28

标签: c# outlook outlook-addin

要创建新的AppointmentItem,我使用以下代码

        var item = (Outlook.AppointmentItem)Globals.ThisAddIn.Application.CreateItem(Outlook.OlItemType.olAppointmentItem);

        item.MeetingStatus = Outlook.OlMeetingStatus.olMeeting;
        item.Start = new DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day, DateTime.Now.Hour, DateTime.Now.Minute, 0).AddMinutes(DateTime.Now.Minute % 30 == 0 ? 0 : 30 - DateTime.Now.Minute % 30);
        item.Duration = 30;

        item.Display(false);

首次创建项目时,Saved属性为True,但是在添加一些初始自定义属性后,Saved属性为False。

有没有更好的方法来完成为对象设置init属性,以便Outlook将其视为一个Saved对象而不实际保存对象? (我不希望保存AppointmentItem以防用户打开新约会并关闭它而不更改任何内容)

1 个答案:

答案 0 :(得分:0)

您可以使用PropertyChange事件检测到其他更改,但是当调用Display时,无法说服Outlook在实际保存项目之前不需要保存该项目。