ฉันพบคำตอบโดยค้นหาคำถามที่คุณถาม
คุณจะต้องสร้างแมโครด้วยซอร์สโค้ดต่อไปนี้ (เปลี่ยนชื่อของกล่องจดหมายเป็นของคุณเอง):
Set olResCalendar = OpenMAPIFolder("\MailboxName\Calendar")
Sub RemoveCanceledAppointments()
Dim olResCalendar As Outlook.MAPIFolder, olApptItem As Outlook.AppointmentItem, intCounter As Integer
'Change the path to the resource calendar on the next line
Set olResCalendar = OpenMAPIFolder("\MailboxName\Calendar")
For intCounter = olResCalendar.Items.Count To 1 Step -1
Set olApptItem = olResCalendar.Items(intCounter)
If Left(olApptItem.Subject, 9) = "Canceled:" Then
olApptItem.Delete
End If
Next
Set olApptItem = Nothing
Set olResCalendar = Nothing
End Sub
Function OpenMAPIFolder(szPath)
Dim app, ns, flr, szDir, i
Set flr = Nothing
Set app = CreateObject("Outlook.Application")
If Left(szPath, Len("\")) = "\" Then
szPath = Mid(szPath, Len("\") + 1)
Else
Set flr = app.ActiveExplorer.CurrentFolder
End If
While szPath <> ""
i = InStr(szPath, "\")
If i Then
szDir = Left(szPath, i - 1)
szPath = Mid(szPath, i + Len("\"))
Else
szDir = szPath
szPath = ""
End If
If IsNothing(flr) Then
Set ns = app.GetNamespace("MAPI")
Set flr = ns.Folders(szDir)
Else
Set flr = flr.Folders(szDir)
End If
Wend
Set OpenMAPIFolder = flr
End Function
Function IsNothing(Obj)
If TypeName(Obj) = "Nothing" Then
IsNothing = True
Else
IsNothing = False
End If
End Function
อ้างอิงจากหน้า:
มาโครนี้จะค้นหาในปฏิทินทรัพยากรและลบรายการด้วย "ยกเลิก:" ในหัวเรื่อง คุณต้องมีสิทธิ์ที่เหมาะสมในกล่องจดหมายของทรัพยากรเพื่อให้สามารถทำงาน มาโครนี้จะลบการประชุมที่ถูกยกเลิกจะลบทั้งการจองโดยตรงและการประชุมที่ยอมรับอัตโนมัติ