VBA Outlook会自动将文件夹中的所有电子邮件标记为已读

时间:2015-05-18 23:31:28

标签: vba outlook outlook-vba

我在Outlook中创建了一条规则。如果他们的主题包含特定单词,此规则会将我的一些电子邮件导出到名为"其他"的文件夹中。通过VBA,我想自动标记文件夹中的所有电子邮件"其他"正如所读,当我开始展望或收到需要转到文件夹"其他"的电子邮件时。

1 个答案:

答案 0 :(得分:3)

确保正确设置了宏安全设置:

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