我有这样的代码
var mi = MyAddIn.Application.ActiveInspector().CurrentItem as MailItem;
if (mi != null)
{
mi.Attachments.Add(myFilePath);
}
这段代码的问题是它假定新的邮件对话框将被打开(ActiveInspector
CurrentItem
是 a MailItem
)。但是,在我的情况下并非总是如此。
如果不是这种情况,那么上面的代码获取mi
将抛出NullReferenceException
.
如何检查我是否打开了新的邮件对话框,如果是,则使用上面的行来获取它;否则创建新的 MailItem(新邮件对话框)?
我正在尝试做这样的事情:
var mi;
if (MyAddIn.Application.ActiveInspector().CurrentItem != null)
{
// get existing
mi = MyAddIn.Application.ActiveInspector().CurrentItem as MailItem;
}
else
{
// otherwise, create new one
mi = MyAddIn.Application.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem);
}
// now use it to attach file
if (mi != null)
{
mi.Attachments.Add(myFilePath);
}