如果您希望從 Outlook 中刪除過時的約會和會議中的附件,您可以閱讀本文。 下面我們就為大家介紹一下如何一次性實現。
要減小 Outlook 文件的大小,強烈建議清理舊項目。 這可以通過內置的“自動存檔”功能來實現,該功能可以定期自動刪除舊項目。 然而,一些用戶只是希望刪除舊項目中的附件而不影響項目本身。 在下文中,我們將教您從舊日曆項目中批量刪除附件。

批量刪除過時日曆項目中的附件
- 首先,通過“Alt + F11”訪問 Outlook VBA 編輯器。
- 然後,在“Microsoft Visual Basic for Applications”窗口中,將 VBA 代碼複製到模塊中。
Sub BatchDeleteAttachmentsOfOldCalendarItems()
Dim objOutlookFile As Outlook.Folder
Dim objFolder As Outlook.Folder
'Change to your own Outlook file
Set objOutlookFile = Outlook.Application.Session.Folders("John Smith")
For Each objFolder In objOutlookFile.Folders
If objFolder.DefaultItemType = olAppointmentItem Then
Call LoopCalendars(objFolder)
End If
Next
End Sub
Sub LoopCalendars(ByVal objCalendar As Outlook.Folder)
Dim i, n As Long
Dim objCalendarItem As Outlook.AppointmentItem
Dim nDateDiff As Integer
Dim objAttachments As Outlook.Attachments
Dim objSubCalendar As Outlook.Folder
For i = objCalendar.Items.Count To 1 Step -1
Set objCalendarItem = objCalendar.Items(i)
'Remove attachments from items that are more than 2 months old
'Change the datediff as per your needs
nDateDiff = DateDiff("m", objCalendarItem.End, Now) '=> "m" refers to month; "d" for day; "y" for year
If nDateDiff > 2 Then
Set objAttachments = objCalendarItem.Attachments
If objAttachments.Count > 0 Then
For n = objAttachments.Count To 1 Step -1
objAttachments(n).Delete
Next
End If
objCalendarItem.Save
End If
Next
'Process all subfolders recursively
If objCalendar.Folders.Count > 0 Then
For Each objSubCalendar In objCalendar.Folders
Call LoopCalendars(objSubCalendar)
Next
End If
End Sub
- 然後,單擊“BatchDeleteAttachmentsOfOldCalendarItems”宏。
- 最後,按“ F5”鍵運行該宏。
- 宏完成後,您可以檢查所有 Outlook 日曆。
- Outlook 必須已刪除 2 個月以上的日曆項目的所有附件。
處理損壞的 Outlook 文件
您是否遇到過 Outlook 損壞的情況? 你通常如何處理它? 通常,您會首先嘗試收件箱修復工具 – 掃描儀。 但是,如果 PST 嚴重損壞,內置實用程序將無法為您提供幫助。 因此,建議在附近保留一個更有經驗且出色的第三方工具,例如 DataNumen Outlook Repair.
作者簡介:
Shirley Zhang是的數據恢復專家 DataNumen,Inc.是數據恢復技術的全球領導者,包括 sql修復 和Outlook修復軟件產品。 欲了解更多信息,請訪問 萬維網。datanumen.COM

