如何在郵件傳送後自動從已傳送郵件中刪除附件?
當傳送帶有附件的郵件時,附件會預設與郵件一起存儲到已傳送郵件資料夾中。為了減少您的PST檔案大小,您可能希望在郵件傳送後自動從已傳送郵件中刪除附件。本文將介紹如何在Outlook中完成此任務。
在郵件傳送後自動從已傳送郵件中刪除附件
以下VBA代碼可以幫助您在Outlook郵件傳送後自動刪除附件,請按照以下步驟操作:
1. 按住「ALT」+「F11」鍵打開「Microsoft Visual Basic for Applications」視窗。
2. 在「Microsoft Visual Basic for Applications」視窗中,雙擊「Project1(VbaProject.OTM)」窗格中的「ThisOutlookSession」以打開模組,然後複製並將以下代碼粘貼到空白模組中。
VBA代碼:在郵件傳送後自動從已傳送郵件中刪除附件:
Public WithEvents SentMailItems As Outlook.Items
Private Sub Application_Startup()
Set SentMailItems = Outlook.Application.Session.GetDefaultFolder(olFolderSentMail).Items
End Sub
Sub SentMailItems_ItemAdd(ByVal Item As Object)
Dim xSentMail As Outlook.MailItem
Dim xAttachments As Outlook.Attachments
Dim xAttachment As Outlook.Attachment
Dim xAttachmentInfo As String
On Error Resume Next
If Item.Class = olMail Then
Set xSentMail = Item
End If
Set xAttachments = xSentMail.Attachments
For i = xAttachments.Count To 1 Step -1
Set xAttachment = xAttachments.Item(i)
xAttachmentInfo = "<HTML><BODY>" & xAttachment.DisplayName & _
"</BODY></HTML>" & vbCrLf & xAttachmentInfo
xAttachment.Delete
Next
xSentMail.HTMLBody = "<HTML><BODY><font color=#FF0000>Attachment Removed: </font><br/></BODY></HTML>" & _
xAttachmentInfo & "<HTML><BODY><br/></BODY></HTML>" & xSentMail.HTMLBody
xSentMail.Save
End Sub

3. 插入上述代碼後,請重新啟動您的Outlook以使代碼生效。
4. 從現在開始,當您傳送帶有附件的郵件時,附件將自動從已傳送郵件中刪除,如下方截圖所示:

便簽:此代碼僅適用於預設數據帳戶。
最佳 Office 生產力工具
最新消息:Kutools for Outlook 推出免費版本!
體驗全新 Kutools for Outlook,擁有100+ 強大功能!立即下載!
🤖 Kutools AI :運用先進 AI 技術,輕鬆處理郵件,包括答覆、摘要、優化、擴寫、翻譯與撰寫郵件。
📧 郵件自動化:自動回覆(支援 POP 和 IMAP) / 計劃發送郵件 / 發送郵件時根據規則自動抄送密送 / 自動轉發(高級規則) / 自動新增問候語 / 自動將多收件人郵件分割為個別郵件 ...
📨 郵件管理:撤回郵件 /依主題等條件阻擋詐騙郵件 / 刪除重複郵件 / 高級搜索 / 整合文件夾 ...
📁 附件專業版:批次保存 / 批次拆離 / 批次壓縮 / 自動保存 / 自動拆離 / 自動壓縮 ...
🌟 介面魔法:😊更多精美酷炫表情符號 /重要郵件來臨提醒 / 最小化 Outlook 而非關閉 ...
👍 一鍵神技:帶附件全部答復 /反釣魚郵件 / 🕘顯示發件人時區 ...
👩🏼🤝👩🏻 聯絡人與日曆:批次從選中郵件新增聯絡人 / 將聯絡人組分割為多個組 / 移除生日提醒 ...
以您偏好的語言使用 Kutools —— 支援英語、西班牙語、德語、法語、中文及40 多種其他語言!
只需一鍵即可立即啟用 Kutools for Outlook。立即下載,提升您的效率!

