hy,
ich hab mit der sucher versucht meine frage zu beantworten, konnte aber leider nichts finden (oder ich habs nicht verstanden 😉).
was ich machen möchte ist mittels c# einen termin in einem bestimmten kalender meines exchange-servers einzutragen.
ist das überhaupt möglich?
wenn ja, hat das schonmal jemand von euch realisiert und kann mir eine starthilfe in form von code-beispielen oder dergleichen unterstützen? gibt es gute seiten die ihr kennt wo ich anfangen kann mit dem thema?
würde mich über unterstützung freuen......
mfg
nasgul
hi nasgul,
nachstehend ein code beispiel
du brauchst meines wissens nach die vsto (visual studio tools für office).
nach deren einbindung kannst du dann nachstehendes realisieren:
using Outlook = Microsoft.Office.Interop.Outlook;
#region Members
private Outlook.MAPIFolder olFldPublicRoot; // Public folders root
private Outlook.MAPIFolder olFldPrivateRoot; // Personal folders root
private Outlook.NameSpace olMAPI; // Session namesapce
private Outlook.ApplicationClass olApp; // Session outlook application
#endregion
private void InitOutlook()
{//Init Outlook Information Store
try
{
olApp = new Outlook.ApplicationClass();
olMAPI = olApp.GetNamespace("MAPI");
olFldPublicRoot = olMAPI.Folders[1];
olFldPrivateRoot = olMAPI.Folders[2];
currentFolder = olMAPI.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderCalendar);
}
catch {}
}
private void MachMirNTermin()
{
Outlook.AppointmentItem ai;
ai = (Outlook.AppointmentItem)currentFolder.Items.Add(Outlook.OlItemType.olAppointmentItem);
ai.Start = DateTime.Now;
ai.Subject = "kannweg";
ai.End = DateTime.Now.AddHours(1);
ai.Save();
}
viel erfolg
hy citizen.ron,
vielen dank für deine hilfe, werde das wahrscheinlich gleich morgen angehen und versuchen mit diesem beispiel mein ziel zu erreichen!!! jetzt würde mich aber dennoch interessieren wo du das herhast??? was ich nämlich auch noch erreichen will ist, das ich es programmtechnisch schaffen möchte per code zu überprüfen, ob sich im angegebenen zeitraum bereits ein termin befindet! wenn man mir also eine gute quelle bzw. anlaufstelle nennen könnte wäre das super!
in jedem fall schomal danke ........ bringt mich sicherlich einen großen schritt weiter!
mfg
nasgul
Die MSDN hat da ein paar interessante Sachen und irgenwo im Internet hab ich mal das komplette Objektmodel gesehen (als VISIO Datei).
"Das Problem kennen ist wichtiger, als die Lösung zu finden, denn die genaue Darstellung des Problems führt automatisch zur richtigen Lösung." Albert Einstein
hallo und danke auch dir!
der verweis: using Outlook = Microsoft.Office.Interop.Outlook;
stellt mich aber bereits vor eine aufgabe die zu lösen ich momentan noch nicht in der lage bin.
wie ist das mit dieser vsto? muß ich diese wirklich haben um mein vorhaben zu realisieren oder kann ich das microsoft objectmodel für office auch so irgendwie nutzen? kann mir einer sagen wo ich die dll bekomme auf die ich verweisen muß?
hab keine lust da noch irgendwas von ms zu kaufen um weiter zu kommen!
wie verhält sich das ?
mfg
nasgul
habs schon gefunden, danke!
leider stört er sich jetzt an "currentFolder" ...
leider stört er sich jetzt an "currentFolder" ...
was stört?
"Das Problem kennen ist wichtiger, als die Lösung zu finden, denn die genaue Darstellung des Problems führt automatisch zur richtigen Lösung." Albert Einstein
hey nasgul,
vermutlich stört den compiler an currentFolder, dass die variablendeklaration in meinem code ausschnitt verlorenging (ich hab dir ja leider nicht meine komplette "wie integriere ich alles was outlook kann in meine anwendung"-bibliothek geschickt... 😛)
currentFolder muss als MAPIFolder deklariert werden:
...
#region Members
private Outlook.MAPIFolder olFldPublicRoot; // Public folders root
private Outlook.MAPIFolder olFldPrivateRoot; // Personal folders root
private Outlook.NameSpace olMAPI; // Session namesapce
private Outlook.ApplicationClass olApp; // Session outlook application
private Outlook.MAPIFolder currentFolder
#endregion
...
hth, ron