Outlook VBA是一种用于自动化Microsoft Outlook的编程语言,可以通过编写脚本来实现各种自定义功能。要仅删除超过90天的电子邮件,可以使用以下代码:
Sub DeleteOldEmails()
Dim olApp As Outlook.Application
Dim olNamespace As Outlook.Namespace
Dim olFolder As Outlook.Folder
Dim olItems As Outlook.Items
Dim olMail As Outlook.MailItem
Dim olRestrictItems As Outlook.Items
Dim olRestrictMail As Outlook.MailItem
Dim olDeleteFolder As Outlook.Folder
Dim olDeleteItems As Outlook.Items
' 创建Outlook应用程序对象
Set olApp = New Outlook.Application
' 获取当前Outlook会话
Set olNamespace = olApp.GetNamespace("MAPI")
' 获取收件箱文件夹
Set olFolder = olNamespace.GetDefaultFolder(olFolderInbox)
' 获取收件箱中的所有邮件
Set olItems = olFolder.Items
' 设置过滤条件,仅获取超过90天的邮件
Set olRestrictItems = olItems.Restrict("[ReceivedTime] < '" & Format(Date - 90, "ddddd h:nn AMPM") & "'")
' 创建一个用于删除邮件的文件夹
Set olDeleteFolder = olNamespace.GetDefaultFolder(olFolderDeletedItems)
' 获取删除文件夹中的所有邮件
Set olDeleteItems = olDeleteFolder.Items
' 遍历符合条件的邮件并删除
For Each olMail In olRestrictItems
' 将邮件移动到删除文件夹
Set olRestrictMail = olDeleteItems.Add(olMail)
' 删除邮件
olRestrictMail.Delete
Next olMail
' 释放对象
Set olRestrictMail = Nothing
Set olDeleteItems = Nothing
Set olDeleteFolder = Nothing
Set olRestrictItems = Nothing
Set olItems = Nothing
Set olFolder = Nothing
Set olNamespace = Nothing
Set olApp = Nothing
MsgBox "已删除超过90天的电子邮件。"
End Sub
这段VBA代码首先创建了Outlook应用程序对象,并获取了收件箱文件夹和其中的所有邮件。然后,通过设置过滤条件,筛选出超过90天的邮件。接下来,创建一个用于删除邮件的文件夹,并将符合条件的邮件移动到该文件夹中。最后,通过循环遍历删除文件夹中的邮件,并删除它们。最后,弹出一个消息框提示已删除超过90天的电子邮件。
这里推荐使用腾讯云的邮件推送服务(https://cloud.tencent.com/product/ses)来发送邮件,以确保邮件的可靠性和安全性。
领取专属 10元无门槛券
手把手带您无忧上云