如何自動重命名或刪除與新收到的郵件主題相同的舊郵件

立即分享:

有些人希望 Outlook 可以在新郵件到達時自動檢查舊郵件的主題,如果舊郵件與新郵件主題相同,則重命名或刪除舊郵件。 這需要使用 Outlook VBA。 這篇文章將幫助您實現它。

您一定收到過許多主題相同的電子郵件。 在郵件列表中識別和區分它們是不是有點麻煩? 或者你認為那些舊的電子郵件對你來說毫無用處? 如果是這樣,您必須希望在新電子郵件到達時讓 Outlook 自動掃描並檢查所有現有電子郵件。 當有與新郵件主題相同的郵件時,Outlook 會詢問您是否重命名或刪除它們。 毫無疑問,Outlook 不會為用戶提供這種功能。 因此,您必須求助於 VBA。 下面我們將詳細的代碼和操作公開給大家。

自動重命名或刪除舊電子郵件

  1. 首先,您可以啟動 Outlook 並轉到「開發人員」標籤。
  2. 然後您將能夠找到並單擊“Visual Basic”按鈕。
  3. 點擊後,您將訪問 VBA 編輯器窗口。 在其中,您需要打開“ThisOutlookSession”項目。
  4. 接下來,您應該將以下VBA代碼複製並粘貼到其中。
Public WithEvents olItems As Outlook.Items

Sub Application_Startup()
    'Specify the Emails in Inbox folder
    Set olItems = Outlook.Application.Session.GetDefaultFolder(olFolderInbox).Items
End Sub

Private Sub olItems_ItemAdd(ByVal Item As Object)
    Dim i As Long
    Dim objVariant As Variant
    Dim strMsg As String
    Dim nRes As Integer

    For i = 1 To olItems.Count
        Set objVariant = olItems.Item(i)
        If TypeOf objVariant Is MailItem Then
           If objVariant.Subject = Item.Subject And objVariant.ReceivedTime < Item.ReceivedTime Then
              nDateDiff = DateDiff("d", objVariant.ReceivedTime, Now)
              'Add "(Old)" suffix to the email subjects
              objVariant.Subject = objVariant.Subject & "(Old)"
              objVariant.Save
              'If the old emails have been recieved for 60 days, ask you whether to delete
              If nDateDiff > 60 Then
                 strMsg = "There are some older emails whcih have the same subjects with the new email and have been recieved for 2 months. Do you want to delete them?"
                 nRes = MsgBox(strMsg, vbExclamation + vbYesNo, "Find Older Emails")
                 If nRes = vbYes Then
                    objVariant.Delete
                 End If
              End If
           End If
        End If
    Next
End Sub

VBA 代碼 - 自動重命名或刪除與新收到的郵件主題相同的舊郵件

  1. 隨後,您將需要對此代碼進行數字簽名。 點擊“工具”>“數字簽名”。 然後在彈出的對話框中,您可以選擇一個現有的證書。 如果沒有現成的證書,那麼您可以使用“VBA 項目的數字證書”來創建一個新的證書。簽署 ThisOutlookSession 項目
  2. 之後,您可以退出當前窗口並繼續更改宏設置,僅允許數字簽名的宏。
  3. 最後,您可以重新啟動 Outlook 來啟動新巨集。從現在開始,當收件匣收到新郵件時,Outlook 將自動檢查所有現有郵件。
  • 如果舊郵件的主題與新郵件相同,則 Outlook 會自動為郵件主題添加“(舊)”後綴。
  • 如果舊郵件在收件箱中存儲超過 2 個月,那麼您將收到一個提示,詢問您是否要刪除它們,如下圖所示。 您可以根據自己的需要選擇“是”或“否”。提示詢問是否刪除舊郵件

 由於大尺寸 Outlook 文件損壞

有些人沒有定期刪除 Outlook 中舊項目的習慣。因此,他們的 Outlook 檔案會非常大,這其實很不明智。因為過大的 Outlook 檔案比小的檔案更容易受到損壞。一旦檔案損壞,內建的修復工具 Scanpst.exe 在大多數情況下都無能為力。這時,您可能需要一個非常有效且經過驗證的解決方案。 損壞的 Outlook PST 修復工具一樣, DataNumen Outlook Repair.

作者簡介:

Shirley Zhang是的數據恢復專家 DataNumen,Inc.是數據恢復技術的全球領導者,包括 修理腐敗 SQL Server mdf數據庫 和Outlook修復軟件產品。 欲了解更多信息,請訪問 萬維網。datanumen.COM

立即分享:

評論被關閉。