C# 如何更改预览窗格中显示或打开的邮件项
我正在尝试编写一个加载项,它可以在加载Outlook邮件项目时(通过预览窗格或打开它)修改该项目。这是我到目前为止的代码,但我似乎无法实际访问邮件项目C# 如何更改预览窗格中显示或打开的邮件项,c#,outlook,ms-office,outlook-addin,office-2010,C#,Outlook,Ms Office,Outlook Addin,Office 2010,我正在尝试编写一个加载项,它可以在加载Outlook邮件项目时(通过预览窗格或打开它)修改该项目。这是我到目前为止的代码,但我似乎无法实际访问邮件项目 public partial class ThisAddIn { private void ThisAddIn_Startup(object sender, EventArgs e) { Application.ItemLoad += ApplicationOnItemLoad; } privat
public partial class ThisAddIn
{
private void ThisAddIn_Startup(object sender, EventArgs e)
{
Application.ItemLoad += ApplicationOnItemLoad;
}
private void ApplicationOnItemLoad(object item)
{
var mail = item as MailItem;
if (mail != null)
{
Console.WriteLine(mail.HTMLBody);
}
}
// Etc...
}
代码到达
控制台.WriteLine(mail.HTMLBody)代码>语句很好,这意味着将该项目转换为Outlook邮件项目很好(它不会以null结束)。但是,我无法访问任何MailItem成员。。。它只是抛出异常:
“System.Runtime.InteropServices.COMException”类型的首次意外异常
在MyOutlookProject.DLL中发生
“System.Reflection.TargetInvocationException”类型的第一次意外异常
发生在mscorlib.dll中
在项目完全加载之前发生。除了类
和消息类
之外,您无法读取项
上的任何属性
从MSDN。。。
Outlook项目开始加载到内存时发生此事件。除了Outlook项目的Class和MessageClass属性的值外,该项目的数据尚不可用,因此为项目中返回的Outlook项目调用Class或MessageClass以外的任何属性时发生错误
要访问预览窗格中的邮件项目
,您应该查看。要访问已打开的邮件项目
(通过inspector)-利用