Hallo 🙂
ich habe ein Add on für Outlook gemacht und würde nun gerne die Appointments aus dem Kalender auslesen und an eine Form weitergeben können. (TerminObjekt)
Die Termine (Appointments) sollen dann auf der Form dargestellt werden.
ich müsste dazu eigentlich nur wissen wie ich die Termine auslese, den Rest schaffe ich dann schon 😁
Gruß Fabi 8) 😁
Azubi im 2ten Lehrjahr (Fachinformatiker Anwendungsentwicklung)
Codieren Sie immer so, als wäre der Typ, der den Code pflegen muss, ein gewaltbereiter Psychopath, der weiß, wo Sie wohnen.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Danke für die schnelle Antwort, ich probiers gleich mal 😃
Hat super funktioniert 😄
Outlook.MAPIFolder calendar = Application.Session.GetDefaultFolder (Outlook.OlDefaultFolders.olFolderCalendar);
foreach (Outlook.AppointmentItem VARIABLE in calendar.Items)
{
if (VARIABLE.End > DateTime.Now)
{
MessageBox.Show(VARIABLE.ConversationTopic);
}
}
Azubi im 2ten Lehrjahr (Fachinformatiker Anwendungsentwicklung)
Codieren Sie immer so, als wäre der Typ, der den Code pflegen muss, ein gewaltbereiter Psychopath, der weiß, wo Sie wohnen.
Ein klassisches Beispiel für [Hinweis] Wie poste ich richtig? 1.1:
Das Google-Suchen des entsprechenden Threads mit der Lösung hat keine 10 Sekunden gebraucht "c# get all outlook appointments".
Das hätte also a) den unnötigen Thread wie auch b) Dir Zeit gespart.
Jetzt muss ich alle Kalender auslesen und die darin enthaltenen Termine darstellen.
Es sollen auch Termine angelegt werden können
Google konnte mir bissher nicht weiterhelfen.
Auch: Freigebene Kalender in Outlook auslesen
hat mich nicht wirklich weiter gebracht denn mir wird der Teamkalender (Bild) nicht angezeigt 😦
Gruß Fabi
Azubi im 2ten Lehrjahr (Fachinformatiker Anwendungsentwicklung)
Codieren Sie immer so, als wäre der Typ, der den Code pflegen muss, ein gewaltbereiter Psychopath, der weiß, wo Sie wohnen.
Google führte mich hier her: C#: Get Event from shared calendar(s)
Lg, XXX
ich habe es nun mit folgendem Code probiert:
CalendarModule calModule = (CalendarModule)Globals.ThisAddIn.Application.ActiveExplorer ().NavigationPane.Modules.GetNavigationModule (OlNavigationModuleType.olModuleCalendar);
foreach (NavigationGroup group in calModule.NavigationGroups)
{
for (int i = 1; i <= group.NavigationFolders.Count - 1; i++)
{
for (int x = 1; x <= group.NavigationFolders[i].Folder.Items.Count; x++)
{
Trace.WriteLine(string.Format("Appointment Subject: {0}", ((AppointmentItem)group.NavigationFolders[i].Folder.Items[x]).Subject));
}
}
}
aber es gibt immer einen Fehler bei : for (int x = 1; x ≤ group.NavigationFolders_.Folder.Items.Count; x++)> Fehlermeldung:
Fehler beim Ausführen der Operation.
Nach einer weile habe ich rausgefunden das es am "Folder" liegt wie im Bild zu sehen.
Ich hoffe mir kann jmd weiterhelfen... 🙁 X(
Azubi im 2ten Lehrjahr (Fachinformatiker Anwendungsentwicklung)
Codieren Sie immer so, als wäre der Typ, der den Code pflegen muss, ein gewaltbereiter Psychopath, der weiß, wo Sie wohnen.
Google führte mich hier her:
>
Erfolglos X(
Azubi im 2ten Lehrjahr (Fachinformatiker Anwendungsentwicklung)
Codieren Sie immer so, als wäre der Typ, der den Code pflegen muss, ein gewaltbereiter Psychopath, der weiß, wo Sie wohnen.
Hallo Hobelschlunze
was war daran erfolglos? Hast du das Beispiel probiert?
Lg, XXX
Ja und zwar erhalte ich dann Öffentliche Ordner aber nicht den Teamkalender und nur meine eigenen Appointments
Eigentlich funktioniert der Code von mir den ich oben gepostet habe... nur bis auf diese eine Variable
was war daran erfolglos? Hast du das Beispiel probiert?
der Code gibt Folgenden Fehler: > Fehlermeldung:
Ein Dialogfeld ist geöffnet. Schließen Sie das Dialogfeld und versuchen Sie es erneut.
Habe an dem Code heute auch schon viel gebastelt
Azubi im 2ten Lehrjahr (Fachinformatiker Anwendungsentwicklung)
Codieren Sie immer so, als wäre der Typ, der den Code pflegen muss, ein gewaltbereiter Psychopath, der weiß, wo Sie wohnen.
Wie man der Dokumentation entnehmen kann ist ein NavigationFolder nicht zwangsläufig ein MAPIFolder. Es kann genauso ein Outlook.Folder
sein.
Ergo ist die Wahrscheinlichkeit, dass ein Zwangs-Casting einem um die Ohren fliegt, wie Du es machst, ziemlich hoch.
Besser zB:
Outlook.Folder f = folder.Folder as Outlook.Folder;
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Sry wegen der vielen Posts...
Danke jetzt funktionierts wunderbar, außer bei einem Kalender aber da scheint das Problem nicht am Code sondern an der Berechtigung zu liegen...
Azubi im 2ten Lehrjahr (Fachinformatiker Anwendungsentwicklung)
Codieren Sie immer so, als wäre der Typ, der den Code pflegen muss, ein gewaltbereiter Psychopath, der weiß, wo Sie wohnen.