Outlook VBA,如何仅删除超过90天的电子邮件

Outlook VBA,如何仅删除超过90天的电子邮件,vba,outlook,Vba,Outlook,我有一段代码,删除一个特定文件夹内的所有电子邮件,但我需要它只删除超过90天的电子邮件,并希望有人能够帮助我,我列出了下面的代码 Sub RemoveAllItemsAndFoldersInDeletedItems() Dim oDeletedItems As Outlook.Folder Dim oFolders As Outlook.Folders Dim oItems As Outlook.Items Dim i As Long 'Obtain a

我有一段代码,删除一个特定文件夹内的所有电子邮件,但我需要它只删除超过90天的电子邮件,并希望有人能够帮助我,我列出了下面的代码

Sub RemoveAllItemsAndFoldersInDeletedItems()
    Dim oDeletedItems As Outlook.Folder
    Dim oFolders As Outlook.Folders
    Dim oItems As Outlook.Items
    Dim i As Long
    'Obtain a reference to deleted items folder
    Set oDeletedItems = Application.Session.GetDefaultFolder(olFolderDrafts)
    Set oItems = oDeletedItems.Items
    For i = oItems.Count To 1 Step -1
        oItems.Item(i).Delete
    Next
    Set oFolders = oDeletedItems.Folders
    For i = oFolders.Count To 1 Step -1
        oFolders.Item(i).Delete
    Next
End Sub

您可以添加一个If语句来比较循环中每个电子邮件的当前日期和发送日期

按如下方式更改循环的oItems:

For i = oItems.Count To 1 Step -1
    If DateDiff("d", oItems.Item(i).SentOn, Now) > 90 Then
        oItems.Item(i).Delete
    End If
Next

你只需要设置一个收件箱规则就可以了。是的,但我被要求设置一个按钮,按钮后面有一个宏来完成这项工作?谢谢,这样运行起来很完美。