Mantenha as reuniões canceladas em sua agenda para referência

Mantenha as reuniões canceladas em sua agenda para referência

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:

Captura de tela

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

informação relacionada