VBA Outlook宏:文件夹包含多少个电子邮件?

时间:2014-12-09 07:30:54

标签: vba outlook

目标:Outlook-VBA宏查看每个可用文件夹并检查它是否包含邮件消息。如果不是,则用户可以决定删除该文件夹。有没有办法做到这一点?

Sub findAndDeleteEmptyFolders()

Dim Folders As Outlook.Folders
Dim F As Outlook.MAPIFolder
Dim FoundMail As Boolean

Set Folders = Application.Session.Folders


For Each F In Folders
    Dim FItems As Integer
    FItems = F.Items.count

    MsgBox ("Der Ordner: " & F.Name & " hat " & FItems & " Items")
Next

End Sub

所以这段代码只是查看顶部文件夹,而不是像" Inbox"这样的文件夹。它给出了每个活动邮件帐户都有0个邮件,但其中一些邮件中有9000个邮件......我怎么能看到,更深入的文件夹(子文件夹?)。

1 个答案:

答案 0 :(得分:0)

迭代Outlook中的所有文件夹和项目并不是一个好主意。如果需要查找满足条件的项目,可以使用Find / FindNext或Restrict方法。以下文章深入介绍了它们:

但是如果你需要在所有文件夹中找到项目,我建议使用Application类的AdvancedSearch方法。有关详细信息,请参阅Advanced search in Outlook programmatically: C#, VB.NET