Mantenha reuniões canceladas no seu calendário para referência

1

Eu gosto de acompanhar as reuniões mesmo depois de canceladas. Isso me ajuda a voltar a revisar as atividades realizadas para vários tópicos e, às vezes, explicar por que não fui à reunião. (E.G., "Houve uma reunião recorrente ao mesmo tempo, mas a cadeira cancelou e apagou a série inteira, em vez de apenas as futuras").

Eu tentei usar o script publicado em slipstick.com como alguns resultados de pesquisa diferentes continuou me apontando de volta para o mesmo artigo. No entanto, não funcionou 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ê deve configurar uma regra para acompanhá-la e acho que essa parte está bem:

    
por Engineer Toast 28.01.2016 / 17:59

1 resposta

1

Após mexer com isso, descobri uma maneira muito mais fácil de copiar o evento de calendário para um item de compromisso: Use o método de cópia real. Eu testei isso em vários cenários, especialmente com reuniões recorrentes, e ele foi executado sem falhas. Eu configurei-o para remover qualquer lembrete e definir-se como livre durante esse tempo. Além disso, adicionei uma observação sobre quem cancelou. Se houver outras melhorias que as pessoas possam encontrar, eu as receberia bem.

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
    
por 28.01.2016 / 17:59