如何在Outlook中將超過特定天數的未讀郵件自動標記為已讀?
如果您的收件匣中有許多未讀郵件,通常您可以手動使用「全部標記為已讀」功能將所有未讀郵件標記為已讀。但是,您是否嘗試過在Outlook中不需每次手動設置,就能自動將超過特定天數的未讀郵件標記為已讀呢?
使用VBA代碼自動將超過特定天數的未讀郵件標記為已讀
要自動將所有超過特定天數的未讀郵件標記為已讀,以下VBA代碼可以幫助您:
1. 按住 ALT + F11 鍵打開 Microsoft Visual Basic for Applications 窗口。
2. 在 Microsoft Visual Basic for Applications 窗口中,雙擊 Project1(VbaProject.OTM) 窗格中的 ThisOutlookSession 以打開模組,然後將以下代碼複製並粘貼到空白模組中。
VBA代碼:自動將超過特定天數的未讀郵件標記為已讀:
Private Sub Application_Startup()
Call MarkOldUnreadEmailsAsRead
End Sub
Private Sub MarkOldUnreadEmailsAsRead()
Dim xInboxFld As Outlook.Folder
Dim xAccount As Account
On Error GoTo L1
For Each xAccount In Outlook.Application.Session.Accounts
Set xInboxFld = xAccount.DeliveryStore.GetDefaultFolder(olFolderInbox)
Call Processfolders(xInboxFld)
Next xAccount
L1: Exit Sub
End Sub
Private Sub Processfolders(ByVal InboxFld As Outlook.Folder)
Dim xItems As Outlook.Items
Dim i As Long
Dim xSubFld As Outlook.Folder
On Error Resume Next
Set xItems = InboxFld.Items
For i = 1 To xItems.Count
If DateDiff("d", xItems(i).ReceivedTime, Now) >= 15 Then
If xItems(i).UnRead = True Then
xItems(i).UnRead = False
xItems(i).Save
End If
End If
Next
If InboxFld.Folders.Count > 0 Then
For Each xSubFld In InboxFld.Folders
Call Processfolders(xSubFld)
Next
End If
End Sub
注意:在上述代碼中,您可以更改此腳本中的天數:If DateDiff("d", xItems(i).ReceivedTime, Now) >= 15 Then 至您所需的數字。

3. 然後保存並關閉此代碼窗口,從此以後,每次啟動Outlook時,所有超過預定天數的未讀郵件都會立即自動標記為已讀。
注意:此代碼僅適用於預設數據帳號。
最佳辦公室生產力工具
最新消息:Kutools for Outlook推出免費版本!
體驗全新的Kutools for Outlook免費版本,擁有70多項令人驚嘆的功能,永久使用!立即點擊下載!
🤖 Kutools AI :使用先進的AI技術輕鬆處理郵件,包括答覆、摘要、優化、擴展、翻譯和撰寫郵件。
📧 郵件自動化:自動回覆(適用於POP和IMAP) / 計劃發送郵件 / 發送郵件時按規則自動抄送密送 / 自動轉發(高級規則) / 自動新增問候語 / 自動將多收件人郵件拆分為個別郵件...
📨 郵件管理:撤回郵件 / 按主題和其他方式阻止詐騙郵件 / 刪除重複郵件 / 高級搜索 / 整合文件夾...
📁 附件專業版:批量保存 / 批量拆離 / 批量壓縮 / 自動保存 / 自動拆離 / 自動壓縮...
🌟 介面魔法:😊更多漂亮和酷炫的表情符号 / 當重要郵件到來時提醒您 / 最小化Outlook而不是關閉...
👍 一鍵奇蹟:帶附件全部答復 / 防止網絡釣魚郵件 / 🕘顯示發件人的時區...
👩🏼🤝👩🏻 聯絡人和日曆:從選中郵件批量新增聯絡人 / 將聯絡人組拆分為個別組 / 移除生日提醒...
立即單擊解鎖Kutools for Outlook。不要等待,立即下載並提升您的效率!

