為了使Outlook郵箱尺寸較小並防止Outlook數據損壞,建議從特定時間段之前已接收或發送的電子郵件中刪除附件。 本文將幫助您使用Outlook VBA快速完成此任務。
眾所周知,隨著Outlook郵箱的增加,Outlook數據將變得更加脆弱。 因此,我習慣於刪除早於特定日期的舊電子郵件中的附件,因為通常我以前已將這些附件保存到本地磁盤中。 但是,我必須找出過期的電子郵件,然後手動刪除附件,這有點麻煩。 為了提高效率,我通過Outlook VBA提出了一個解決方案。
從超過特定日期的已接收電子郵件中刪除附件
- 首先,打開Outlook並轉到“開發人員”選項卡。
- 然後按“代碼”組中的“ Visual Basic”按鈕。

- 將會打開一個新窗口。 在其中,您應該打開一個新模塊並將以下代碼複製到其中。
Sub RemoveAttachmentsfromAgedEmail()
Dim olInbox As Outlook.Folder
Dim varItem As Variant
Dim i As Integer
Dim intDatDiff As Integer
Dim Att As Attachment
Set olInbox = Session.GetDefaultFolder(olFolderInbox)
For i = olInbox.Items.Count To 1 Step -1
Set varItem = olInbox.Items.Item(i)
If varItem.Class = olMail Then
'calculate the period between now and the received time
intDatDiff = DateDiff("d", varItem.ReceivedTime, Now)
'You can replace "50" as per your needs
If intDatDiff > 50 Then
For Each Att In varItem.Attachments
Att.Delete
Next Att
varItem.Save
End If
End If
Next
End Sub
- 現在,您可以退出當前的“ Visual Basic”窗口,然後將宏添加到快速訪問工具欄。 請按照以下步驟操作:
- 首先,點擊快速訪問工具欄中的向下箭頭,然後從下拉列表中選擇“更多命令”。
- 然後,您應該在“選擇命令來源”字段中選擇“宏”。
- 接下來,選擇正確的宏,然後單擊中間的“添加”按鈕。
- 最後,單擊“確定”按鈕將其啟用,然後返回到Outlook主窗口。
- 最終,您可以找到並單擊快速訪問工具欄中的按鈕。 郵件中的附件早於您指定的日期將被快速刪除。
從特定日期之前發送的電子郵件中刪除附件
為了達到這個目的,您可以復制上面的整個VBA代碼,但按照以下注意事項更改某些行:
- 首先,在VBA代碼中將所有“ olInbox”更改為“ olSentItemFolder”。
- 然後將“ Set olInbox = Session.GetDefaultFolder(olFolderInbox)”替換為:
Set olSentItemFolder = Session.GetDefaultFolder(olFolderSentMail)
- 接下來,將“ intDatDiff = DateDiff(“ d”,varItem.ReceivedTime,Now)”替換為:
intDatDiff = DateDiff("d", varItem.SentOn, Now)
消除煩人的Outlook錯誤
如果您使用Outlook已有很長時間,那麼常見錯誤肯定已經成為常見問題。 顯然,您無法預測或完全擺脫它們。 您可以做的只是盡力解決這些問題。 例如,使用收件箱修復工具Scanpest.exe來 修復Outlook電子郵件錯誤。 另外,在意外崩潰的情況下,您必須對Outlook數據進行定期備份。
作者簡介:
Shirley Zhang是的數據恢復專家 DataNumen,Inc.是數據恢復技術的全球領導者,包括 修復 SQL Server mdf損壞 和Outlook修復軟件產品。 欲了解更多信息,請訪問 萬維網。datanumen.COM


