Gosto de acompanhar as reuniões mesmo depois de canceladas. Isso me ajuda a revisar as atividades realizadas sobre vários tópicos e, às vezes, a explicar por que não fui à sua reunião. (EG, "Houve uma reunião recorrente ao mesmo tempo, mas o presidente a cancelou e excluiu a série inteira em vez de apenas as futuras.")
Eu tentei usar o script postado emslipstick. comjá que alguns resultados de pesquisa diferentes me apontavam de volta para o mesmo artigo. No entanto, não funcionou muito bem para mim. Existe uma maneira mais fácil?
Aqui está uma cópia desse script:
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
Você deveria configurar uma regra para acompanhá-la e acho que essa parte está correta:
Responder1
Depois de mexer nisso, descobri uma maneira muito mais fácil de copiar o evento da agenda para um item de compromisso: use o método de cópia real. Eu testei em vários cenários, especialmente com reuniões recorrentes, e funcionou perfeitamente. Eu configurei-o para remover quaisquer lembretes e se libertar durante esse período. Além disso, adicionei uma nota sobre quem cancelou. Se houver quaisquer outras melhorias que as pessoas possam encontrar, eu as acolheria com satisfação.
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