許多用戶希望閱讀後將特定電子郵件從收件箱移動到其他特定文件夾,這將使收件箱郵件文件夾保持乾淨。 但是總是手動移動會很麻煩。 本文將介紹一種自動實現它的快速方法。
像往常一樣,每個傳入的電子郵件都將落入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項目數字證書”工具來創建新證書。
- 然後將此證書分配給當前宏。 請執行下圖所示的步驟:
- 稍後,您應該更改宏設置以僅啟用數字簽名的宏。
- 最後,您需要重新啟動 Outlook 以啟動此 VBA 專案。從現在開始,所有收到的郵件仍會進入收件匣。但新郵件一旦被閱讀,就會自動移動到指定的資料夾。
智能技巧解決Outlook問題
由於 Outlook 容易出錯,許多使用者都渴望獲得一些實用技巧來應對常見問題。通常,最常用的方法包括建立新的郵件設定檔、停用第三方加載項、修復 Office 套件以及使用收件匣修復工具 Scanpst.exe。如果內建工具失效,您可以嘗試其他更強大的工具。 損壞的Outlook修復工具一樣, DataNumen Outlook Repair.
作者簡介:
Shirley Zhang是的數據恢復專家 DataNumen,Inc.是數據恢復技術的全球領導者,包括 修復損壞的SQL數據庫 和Outlook修復軟件產品。 欲了解更多信息,請訪問 萬維網。datanumen.COM

