0

我正在使用 C# 在我的 Outlook 日历中完成并获取我的所有约会,并试图弄清楚我是否有任何冲突,但是当我检查 Appointment.Conflicts.Count 时,它始终为 0,即使我添加了多个同时发生的约会。

这是一些示例代码:

var outlook = new Microsoft.Office.Interop.Outlook.Application();
var calendar = outlook.Application.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderCalendar);

Outlook.AppointmentItem appointment;
foreach (Outlook.AppointmentItem item in calendar.Items)
{
    if (item.Conflicts.Count > 0)
    {
        Console.WriteLine("Never gets hit");
    }

}

如何确定 Outlook 中的约会是否与 C# 中的另一个约会发生冲突?

4

1 回答 1

1

似乎 Conflicts 属性仅用于处理编辑冲突,而不是调度冲突。

请参阅:标准 Outlook 项目类型的冲突解决

另请注意,几乎所有的Outlook 项目类型也有一个冲突属性,即使是那些没有调度属性的(例如NoteItem)。

看来您必须自己检查日期范围,通过 AppointmentItem.Start 和 AppointmentItem.End 属性,也许还有 AllDayEvent 属性。

于 2011-11-18T09:50:39.657 回答