Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Beispiel wird der Frei/Gebucht-Zeitplan einer bestimmten Woche eines Kalenders abgerufen und Einzelheiten zu freien und gebuchten Terminen sowie zum Thema des Termins angezeigt.
Beispiel
Dieses Codebeispiel verwendet die GetCalendarExporter -Methode des Folder -Objekts, um ein CalendarSharing -Objekt für den standardmäßigen Kalenderordner und eine bestimmte Woche anzurufen. Danach wird die ForwardAsICal -Methode für das CalendarSharing-Objekt aufgerufen und die Nachricht mit einer iCalendar-Ladung angezeigt.
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 Anweisung Imports oder using darf im Codebeispiel nicht direkt vor den Funktionen stehen, sondern muss vor der öffentlichen Class-Deklaration hinzugefügt werden. Die folgenden Codezeilen zeigen, wie Sie den Import und die Zuweisung in Visual Basic und C# vornehmen.
Imports Outlook = Microsoft.Office.Interop.Outlook
using Outlook = Microsoft.Office.Interop.Outlook;
Private Sub DemoCalendarSharing()
' Get instance of CalendarSharing object
Dim calShare As Outlook.CalendarSharing = _
Application.Session.GetDefaultFolder( _
Outlook.OlDefaultFolders.olFolderCalendar). _
GetCalendarExporter()
' Free busy and subject details
calShare.CalendarDetail = _
Outlook.OlCalendarDetail.olFreeBusyAndSubject
' Set start and end dates
calShare.StartDate = DateTime.Today
calShare.EndDate = calShare.StartDate.AddDays(1)
' Call ForwardAsICal method
Dim mail As Outlook.MailItem = _
calShare.ForwardAsICal( _
Outlook.OlCalendarMailFormat.olCalendarMailFormatDailySchedule)
' Add recipient
mail.Recipients.Add("someone@example.com")
mail.Recipients.ResolveAll()
' Set subject
Dim CalName As String = _
Application.Session.GetDefaultFolder( _
Outlook.OlDefaultFolders.olFolderCalendar).Name
mail.Subject = _
Application.Session.CurrentUser.Name & _
CalName.PadLeft(CalName.Length + 1)
' Display calendar sharing item
mail.Display(False)
End Sub
private void DemoCalendarSharing()
{
// Get instance of CalendarSharing object
Outlook.CalendarSharing calShare =
Application.Session.GetDefaultFolder
(Outlook.OlDefaultFolders.olFolderCalendar).
GetCalendarExporter();
// Free busy and subject details
calShare.CalendarDetail =
Outlook.OlCalendarDetail.olFreeBusyAndSubject;
// Set start and end dates
calShare.StartDate = DateTime.Today;
calShare.EndDate = calShare.StartDate.AddDays(1);
// Call ForwardAsICal method
Outlook.MailItem mail =
calShare.ForwardAsICal(Outlook.OlCalendarMailFormat
.olCalendarMailFormatDailySchedule);
// Add recipient
mail.Recipients.Add("someone@example.com");
mail.Recipients.ResolveAll();
// Set subject
string CalName =
Application.Session.GetDefaultFolder
(Outlook.OlDefaultFolders.olFolderCalendar).Name;
mail.Subject =
Application.Session.CurrentUser.Name +
CalName.PadLeft(CalName.Length + 1);
// Display calendar sharing item
mail.Display(false);
}