许多用户希望在阅读后将特定邮件从收件箱移动到其他特定文件夹,这样可以保持收件箱邮件文件夹的清洁。 但总是手动移动会很麻烦。 本文将公开一种快速自动实现的方法。
与往常一样,每封收到的电子邮件都会进入 Outlook 的收件箱邮件文件夹。 因此,在这种情况下,收件箱文件夹会随着时间的推移变得杂乱无章。 通常情况下,您可以手动将特定电子邮件移动到其他邮件文件夹,或者创建 Outlook 规则以在特定电子邮件到达您的邮箱后立即自动移动它们。 应用这样的规则要方便得多,但您必须转到特定文件夹才能访问新邮件。 面对这个问题,您可能希望 Outlook 能够在您在收件箱中完成阅读后而不是在它们到达后自动将特定电子邮件从收件箱移动到其他邮件文件夹。 但是Outlook规则无法实现。 幸运的是,您可以使用 Outlook VBA 来实现它。 这是代码以及详细的步骤。
阅读后自动将特定电子邮件移动到特定文件夹
- 首先,启动 Outlook 并切换到“开发人员”选项卡。
- 然后在此选项卡上,单击“Visual Basic”按钮以打开 VBA 编辑器窗口。
- 接下来在新窗口中,您应该找到“ThisOutlookSession”项目并双击打开它。
- 随后将以下 VBA 代码复制并粘贴到其中。
Public WithEvents olItems As Outlook.Items
Sub Application_Startup()
Set olItems = Session.GetDefaultFolder(olFolderInbox).Items
End Sub
Private Sub olItems_ItemChange(ByVal Item As Object)
Dim deFolder As Folder
'Ensure the email marked as read
If TypeOf Item Is MailItem And Item.UnRead = False Then
'Check the email subject and then move to specific folder
'You can change these conditions and folders as per your needs
If InStr(LCase(Item.Subject), "test") > 0 Then
Set deFolder = Session.GetDefaultFolder(olFolderInbox).Parent.Folders("Test")
Item.Move deFolder
End If
If InStr(LCase(Item.Subject), "worklog") > 0 Then
Set deFolder = Session.GetDefaultFolder(olFolderInbox).Parent.Folders("WorkLog")
Item.Move deFolder
End If
If InStr(LCase(Item.Subject), "report") > 0 Then
Set deFolder = Session.GetDefaultFolder(olFolderInbox).Parent.Folders("Report")
Item.Move deFolder
End If
End Sub
- 之后,您应该对该代码进行数字签名。
- 首先,使用内置的“VBA 项目数字证书”工具创建一个新证书。
- 然后将此证书分配给当前宏。 执行下图所示的步骤:
- 稍后您应该更改宏设置以仅启用数字签名的宏。
- 最后你应该重新tart Outlook 以激活此 VBA 项目。 从现在开始,所有收到的电子邮件仍将进入收件箱。 但是一旦新邮件被阅读,它就会自动移动到特定的文件夹中。
解决 Outlook 问题的聪明技巧
由于 Outlook 容易出错,许多用户渴望智能提示来处理常见问题。 通常,米ost 常用技术包括创建新的邮件配置文件、禁用第三方加载项、修复 Office 套件以及使用收件箱修复工具 Scanpst.exe。 如果内置工具失败,您可以求助于另一个更强大的工具 损坏的 Outlook 修复实用程序, 喜欢 DataNumen Outlook Repair.
作者简介:
Shirley Zhang 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 修复损坏的 SQL 数据库 和 outlook 修复软件产品。 欲了解更多信息,请访问 datanumen.com

