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

Printed on: April 25, 2024 at 08:04 o'clock

Mitglied: 129413
Solution 129413 May 25, 2016, updated at May 26, 2016 at 11:29:17 (UTC)
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
Member: it2016
it2016 May 26, 2016 at 16:47:32 (UTC)
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 May 26, 2016 updated at 16:59:35 (UTC)
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;