Skip to main content

Outlook: Como manter a reunião cancelada no calendário como organizador?

Author: Sun Last Modified: 2025-08-06

No Outlook, como organizador de uma reunião, ao cancelar a reunião, ela será automaticamente excluída do calendário. Em alguns casos, você pode querer manter as reuniões canceladas no calendário para fazer algumas marcações. No entanto, não há recursos nativos no Outlook que possam lidar com essa tarefa. Neste tutorial, são fornecidos dois códigos VBA para manter a reunião como um compromisso enquanto a cancela.

Códigos VBA para copiar reunião cancelada como compromisso


Códigos VBA para copiar reunião cancelada como compromisso

Aqui estão dois códigos para cancelar a reunião e copiá-la e colá-la como um compromisso ao mesmo tempo.

Observação: antes de ativar o código, certifique-se de que essas duas opções estejam marcadas:

Ative o Outlook, clique em Arquivo > Opções, na janela Opções do Outlook, clique na guia Central de Confiabilidade e clique em Configurações da Central de Confiabilidade; depois, na janela Central de Confiabilidade, clique na guia Configurações de Macro, marque Ativar todas as macros (não recomendado; código potencialmente perigoso pode ser executado) e Aplicar configurações de segurança de macro aos suplementos instalados. Clique em OK > OK para fechar as janelas. Reinicie o Outlook.

doc keep meeting in calendar 1
doc keep meeting in calendar 2

1. Alterne para a visualização do Calendário do Outlook e selecione a reunião que deseja cancelar. Pressione as teclas Alt + F11 para ativar a janela Microsoft Visual Basic for Applications.

2. Clique em Inserir > Módulo para inserir um novo módulo em branco. Depois, copie e cole o código abaixo nele.

Código: Copiar reunião como compromisso e cancelá-la

Sub CopyMeetingAsAppointmentBeforeCancel()
'UpdatebyExtendoffice20221129
Dim xAppointmentItem As AppointmentItem
Dim xMeetingItem As AppointmentItem
On Error Resume Next
Set xMeetingItem = GetCurrentItem()
Set xAppointmentItem = Application.CreateItem(olAppointmentItem)
With xAppointmentItem
  .Subject = "Canceled: " & xMeetingItem.Subject
  .Start = xMeetingItem.Start
  .Duration = xMeetingItem.Duration
  .Location = xMeetingItem.Location
  .Body = xMeetingItem.Body
  .Save
  .Move Application.ActiveExplorer.CurrentFolder
End With
With xMeetingItem
  .MeetingStatus = olMeetingCanceled
  .Send
  .Delete
End With
Set xAppointmentItem = Nothing
Set xMeetingItem = Nothing
End Sub

Function GetCurrentItem() As Object
  On Error Resume Next
  Select Case TypeName(Application.ActiveWindow)
    Case "Explorer"
      Set GetCurrentItem = Application.ActiveExplorer.Selection.Item(1)
    Case "Inspector"
      Set GetCurrentItem = Application.ActiveInspector.CurrentItem
  End Select
End Function
doc keep meeting in calendar 3

3. Clique no botão Executar ou pressione a tecla F5 ; agora, a reunião selecionada foi cancelada e um novo compromisso chamado 'Cancelado & assunto' foi criado.

doc keep meeting in calendar 4

Se você quiser copiar e colar a reunião como um compromisso em outro calendário e depois cancelar a reunião, use o código abaixo:

Código: Copiar reunião como compromisso em outro calendário e cancelá-la

Sub CopyMeetingAsAppointmentToCalenderBeforeCancel()
'Updatebyextendoffice20221129
Dim xDestCalendar As Outlook.MAPIFolder
Dim xNameSpace As Outlook.NameSpace
Dim xAppointmentItem As AppointmentItem
Dim xMeetingItem As AppointmentItem
On Error Resume Next
Set xNameSpace = Application.GetNamespace("MAPI")
Set xDestCalendar = xNameSpace.PickFolder
If xDestCalendar.DefaultItemType <> olAppointmentItem Then
  MsgBox "Please Select calendar folder. ", vbOKOnly + vbInformation, "Kutools for Outlook"
  Exit Sub
End If
Set xMeetingItem = GetCurrentItem()
Set xAppointmentItem = Application.CreateItem(olAppointmentItem)
With xAppointmentItem
  .Subject = "Canceled: " & xMeetingItem.Subject
  .Start = xMeetingItem.Start
  .Duration = xMeetingItem.Duration
  .Location = xMeetingItem.Location
  .Body = xMeetingItem.Body
  .Save
  .Move xDestCalendar
End With
With xMeetingItem
  .MeetingStatus = olMeetingCanceled
  .Send
  .Delete
End With
Set xDestCalendar = Nothing
Set xNameSpace = Nothing
Set xAppointmentItem = Nothing
Set xMeetingItem = Nothing
End Sub

Function GetCurrentItem() As Object
  On Error Resume Next
  Select Case TypeName(Application.ActiveWindow)
    Case "Explorer"
      Set GetCurrentItem = Application.ActiveExplorer.Selection.Item(1)
    Case "Inspector"
      Set GetCurrentItem = Application.ActiveInspector.CurrentItem
  End Select
End Function

Clique no botão Executar ou pressione a tecla F5 , uma caixa de diálogo Selecionar Pasta aparecerá para você escolher uma pasta de calendário onde colar o compromisso, depois clique em OK.

doc keep meeting in calendar 5

Agora, a reunião foi cancelada e copiada e colada como um compromisso na pasta de calendário que você escolheu.

doc keep meeting in calendar 6

Melhores Ferramentas de Produtividade para Office

Notícia Urgente: Kutools para Outlook lança versão gratuita!

Experimente o novo Kutools para Outlook com mais de100 recursos incríveis! Clique para baixar agora!

🤖 Kutools AI : Utiliza tecnologia avançada de IA para lidar com emails facilmente, incluindo responder, resumir, otimizar, expandir, traduzir e redigir emails.

📧 Automação de Email: Resposta automática (Disponível para POP e IMAP) / Agendar envio de emails / CC/BCC automático por regra ao enviar email / Encaminhamento automático (Regra avançada) / Adicionar saudação automaticamente / Dividir automaticamente emails com vários destinatários em mensagens individuais...

📨 Gerenciamento de Email: Recallar Email / Bloquear emails suspeitos por assunto e outros critérios / Excluir emails duplicados / Pesquisa Avançada / Organizar Pastas...

📁 Anexos Pro: Salvar em lote / Desanexar em lote / Comprimir em lote / Salvar automaticamente / Desanexar automaticamente / Auto Comprimir...

🌟 Interface Mágica: 😊Mais emojis bonitos e divertidos / Aviso de chegada de emails importantes / Minimizar Outlook em vez de fechar...

👍 Praticidade com um clique: Responder a Todos com Anexos / Anti-Phishing Emails / 🕘Exibir fuso horário do remetente...

👩🏼‍🤝‍👩🏻 Contatos & Calendário: Adicionar contatos em lote a partir de emails selecionados / Dividir um grupo de contatos em grupos individuais / Remover lembrete de aniversário...

Use o Kutools no idioma que preferir – compatível com Inglês, Espanhol, Alemão, Francês, Chinês e mais de40 outros!

Desbloqueie instantaneamente o Kutools para Outlook com um clique. Não perca tempo, baixe agora e aumente sua eficiência!

kutools for outlook features1 kutools for outlook features2