VSTO Kalender AddIn

DeeFour

Mitglied
Hi,

ich würde gern ein kleines Zeiterfassungstool für den Outlook Kalender als AddIn mit nem Form Region programmieren.

Also wenn ich einen neuen Kalendereintrag mache, habe ich unten in dem Fenster noch zusätzliche Features wie "Zeit erfassen" und "Projektauswahl".

Ich möchte nun, dass diese Daten beim speichern des Kalendereintrags in einer MSSQL Datenbank mitgespeichert werden.

Soweit so gut, aber da die Einträge später noch editierbar sein sollen, müßte ich in die Datenbank die ID des AppointmentItems irgendwie mitspeichern, damit ich das später auch wiederfinde und dem Kalendereintrag zuweisen kann.

Ich raffe aber irgendwie nicht wie ich bei Kalendereinträgen an eine eindeutige ID komme. Hat da jemand ne Idee, Link oder Buchempfehlung?

Entwicklungsumgebung ist in meinem Fall: Visual Studio 2008
Office 2007
Spache C#
 
Zuletzt bearbeitet:
Hi

Die einzelnen Objekte müssten ein Property names EntryID haben, worüber sie identifizierbar sind:

http://support.microsoft.com/?scid=kb;en-us;899919&x=18&y=11

schonmal danke für die schnell Antwort.
Mein Problem ist jetzt nur, dass ich in C# nicht an die EntryID eines AppointmentItems komme.

Ich finde überall im Netz nur VB Codes und die sind scheinbar komplett anders als es in C# für Outlook2007 ist.

auf der Microsoft Seite schreiben die den VB Code so:

Code:
Set oAppt = Application.ActiveInspector.CurrentItem

'Use EntryID to get CDO Message
Set objAppt = objCDO.GetMessage(oAppt.EntryID)

Aber in C# funktioniert Application.ActiveInspector.CurrentItem nicht.

Ich hatte es so probiert, aber das klappt leider auch nicht:

Code:
Outlook.Application objOutlook;
Outlook.AppointmentItem objItem; 
objItem = (Outlook.AppointmentItem) objOutlook.ActiveInspector().CurrentItem;            
MessageBox.Show(objItem.EntryID);
 
Zuletzt bearbeitet:
Hi

Kannst du bitte noch sagen, wie sich "klappt nicht" äußert!

Sobald ich kompiliert habe und Outlook sich öffnet springt es mir in Visual Studio in die Zeile ->

Code:
objItem = (Outlook.AppointmentItem) objOutlook.ActiveInspector().CurrentItem;

und sagt mir: Use the "new" keyword to create an object instance


Noch zur Erklärung den Code habe ich in der ThisAddin.cs Datei stehen in der ThisAddIn_Startup Methode.
 
Das könnte daran liegen, dass du das Objekt nur deklariert, jedoch nicht instantiiert hast.

Die Instanz sollte dir in der Methode OnConnection als Parameter geliefert werden
 
Zurück