创建自定义主题的新邮件
在Outlook中新建邮件时,Outlook会新建一个新邮件的窗口,我们就在新建窗口的时候,添加邮件的标题和邮件体的相关内容。在ThisAddIn类中新定义一个表示所有窗口的变量Outlook.Inspectors inspectors,并在ThisAddIn_Startup函数中对其初始化:
// 表示所有窗口的对象
Outlook.Inspectors inspectors;
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
// 使用这个对象表示Outlook中的所有窗口
inspectors = this.Application.Inspectors;
// 为新建窗口事件添加一个事件处理函数
inspectors.NewInspector +=
new Microsoft.Office.Interop.Outlook.
InspectorsEvents_NewInspectorEventHandler(
Inspectors_NewInspector);
}
Outlook.Inspectors inspectors;
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
// 使用这个对象表示Outlook中的所有窗口
inspectors = this.Application.Inspectors;
// 为新建窗口事件添加一个事件处理函数
inspectors.NewInspector +=
new Microsoft.Office.Interop.Outlook.
InspectorsEvents_NewInspectorEventHandler(
Inspectors_NewInspector);
}
这样,当我们在Outlook中新建邮件的时候,事件处理函数Inspectors_NewInspector会被自动调用,我们可以在这个函数中访问Outlook对象模型,填写合适的邮件主题,并对邮件的内容进行编辑:
// 新建邮件窗口事件处理函数
void Inspectors_NewInspector(
Microsoft.Office.Interop.Outlook.Inspector Inspector)
{
// 获得当前邮件体
Outlook.MailItem mailItem =
(Outlook.MailItem)Inspector.CurrentItem;
if (mailItem != null)
{
if (mailItem.EntryID == null)
{
// 设置邮件的标题
mailItem.Subject = "[试金石软件创意工作室]";
// 构造邮件体
string strMailBody;
// 添加称谓,写信人,联系方式和日期
strMailBody = "尊敬的: \n\n陈良乔\n\E-Mail: chenlq@live.com" +
DateTime.Now.ToShortDateString();
// 设置邮件体
mailItem.Body = strMailBody;
}
}
}
void Inspectors_NewInspector(
Microsoft.Office.Interop.Outlook.Inspector Inspector)
{
// 获得当前邮件体
Outlook.MailItem mailItem =
(Outlook.MailItem)Inspector.CurrentItem;
if (mailItem != null)
{
if (mailItem.EntryID == null)
{
// 设置邮件的标题
mailItem.Subject = "[试金石软件创意工作室]";
// 构造邮件体
string strMailBody;
// 添加称谓,写信人,联系方式和日期
strMailBody = "尊敬的: \n\n陈良乔\n\E-Mail: chenlq@live.com" +
DateTime.Now.ToShortDateString();
// 设置邮件体
mailItem.Body = strMailBody;
}
}
}
这时,我们就可以编译运行整个项目进行测试。当我们在Outlook中新建邮件时,Outlook会自动为我们添加邮件主题和邮件的联系信息,这样就省去了我们填写邮件主题和联系信息的时期,可以直接开始书写邮件正文了。
图3 新建自定义主题的邮件