Skip to main content

如何在Outlook中閱讀郵件後將其移動到指定資料夾?

Author: Siluvia Last Modified: 2025-05-12

在閱讀郵件後將其移動到指定資料夾是保持Outlook收件匣整潔的最佳方法。對於許多Outlook用戶來說,他們通常會為這些已讀郵件創建規則來進行移動。實際上,Outlook並不支持這種規則嚮導流程。在本文中,我們將向您展示如何使用VBA代碼在Outlook中閱讀郵件後將其移動到指定資料夾。

在Outlook中閱讀郵件後將其移動到指定資料夾

Office Tab - 啟用 Microsoft Office 中的分頁編輯和瀏覽功能,讓工作變得輕鬆愉快
立即解鎖 Kutools for Outlook 的免費版本,享受超過 70 種功能的無限存取權限
強化您的 Outlook 2024 - 2010 或 Outlook 365,使用這些進階功能。享受 70 多種強大功能,提升您的郵件體驗!

在Outlook中閱讀郵件後將其移動到指定資料夾

您可以在Outlook中運行VBA代碼,將已讀郵件移動到指定資料夾。

1. 首先,您需要在收件匣下創建一個名為“Reviewed”的新資料夾。

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代碼只能應用於數據文件設為默認值的帳戶。您可通過點擊 File > Info > Account Settings > Account Settings 以打開 Account Settings 對話框。然後轉到 Data File 標籤,您會看到默認數據文件已被標記為 the check mark 之前。

the Account Settings dialog box

3. 如果您想將默認數據文件更改為另一個郵件帳戶,請選擇並突出顯示您要設為默認值的帳戶,然後在帳戶設置對話框中點擊設為默認值

4. 當第一次運行VBA代碼時發現已讀郵件未一次性全部移動,請繼續點擊宏按鈕,直到收件匣中的所有已讀郵件都被移出。