是否可以将List of Outlook.AppointmentItem对象转换为C#中的单个ICS文件

时间:2015-05-14 16:03:52

标签: c# outlook

我有一个List<Outlook.AppointmentItem>我希望将该列表中的所有事件添加到单个iCal(.ICS)文件中。

我设法为每个约会项目创建一个ics文件。但我需要将所有项目放入同一个文件中。

private void CreateOutlookAppts(List<Event> evts)
{
    appts = new List<Outlook.AppointmentItem>();
    Outlook.Application outlook = new Outlook.Application();
    int count = 1;
    foreach (Event evt in evts)
    {
        Outlook.AppointmentItem appt =
                            outlook.CreateItem(Outlook.OlItemType.olAppointmentItem);
        appt.Duration = 60;
        appt.Start = evt.EventTime;
        appt.Subject = "xxxxxx";
        appt.SaveAs(@"c:\test\ical_appts\appt_" + count + ".ics", Outlook.OlSaveAsType.olICal);
        appts.Add(appt);
        count++;
    }

}

是否有可能使用任何Microsoft Outlook参考方法或任何其他有效方法实现此目的?

谢谢,Shivram。

1 个答案:

答案 0 :(得分:0)

不,Outlook对象模型不会为此提供任何属性或方法。您可以考虑使用 SaveAs 方法保存每个约会,然后将所有约会合并到一个单独的文件中,读取磁盘上的文件内容,即合并文件内容。