我正在尝试更新所有收到的电子邮件。
当电子邮件进入时,代码会触发,但是,它会更新已选择的邮件项目'在那个时间点不是新邮件。
'运行脚本'选项不可用,我们的IT部门尚未准备好更改注册表。
Private Sub Application_NewMail()
Call InsertNum
End Sub
Sub InsertNum()
Dim Mail As Outlook.MailItem
Set Mail = Application.ActiveExplorer.Selection(1)
Mail.Subject = "10" & Mail.Subject
Mail.Save
End Sub
答案 0 :(得分:0)
不使用NewMail
事件,而是使用NewMailEx - 它会传递一个可用于调用Namespace.GetItemfromId
的条目ID列表。
答案 1 :(得分:-1)
NewMailEx事件处理程序提供收到项的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
}