Share via


Anzeigen eines freigegebenen Kalenders eines Empfängers

Dieses Beispiel zeigt, wie Sie mithilfe der Methoden CreateRecipient(String) und GetSharedDefaultFolder(Recipient, OlDefaultFolders) den freigegebenen Kalender eines Empfängers anzeigen.

Beispiel

Hinweis

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

Sendebare Elemente wie MailItem-Objekte machen immer die Recipients-Eigenschaft verfügbar, die Ihnen wiederum den Zugriff auf die Recipients-Auflistung für das sendebare Element ermöglicht. Um ein Recipient-Objekt zu erstellen, das nicht an die Recipients-Auflistung eines Elements gebunden ist, verwenden Sie die CreateRecipient(String) -Methode des NameSpace-Objekts . Übergeben Sie dann dieses ungebundene Recipient-Objekt an die GetSharedDefaultFolder(Recipient, OlDefaultFolders) -Methode, die einen freigegebenen Exchange-Ordner zurückgibt. Anschließend können Sie den freigegebenen Exchange-Ordner öffnen und diesen Ordner in einem Explorer-Fenster anzeigen. GetSharedDefaultFolder wird in Exchange-Delegatszenarien verwendet, in denen der Delegat über die Berechtigung für den Zugriff auf den Ordner des Delegators verfügt. Bevor Sie das Recipient-Objekt an die GetSharedDefaultFolder-Methode übergeben, müssen Sie es auflösen. Um ein Recipient-Objekt aufzulösen, rufen Sie dessen Resolve() -Methode auf.

Im folgenden Codebeispiel wird von DisplayManagerCalendarder Kalenderordner des Vorgesetzten des aktuellen Benutzers geöffnet, indem CreateRecipient und GetSharedDefaultFolder aufgerufen wird. Es wird ein Sicherheitswarnungs-Dialogfeld angezeigt, wenn der Benutzer nicht über die entsprechenden Berechtigungen zum Öffnen des Kalenderordners des Vorgesetzten verfügt oder ein Fehler auftritt.

Hinweis

[!HINWEIS] Wenn Sie ein Recipient-Objekt mithilfe der CreateRecipient-Methode des Namespace-Objekts oder der Add(String) -Methode der Recipients-Sammlung erstellen müssen Sie einen Empfängernamen angeben. Recipient wird dann in diesen Namen aufgelöst. Ein Empfängername kann eines der folgenden Formate aufweisen:

  • Anzeigename
  • Alias
  • SMTP-Adresse (Simple Mail Transfer Protocol)

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 DisplayManagerCalendar()
{
    Outlook.AddressEntry addrEntry =
        Application.Session.CurrentUser.AddressEntry;
    if (addrEntry.Type == "EX")
    {
        Outlook.ExchangeUser manager =
            Application.Session.CurrentUser.
            AddressEntry.GetExchangeUser().GetExchangeUserManager();
        if (manager != null)
        {
            Outlook.Recipient recip =
                Application.Session.CreateRecipient(manager.Name);
            if (recip.Resolve())
            {
                try
                {
                    Outlook.Folder folder =
                        Application.Session.GetSharedDefaultFolder(
                        recip, Outlook.OlDefaultFolders.olFolderCalendar)
                        as Outlook.Folder;
                    folder.Display();
                }
                catch
                {
                    MessageBox.Show("Could not open manager's calendar.",
                        "GetSharedDefaultFolder Example",
                        MessageBoxButtons.OK,
                        MessageBoxIcon.Error);
                }
            }
        }
    }
}

Siehe auch