it2016
Goto Top

Csharp Outlook zugriff auf zweiten Persönlichen Kalender

Hallo
ich habe ein C# script erstellt mit dem ich Termine aus outlook in den Standard Kalender auslesen und eintragen kann.
Nun habe ich einen zweiten Persönlichen Kalender angelegt(siehe Bild). Wie kann ich über C# auf diesen zugreifen ?
kalender

Es wird kein Exchnage verwendet. OUtlook ist auf einm Einzelplatz installiert.

Content-Key: 305340

Url: https://administrator.de/contentid/305340

Ausgedruckt am: 19.03.2024 um 10:03 Uhr

Mitglied: 129413
Lösung 129413 25.05.2016, aktualisiert am 26.05.2016 um 13:29:17 Uhr
Goto Top
Wo wurde der Kalender erstellt? Im Root deines Stores oder in einem Unterordner deines Stores?

Wenn im Root dann sprichst du ihn so an
Microsoft.Office.Interop.Outlook.Application app = new Microsoft.Office.Interop.Outlook.Application();
MAPIFolder cal = app.Session.DefaultStore.GetRootFolder().Folders["test"];  
AppointmentItem termin = cal.Items.Add(OlItemType.olAppointmentItem);
termin.Subject = "Testtermin";  
termin.Start = DateTime.Now;
termin.End = DateTime.Now.AddDays(1);
termin.AllDayEvent = true;
termin.Save();

Gruß skybird
Mitglied: it2016
it2016 26.05.2016 um 18:47:32 Uhr
Goto Top
Danke für die schnelle Hilfe.
Wenn ich den Code eins zu eins übernehme funktioniert er nicht, da DefaultStore.GetRootFolder() nicht bekannt ist.
Jedoch nach klein abänderungen hat es prima funktioniert.

geänderter code :
using Outlook = Microsoft.Office.Interop.Outlook;

Outlook._Application app = new Outlook.Application();
Outlook.MAPIFolder cal = (Outlook.MAPIFolder)app.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderCalendar).Folders["test"];
Outlook._AppointmentItem termin = (Outlook._AppointmentItem)cal.Items.Add(Outlook.OlItemType.olAppointmentItem);
termin.Subject = "Testtermin";
termin.Start = DateTime.Now;
termin.End = DateTime.Now.AddDays(1);
termin.Save();
Mitglied: 129413
129413 26.05.2016 aktualisiert um 18:59:35 Uhr
Goto Top
Wenn ich den Code eins zu eins übernehme funktioniert er nicht, da DefaultStore.GetRootFolder() nicht bekannt ist.
Du musst natürlich den Namespace vorher im Kopf importieren face-smile hatte ich vergessen hinzuzufügen.
using Microsoft.Office.Interop.Outlook;