Vba 有传入邮件时触发代码,以更新传入邮件

Vba 有传入邮件时触发代码,以更新传入邮件,vba,outlook,Vba,Outlook,我正在尝试更新所有收到的电子邮件 该代码在收到电子邮件时触发,但是,它会更新在该时间点“选中”的邮件项目,而不是新邮件 “运行脚本”选项不可用,并且我们的IT尚未准备好更改注册表 专用子应用程序\u NewMail() 调用InsertNum 端接头 子InsertNum() 将邮件设置为Outlook.MailItem 设置Mail=Application.ActiveExplorer.Selection(1) Mail.Subject=“10”和Mail.Subject 邮件,保存 端接头

我正在尝试更新所有收到的电子邮件

该代码在收到电子邮件时触发,但是,它会更新在该时间点“选中”的邮件项目,而不是新邮件

“运行脚本”选项不可用,并且我们的IT尚未准备好更改注册表

专用子应用程序\u NewMail()
调用InsertNum
端接头
子InsertNum()
将邮件设置为Outlook.MailItem
设置Mail=Application.ActiveExplorer.Selection(1)
Mail.Subject=“10”和Mail.Subject
邮件,保存
端接头

使用-它传递可用于调用
命名空间的条目ID列表,而不是使用
NewMail
事件。GetItemfromId

事件处理程序提供接收项的EntryID字符串

void MyApplication_NewMailEx(string anEntryID)
{
  Outlook.NameSpace namespace = Application.GetNamespace("MAPI");  
  Outlook.MAPIFolder folder = Application.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox );
  Outlook.MailItem mailItem = (Outlook.MailItem) outlookNS.GetItemFromID( anEntryID, folder.StoreID );

  // ... process the mail item
}

感谢您的快速回复。然而,它抛出了错误。。。我不清楚如何修复它。对不起,我对Outlook VBA很陌生。您能更具体一点吗?哪行代码会出错?谢谢Eugene。我已经用箭头显示了错误。Sub-InsertNum()将邮件作为Outlook.MailItem-->>显示以下两行“未找到方法或数据成员”。Outlook.NameSpace命名空间=应用程序。GetNamespace(“MAPI”)Outlook.MAPIFolder文件夹=应用程序。会话。GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox)-->>下一行显示语法错误Outlook.MailItem MailItem=(Outlook.MailItem)outlookNS.GetItemFromID(anEntryID,folder.StoreID)