/ / Wie überprüft man das Vorhandensein einer Eigenschaft in Outlook Interop? - com-interop, office-interop, ausblick-addin, ausblick-2007, ausblick-2010

Wie überprüft man das Vorhandensein einer Eigenschaft in Outlook Interop? - com-interop, office-interop, ausblick-addin, ausblick-2007, ausblick-2010

Ich versuche den Absender einer E-Mail in Outlook 2007 und höher zu ermitteln. In Outlook 2010 haben Sie eine Sender Eigentum auf dem MailItem Objekt, während Sie in Outlook 2007 müssen Sie es anders als in erwähnt tun diese Frage.

Jetzt muss ich wissen, ob die aktuelle Version von Outlook das unterstützt Sender Eigenschaft, und wenn dies nicht der Fall ist, verwenden Sie die andere Methode. Der Grund dafür ist, würde ich bevorzugen, das zu verwenden Sender Eigenschaft für die Kompatibilität mit zukünftigen Versionen von Outlook statt Bedingung für die Version von Outlook.

Die Frage ist also, wie kann ich feststellen, ob eine Eigenschaft in Outlook Interop existiert? Da es sich um ein COM-Objekt handelt, kann ich hier keine Reflexion verwenden.

Antworten:

1 für die Antwort № 1

Ich habe die MailItem.ItemProperties-Auflistung verwendet, um nach der Eigenschaft "Sender" zu suchen. Unten ist der Code

Microsoft.Office.Interop.Outlook.MailItem myMail;

//Code to get the mail
....

Microsoft.Office.Interop.Outlook.ItemProperties mailProps = myMail.ItemProperties;

Microsoft.Office.Interop.Outlook.ItemProperty mailProp = mailProps.Item  ("Sender"); //the parameter is case-sensitive

if(mailProp != null)
{
//get email address using Sender object
Microsoft.Office.Interop.Outlook.AddressEntry theSender = myMail.Sender;
}
else
{
//use alternate method for Outlook 2007
}

0 für die Antwort № 2

Sie können verwenden IDispatch :: GetIDsOfNames um zu sehen, ob die Eigenschaft existiert