Я использую следующую подпрограмму VBA для удаления встреч из моего календаря.
Public Sub deleteSelectedAppointment() Dim obj As Object Dim cl As Integer Dim apt As AppointmentItem Dim aptDel As AppointmentItem Dim pattern As RecurrencePattern Dim cnt As Integer On Error GoTo ErrHandler cnt = 0 For Each obj In ActiveExplorer.Selection cl = obj.Class Select Case cl Case olMail Case olTask Case olAppointment Set apt = obj Debug.Print "Appointment " & apt.subject If apt.IsRecurring Then ' find and delete the selected item in a series Set pattern = apt.GetRecurrencePattern() Set aptDel = pattern.GetOccurrence(apt.Start) Else ' non-recurring appointment Set aptDel = apt End If If aptDel Is Nothing Then Debug.Print "Nothing to delete!" Else aptDel.Delete cnt = cnt + 1 End If Case Else Debug.Print "unexpected class " & cl End Select Next obj Debug.Print "Deleted appointments: " & cnt Exit Sub ErrHandler: MsgBox "Cannot delete appointment" & vbCrLf & Err.Description, vbInformation Err.Clear On Error GoTo 0 End Sub
Это также работает для задач и почты. Очевидно, что такая процедура может удалить много, если не использовать с осторожностью ...