当有传入邮件更新传入电子邮件时触发代码
问题描述:
我试图更新所有传入的电子邮件。当有传入邮件更新传入电子邮件时触发代码
当电子邮件进入时,代码触发,但是,它更新当时选择的邮件项目,而不是新邮件。
“运行脚本”选项不可用,我们的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
答
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
}
感谢您的快速响应。然而,它会引发错误...我不清楚如何解决它。对于Outlook VBA我很新,很抱歉。 – Ram
你能更具体吗?哪行代码会引发错误? –
谢谢尤金。我用箭头显示了错误。 子InsertNum() 昏暗邮件作为Outlook.MailItem - >>下面2行是显示 “方法或数据成员未找到” Outlook.NameSpace名称空间= Application.GetNamespace( “MAPI”) Outlook.MAPIFolder Folder = Application.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox) - >>下面的行显示语法错误 Outlook.MailItem mailItem =(Outlook.MailItem)outlookNS.GetItemFromID(anEntryID,folder.StoreID) – Ram