Laden...

Exchange Kalender

Erstellt von nasgul vor 18 Jahren Letzter Beitrag vor 18 Jahren 2.893 Views
N
nasgul Themenstarter:in
4 Beiträge seit 2005
vor 18 Jahren
Exchange Kalender

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

432 Beiträge seit 2005
vor 18 Jahren

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

N
nasgul Themenstarter:in
4 Beiträge seit 2005
vor 18 Jahren

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

1.274 Beiträge seit 2005
vor 18 Jahren

Die MSDN hat da ein paar interessante Sachen und irgenwo im Internet hab ich mal das komplette Objektmodel gesehen (als VISIO Datei).

siehe MSDN Libary

"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

N
nasgul Themenstarter:in
4 Beiträge seit 2005
vor 18 Jahren

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

N
nasgul Themenstarter:in
4 Beiträge seit 2005
vor 18 Jahren

habs schon gefunden, danke!

leider stört er sich jetzt an "currentFolder" ...

1.274 Beiträge seit 2005
vor 18 Jahren

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

432 Beiträge seit 2005
vor 18 Jahren

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