目标: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个邮件......我怎么能看到,更深入的文件夹(子文件夹?)。
答案 0 :(得分:0)
迭代Outlook中的所有文件夹和项目并不是一个好主意。如果需要查找满足条件的项目,可以使用Find / FindNext或Restrict方法。以下文章深入介绍了它们:
但是如果你需要在所有文件夹中找到项目,我建议使用Application类的AdvancedSearch方法。有关详细信息,请参阅Advanced search in Outlook programmatically: C#, VB.NET。