有些用户希望Outlook在退出时能自动清空“垃圾邮件”文件夹。 虽然 Outlook 中没有这样的功能,但仍然可以通过 VBA 实现。
也许您知道 Outlook 有一个内置功能,可以在您退出 Outlook 时自动清空“已删除邮件”文件夹。 同样,您可能希望获得类似的功能,即退出 Outlook 时自动清空“垃圾邮件”文件夹。 虽然 Outlook 不提供这样的功能,但您仍然可以使用 VBA 生成它。 在这里我们将详细指导您实现它。

退出 Outlook 时自动清空“垃圾邮件”文件夹
- 首先,启动 Outlook 程序。
- 然后按“Alt + F11”键按钮访问 Outlook VBA 编辑器。
- 在出现的“Microsoft Visual Basic for Applications”窗口中,您应该找到并打开“ThisOutlookSession”项目。
- 随后,您需要将以下 VBA 代码复制到该项目中。
Private Sub Application_Quit()
Dim objJunkFolder As Outlook.Folder
Dim i As Long
Dim objMail As Outlook.MailItem
Dim objDeletedFolder As Outlook.Folder
Dim objItem As Object
Dim objProperty As Outlook.UserProperty
Set objJunkFolder = Outlook.Application.Session.GetDefaultFolder(olFolderJunk)
For i = objJunkFolder.Items.count To 1 Step -1
If objJunkFolder.Items(i).Class = olMail Then
Set objMail = objJunkFolder.Items(i)
'Add the specific property to each junk email
objMail.UserProperties.Add "Delete", olText
objMail.Save
'Delete them
objMail.Delete
End If
Next
Set objDeletedFolder = Application.Session.GetDefaultFolder(olFolderDeletedItems)
For Each objItem In objDeletedFolder.Items
'Find out the junk emails in the "Deleted Items" folder
Set objProperty = objItem.UserProperties.Find("Delete")
If TypeName(objProperty) <> "Nothing" Then
'Permanently delete them
objItem.Delete
End If
Next
'Prompt You
MsgBox Chr(34) & "Junk Email" & Chr(34) & " Folder Emptied!", vbExclamation + vbOKOnly
End Sub
- 之后,您需要为这个新宏分配一个数字证书。
- 首先点击“工具”按钮。
- 然后从下拉菜单中选择“数字签名”选项。
- 接下来按照屏幕上的说明完成它。
- 稍后更改您的 Outlook 宏设置以启用已签名的 VBA 项目。
- 最后,重启 Outlook 以激活此新宏。
- 从现在开始,每次退出 Outlook 时,“垃圾邮件”文件夹都会自动清空。 您将收到如下图所示的消息:
防止 Outlook 崩溃的有效措施
如果您使用 Outlook 已有数十年,那么您一定遇到过各种错误。 此外,随着时间的推移,您的 Outlook 将趋于崩溃并且 Outlook 数据文件将容易损坏。 因此,为了防止Outlook数据丢失,您最好做好一些预防措施,包括备份PST文件,获取强大的Outlook修复工具,如 DataNumen Outlook Repair. 强烈推荐,因为它在 PST修复.
作者简介:
Shirley Zhang 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 中密度纤维板修复 和 outlook 修复软件产品。 欲了解更多信息,请访问 datanumen.com

