in Outlook.ItemEvents_10_Event auf MailItem-Objekt zugreifen

StehtimSchilf

Erfahrenes Mitglied
Hi Forum

Meine Appli erstellt Dokumente, erstellt ein Outlook-MailItem, fügt die erstellten Dokumente als Attachments an setzt standard-Betreff und Mailbody und zeigt anschl. die Outlook-Mailitem an. Soweit alles i.O.

Nun ist es erforderlich, dass für alle Empfänger die Operation X (ist hier irrelevant) ausgeführt wird.

Also habe ich:

Code:
static void bla() {
Outlook.MailItem myMailItem= (Outlook.MailItem)olApp.CreateItem(Outlook.OlItemType.olMailItem);

((Outlook.ItemEvents_10_Event)myMailItem).Send += new Microsoft.Office.Interop.Outlook.ItemEvents_10_SendEventHandler(MySendEventHandler);

   myMailItem.XXX = ...
   myMailItem.YYY = ...
   myMailItem.ZZZ = ...

   myMailItem.Display(true); // modal ******

   
}


static void MySendEventHandler(ref bool Cancel) {
   // wie komm ich hier an myMailItem.Recipients ****?

   foreach (Recipient r in Recipients) {
   doX(r);
}

Wie komm ich also nun im Eventhandler an die kompletten Eigenschaften des Objekts? Denn der Benutzer kann ja, sobald die Email angezeigt wird, selber Empfänger hinzufügen.... Ich wollte auch schon die EntryId auslesen und anschliessen die entsprechende Email anhand der EntryId suchen, aber die EntryId wird erst gesetzt, wenn man die Email a) speichert oder b) verschickt hat!

Ideen?

cheerioh
SiS
 

StehtimSchilf

Erfahrenes Mitglied
hab gerade was gewurstelt:

wenn ich myMailItem als Klassenvariable definiere, dann kann ich ja folglich in MySendEventHandler() darauf zugreifen - und glücklicherweise sind dann alle Eigenschaften (.Sent, .SentOn, .Recipients) aktualisiert :)

Ob das sauber ist?

Denn nun kann ich keine Instanzen mehr machen von meiner Klasse - weil eben static! tja!

cheerioh
SiS