【问题标题】:VBA Outlook automatically mark all emails in a folder as readVBA Outlook 自动将文件夹中的所有电子邮件标记为已读
【发布时间】:2015-07-30 14:51:49
【问题描述】:

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

【问题讨论】:

  • 规则不能处理吗?
  • 感谢您的代码。不幸的是,它没有用。

标签: vba outlook


【解决方案1】:

确保您的宏安全设置设置正确:

对于 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

【讨论】:

    猜你喜欢
    • 2019-07-19
    • 1970-01-01
    • 1970-01-01
    • 2014-10-19
    • 1970-01-01
    • 2017-09-23
    • 2019-12-24
    • 2015-05-20
    • 1970-01-01
    相关资源
    最近更新 更多