2016-04-12 11 views
0

Wie kann ich eine Liste aller verfügbaren Kalender in Outlook bekommen?In Outlook C# VSTO Liste aller Kalender erhalten

Ich habe zwei Benutzer angemeldet, und ich kann sie mit diesem Code finden:

 Outlook.NameSpace session = Globals.ThisAddIn.Application.Session; 
     Outlook.Accounts accounts = session.Accounts; 
     Outlook.Account account = null; 
     List<string> accountList = new List<string>(); 

     for (int i = 1; i <= accounts.Count; i++) 
     { 
      account = accounts[i]; 
      if (account != null) 
       accountList.Add(account.DisplayName); 
     } 

Wie kann ich jetzt Liste des Kalenders pro Benutzer erhalten? Oder zumindest eine Liste aller zusammen gemischten Kalender bekommen?

+0

"Verfügbar", in welchem ​​Sinne? Alle Shops bereits im Profil? Exchange-Postfächer, auf die der aktuelle Benutzer über Stellvertretung verfügt? –

+0

Zwei Konten sind angemeldet und ich brauche eine Liste von Kalendern von beiden. – Shultc

+0

Welche Konten? Exchange-Delegatenpostfächer? Getrennte Exchange-Konten? Google Apps-Konten? IMAP4? –

Antwort

1

können Sie nächsten Code verwenden, um dieses Problem zu lösen:

private void ThisAddIn_Startup(object sender, System.EventArgs e) 
    { 
     Outlook.NameSpace session = Globals.ThisAddIn.Application.Session; 
     Outlook.Accounts accounts = session.Accounts; 
     List<Outlook.MAPIFolder> calendars = new List<Outlook.MAPIFolder>(); 

     foreach (Outlook.Account account in accounts) 
     { 
      Outlook.Recipient recipient = session.CreateRecipient(account.DisplayName); 
      Outlook.MAPIFolder calendar = session.GetSharedDefaultFolder(recipient, Outlook.OlDefaultFolders.olFolderCalendar); 
      if (calendar != null) 
      { 
       calendars.Add(calendar); 
      } 
     } 
    } 
+0

Wie ich verstehe, wird es Kalender erstellen, nicht finden. – Shultc

+0

Nein, Sie haben unterschiedliche Benutzer in Ihrem Outlook. Zum Beispiel haben Sie [email protected] und [email protected] Wenn Sie die Lösung verwenden, die ich zuvor beschrieben habe, können Sie Kalender für diese Benutzer erstellen und nicht erstellen. –

+1

Ok, eine andere Sache: Ich habe es gerade getestet, und Sie können nur Standard-Kalender mit Ihrem Code finden. Sie müssen in Geschäften suchen, um alle Kalender zu finden, aber nicht nur einen pro Konto. – Shultc

Verwandte Themen