创建模式为每周一次的定期约会

本示例演示如何创建具有每周模式的定期约会(例如,在每个星期一、星期三和星期五发生的约会)。

示例

注意

下面的代码示例摘录自 Microsoft Office Outlook 2007 应用程序编程

当你新建定期约会时,定期模式的依据为你在创建约会时指定的时间。 例如,如果创建一个在每天的下午 1:00 定期发生的约会,则该约会将只在每天的下午 1:00 定期发生。 若要更改约会的定期模式,请设置约会的 RecurrencePattern 对象属性。 在设置其他 RecurrencePattern 属性前,先设置 RecurrencePattern 对象的 RecurrenceType 属性。 下表列出了给定 RecurrenceType(由 OlRecurrenceType 枚举指定)的有效 RecurrencePattern 属性。

OlRecurrenceType 值

有效 RecurrencePattern 属性

olRecursDaily

DurationEndTimeIntervalNoEndDateOccurrencesPatternStartDatePatternEndDateStartTime

olRecursWeekly

DayOfWeekMask、Duration、EndTime、Interval、NoEndDate、Occurrences、PatternStartDate、PatternEndDate、StartTime

olRecursMonthly

DayOfMonth、Duration、EndTime、Interval、NoEndDate、Occurrences、PatternStartDate、PatternEndDate、StartTime

olRecursMonthNth

DayOfWeekMask、Duration、EndTime、Interval、Instance、NoEndDate、Occurrences、PatternStartDate、PatternEndDate、StartTime

olRecursYearly

DayOfMonth、Duration、EndTime、Interval、MonthOfYear、NoEndDate、Occurrences、PatternStartDate、PatternEndDate、StartTime

olRecursYearNth

DayOfWeekMask、Duration、EndTime、Interval、Instance、NoEndDate、Occurrences、PatternStartDate、PatternEndDate、StartTime

当使用定期约会项目时,您应当先释放以前的所有引用,再获取对定期约会项目的新引用,然后才访问或修改项目,并在完成和保存更改后立即释放这些引用。 此做法适用于定期 AppointmentItem 对象,以及任何 ExceptionRecurrencePattern 对象。 若要在 Visual Basic 中释放引用,请将现有对象设置为“Nothing”。 在 C# 中,明确释放相应对象占用的内存。

请注意,即使是在您释放引用并尝试获取新引用之后,如果仍存在对以上对象之一的活动引用(由另一个加载项或 Outlook 保存),则新引用也仍将指向对象的过期副本。 因此,在完成使用定期约会后立即释放引用非常重要。

在下面的代码示例中,RecurrenceingAppointmentEveryMondayWednesdayFriday 创建 AppointmentItem 对象,然后调用 GetRecurrencePattern () 以获取新创建的约会的 RecurrencePattern 对象。 然后,RecurringAppointmentEveryMondayWednesdayFriday 设置 RecurrenceType、DayOfWeekMask、PatternStartDate、PatternEndDate, Duration、StartTime、EndTime 和 Subject 属性,保存约会,最后使用“每个星期一、星期三和星期五发生,生效日期是 2006 年 7 月 10 日,截至日期是 2006 年 8 月 25 日,从下午 2:00 到下午 3:00”模式显示约会。

如果使用 Visual Studio 测试此代码示例,必须先添加对 Microsoft Outlook 15.0 对象库组件的引用,并在导入 Microsoft.Office.Interop.Outlook 命名空间时指定 Outlook 变量。 不得将 using 语句直接添加到此代码示例中的函数前面,这个语句必须后跟公共类声明。 下面的代码行演示了如何在 C# 中执行导入和分配。

using Outlook = Microsoft.Office.Interop.Outlook;
private void RecurringAppointmentEveryMondayWednesdayFriday()
{
    Outlook.AppointmentItem appt = Application.CreateItem(
        Outlook.OlItemType.olAppointmentItem)
        as Outlook.AppointmentItem;
    appt.Subject = "Recurring Appointment DaysOfWeekMask Example";
    Outlook.RecurrencePattern pattern = appt.GetRecurrencePattern();
    pattern.RecurrenceType = Outlook.OlRecurrenceType.olRecursWeekly;
    // Logical OR for DayOfWeekMask creates pattern
    pattern.DayOfWeekMask = Outlook.OlDaysOfWeek.olMonday |
        Outlook.OlDaysOfWeek.olWednesday |
        Outlook.OlDaysOfWeek.olFriday;
    pattern.PatternStartDate = DateTime.Parse("7/10/2006");
    pattern.PatternEndDate = DateTime.Parse("8/25/2006");
    pattern.Duration = 60;
    pattern.StartTime = DateTime.Parse("2:00:00 PM");
    pattern.EndTime = DateTime.Parse("3:00:00 PM");
    appt.Save();
    appt.Display(false);
}

另请参阅