Ich behalte gerne den Überblick über Besprechungen, auch wenn sie abgesagt wurden. So kann ich die Aktivitäten zu verschiedenen Themen überprüfen und manchmal erklären, warum ich nicht zu Ihrer Besprechung gegangen bin. (ZB: „Zur gleichen Zeit gab es eine wiederkehrende Besprechung, aber der Vorsitzende hat sie inzwischen abgesagt und die gesamte Serie gelöscht, anstatt nur die zukünftigen.“)
Ich habe versucht, das Skript zu verwenden, das aufslipstick.comda mich einige verschiedene Suchergebnisse immer wieder auf denselben Artikel zurückführten. Bei mir hat es jedoch nicht ganz funktioniert. Gibt es einen einfacheren Weg?
Hier ist eine Kopie dieses Skripts:
Sub CopyMeetingtoAppointment(oRequest As MeetingItem)
If oRequest.MessageClass <> "IPM.Schedule.Meeting.Canceled" Then
Exit Sub
End If
Dim oAppt As AppointmentItem
Dim cAppt As AppointmentItem
Set cAppt = oRequest.GetAssociatedAppointment(True)
Set oAppt = Application.CreateItem(olAppointmentItem)
'I added (Rule) to the subject so I could see the rule was working.
oAppt.Subject = "(Rule) Canceled: " & cAppt.Subject
oAppt.Start = cAppt.Start
oAppt.Duration = cAppt.Duration
oAppt.Location = cAppt.Location
oAppt.Display
oAppt.Save
Set oAppt = Nothing
Set cAppt = Nothing
End Sub
Sie müssen eine entsprechende Regel festlegen und ich denke, dieser Teil ist in Ordnung:
Antwort1
Nachdem ich ein bisschen damit herumgespielt hatte, fand ich einen viel einfacheren Weg, das Kalenderereignis in einen Termineintrag zu kopieren: Verwenden Sie die eigentliche Kopiermethode. Ich habe sie in verschiedenen Szenarien getestet, insbesondere bei wiederkehrenden Besprechungen, und sie hat einwandfrei funktioniert. Ich habe sie so eingestellt, dass alle Erinnerungen entfernt werden und Sie sich während dieser Zeit frei fühlen. Außerdem habe ich eine Notiz hinzugefügt, wer es abgesagt hat. Wenn die Leute noch weitere Verbesserungen finden, würde ich mich freuen.
Sub CopyMeetingToAppointment(oRequest As MeetingItem)
'Double-check in case of accidental run
If oRequest.MessageClass <> "IPM.Schedule.Meeting.Canceled" Then Exit Sub
'Declare the objects
Dim oAppt As AppointmentItem
Dim cAppt As AppointmentItem
Dim cancelMessage As String
'Create the objects
Set cAppt = oRequest.GetAssociatedAppointment(True)
Set oAppt = cAppt.Copy
'Create the cancel message
cancelMessage = vbNewLine & vbNewLine & " - - - - - - - - - - - - - - - - - - - " & vbNewLine & _
"Meeting was canceled by " & oRequest.SenderName & " <" & oRequest.SenderEmailAddress & "> on " & oRequest.ReceivedTime
'Modify the copied appointment
With oAppt
If UCase(Left(.Subject, 6)) = "COPY: " Then .Subject = Mid(.Subject, 7)
.Subject = "[BKP] " & .Subject
.Body = .Body & cancelMessage
.ReminderSet = False
.BusyStatus = olFree
.Save
End With
'Cleanup
Set oAppt = Nothing
Set cAppt = Nothing
End Sub