【发布时间】:2015-07-30 14:51:49
【问题描述】:
我在 Outlook 中创建了一条规则。如果邮件的主题包含特定单词,则此规则会将我的一些电子邮件导出到名为“其他”的文件夹中。通过 VBA,我想在启动 Outlook 或收到需要转到“其他”文件夹的电子邮件时自动将“其他”文件夹中的所有电子邮件标记为已读。
【问题讨论】:
-
规则不能处理吗?
-
感谢您的代码。不幸的是,它没有用。
我在 Outlook 中创建了一条规则。如果邮件的主题包含特定单词,则此规则会将我的一些电子邮件导出到名为“其他”的文件夹中。通过 VBA,我想在启动 Outlook 或收到需要转到“其他”文件夹的电子邮件时自动将“其他”文件夹中的所有电子邮件标记为已读。
【问题讨论】:
确保您的宏安全设置设置正确:
对于 Outlook 2010 及更高版本:文件、选项、信任中心、信任中心设置、宏安全性,否则,您需要使用 selfcert.exe 签署您的我强烈推荐使用宏来测试它们
当电子邮件被移动到收件箱的子文件夹(“其他”)时,它会被标记为已读。
将代码放在 ThisOutlookSession 模块中,必须重启 Outlook。
在 Outlook 2010
上测试Private WithEvents Items As Outlook.Items
Private Sub Application_Startup()
Dim olNs As Outlook.NameSpace
Dim Folder As Outlook.MAPIFolder
Set olNs = Application.GetNamespace("MAPI")
Set Folder = olNs.GetDefaultFolder(olFolderInbox)
'// change the folder if need here
Set Folder = olFolder.Folders("Others")
Set Items = Folder.Items
End Sub
Private Sub Items_ItemAdd(ByVal Item As Object)
Item.UnRead = False
Item.Save
End Sub
【讨论】: