Share via


Erstellen einer Terminserie mit einem wöchentlichen Muster

Dieses Beispiel veranschaulicht das Erstellen einer Terminserie mit wöchentlichem Muster (z. B. eines Termins, der montags, mittwochs und freitags ansteht).

Beispiel

Hinweis

Das folgende Codebeispiel ist ein Auszug aus Programming Applications für Microsoft Office Outlook 2007.

Wenn Sie eine neue Terminserie erstellen, basiert das Serienmuster auf der Zeit, die Sie beim Erstellen des Termins angeben. Wenn Sie beispielsweise einen Termin erstellen, der täglich um 13:00 Uhr stattfinden soll, so wird der Termin jeden Tag nur um 13:00 Uhr wiederholt. Um das Serienmuster eines Termin zu ändern, legen Sie die Eigenschaften des RecurrencePattern-Objekts des Termins fest. Legen Sie die RecurrenceType-Eigenschaft des RecurrencePattern-Objekts fest, bevor Sie andere RecurrencePattern-Eigenschaften festlegen. Die folgende Tabelle zeigt gültige RecurrencePattern-Eigenschaften für einen angegebenen RecurrenceType (angegeben durch die OlRecurrenceType-Enumeration).

OlRecurrenceType-Wert

Gültige RecurrencePattern-Eigenschaften

olRecursDaily

Duration, EndTime, Interval, NoEndDate, Occurrences, PatternStartDate, PatternEndDate, StartTime

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

Wenn Sie mit Terminserien arbeiten, müssen Sie vorherige Verweise freigeben, neue Verweise auf das Terminserienelement abrufen, bevor Sie das Element öffnen oder bearbeiten, und diese Verweise freigeben, sobald Sie Ihre Änderungen abgeschlossen und gespeichert haben. Diese Vorgehensweise gilt für das sich wiederholende AppointmentItem-Objekt und alle Exception- oder RecurrencePattern-Objekte. Um einen Verweis in Visual Basic freizugeben, legen Sie dieses vorhandene Objekt auf „Nothing“ fest. Geben Sie in C# den Arbeitsspeicher für dieses Objekt explizit frei.

Auch nachdem Sie Ihren Verweis freigegeben und versucht haben, einen neuen Verweis abzurufen, zeigt Ihr neuer Verweis, wenn es noch einen aktiven Verweis (der von einem anderen Add-In oder Outlook aktiviert wurde) auf eines der obigen Objekte gibt, weiter auf eine veraltete Kopie des Objekts. Deshalb müssen Sie stets Ihre Verweise freigeben, sobald Sie mit dem Bearbeiten der Terminserie fertig sind.

Im folgenden Codebeispiel erstellt RecurringAppointmentEveryMondayWednesdayFriday ein AppointmentItem-Objekt und ruft anschließend GetRecurrencePattern() auf, um das RecurrencePattern-Objekt des neuen Termins abzurufen. RecurringAppointmentEveryMondayWednesdayFriday legt dann die Eigenschaften RecurrenceType, DayOfWeekMask, PatternStartDate, PatternEndDate, Duration, StartTime, EndTime und Subject fest, speichert den Termin, und zeigt anschließend den Termin mit dem folgenden Muster an "Montags, mittwochs und freitags ab dem 10.07.2006 bis zum 25.08.2006 von 14:00 Uhr bis 15:00 Uhr".

Wenn Sie Visual Studio verwenden, um dieses Codebeispiel zu testen, müssen Sie der Microsoft Outlook 15.0-Objektbibliothekkomponente zuerst einen Verweis hinzufügen und die Outlook-Variable angeben, wenn Sie den Microsoft.Office.Interop.Outlook-Namespace importieren. Die using-Anweisung darf im Codebeispiel nicht direkt vor den Funktionen stehen, sondern muss vor der öffentlichen Class-Deklaration hinzugefügt werden. Die folgende Codezeile zeigt, wie Sie den Import und die Zuweisung in C# vornehmen.

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);
}

Siehe auch