跳至主要内容

如何在Outlook中阅读后将邮件移动到指定文件夹?

Author: Siluvia Last Modified: 2025-05-07

在阅读后将邮件移动到指定文件夹是保持Outlook收件箱整洁的最佳方法。对于许多Outlook用户来说,他们倾向于为这些已读邮件创建一个规则来自动移动。实际上,Outlook并不支持这种规则向导流程。在本文中,我们将向您展示如何通过在Outlook中使用VBA代码,在阅读后将邮件移动到指定文件夹。

在Outlook中阅读后将邮件移动到指定文件夹

Office Tab - 在 Microsoft Office 中启用标签页编辑和浏览,让工作变得轻松愉快。
立即解锁 Kutools for Outlook 的免费版本,永久享受超过 70 项功能的无限访问权限。
通过这些高级功能增强您的 Outlook 2024 - 2010 或 Outlook 365。享受 70 多种强大功能,提升您的邮件体验!

在Outlook中阅读后将邮件移动到指定文件夹

您可以通过运行Outlook中的VBA代码,在阅读后将邮件移动到指定文件夹。

1. 首先,您需要在收件箱文件夹下创建一个名为“已审阅”的新文件夹。

a new folder

2. 打开收件箱文件夹,然后请按 Alt + F11 键打开 Microsoft Visual Basic for Applications 窗口。

3. 然后双击以展开 Project1 > Microsoft Outlook Objects > ThisOutlookSession 来打开 VbaProject.OTM 编辑器。

the VbaProject.OTM editor

4. 然后复制并将以下VBA代码粘贴到 VbaProject.OTM 编辑器中,如上面的截图所示。

VBA代码:阅读后移动邮件

Sub MoveInbox2Reviewed()
On Error Resume Next
Set oOutlook = CreateObject("Outlook.Application")
Set oNamespace = oOutlook.GetNamespace("MAPI")
Set oFolderSrc = oNamespace.GetDefaultFolder(olFolderInbox)
Set oFolderDst = oFolderSrc.Folders("Reviewed")
Set oFilteredItems = oFolderSrc.Items.Restrict("[UnRead] = False")
For Each oMessage In oFilteredItems
    oMessage.Move oFolderDst
Next
End Sub 

5. 然后点击保存按钮保存VBA代码,然后关闭 Microsoft Visual Basic for Applications 窗口。

6. 右键单击快速访问工具栏,并从右键菜单中选择自定义快速访问工具栏。见截图:

the Customize Quick Access Toolbar buton

7. 在Outlook选项对话框中,您需要:

1). 从“选择命令来自”下拉列表中选择

2). 在“选择命令来自”下拉列表下方的框中选择 Project1. ThisOutlookSession

3). 点击添加按钮;

4). 点击确定按钮。

the Outlook Options dialog box

8. 然后您可以看到按钮显示在快速访问工具栏上。确保您位于要从中移动所有已读邮件的收件箱文件夹中,然后点击按钮以运行收件箱内的VBA代码。

the Macro button

注意事项

1. 此VBA代码可应用于Outlook 2007、2010和2013;但在Outlook 2007中,您可以直接点击运行按钮来运行代码。

2. 如果您的Outlook中有多个邮箱账户存在,该VBA代码只能应用于数据文件设为默认值的账户。您可以通过点击 文件 > 信息 > 账户设置 > 账户设置 打开 账户设置 对话框。然后转到 数据文件 选项卡,您会看到默认数据文件已被标记为 the check mark 之前。

the Account Settings dialog box

3. 如果您想将默认数据文件更改为另一个邮箱账户,请选择并高亮显示您想设为默认值的账户,然后在账户设置对话框中点击设为默认值

4. 当第一次运行VBA代码时发现已读邮件没有一次性全部移动,请继续点击宏按钮,直到收件箱中的所有已读邮件都被移出。