删除带附件的邮件,而不管它们进入的文件夹

时间:2016-06-21 10:50:51

标签: vba outlook

我知道如何在Outlook中的任何特定文件夹中删除具有附件的邮件。我希望我的宏删除所有有附件的邮件而不管它们进来的文件夹。简单来说,我想删除有附件的邮件,只要它们进入我的Outlook(在任何子文件夹中)下面编码我正在使用从特定文件夹中删除邮件(RED CODE)。我在收件箱下面有更多的子文件夹。

Public WithEvents myOlItems  As Outlook.items

Private Sub Application_startup()
Dim olApp As Outlook.Application
Dim objNS As Outlook.NameSpace
Set olApp = Outlook.Application
Set objNS = olApp.GetNamespace("MAPI")

Set myOlItems = objNS.GetDefaultFolder(olFolderInbox).Folders("RED CODE").items

End Sub
----------------------------------------------------------------------------
Public Sub myOlItems_ItemAdd(ByVal item As Object)

If item.Attachments.Count > 0 Then

    item.Delete

End If

end sub

1 个答案:

答案 0 :(得分:0)

您需要有一个数组来保存每个特定文件夹的Items对象(IMAPIFolder.Items) - 这样做是为了确保引发事件的变量保持活动状态。

然后,您需要在每个Items对象上挂钩ItemAdd。