KutoolsforOffice — Uma solução, cinco ferramentas poderosas.Fazer mais com menos esforço.

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

AutorSun Data de Modificação

No Outlook, enquanto organizador de uma reunião, ao cancelá-la, esta é automaticamente removida do calendário. Em alguns casos, poderá querer manter as reuniões canceladas no calendário para incluir anotações. Contudo, o Outlook não oferece funcionalidades integradas para essa finalidade. Neste tutorial, são disponibilizados dois códigos VBA que permitem converter a reunião cancelada num compromisso normal, mantendo-a no seu calendário.

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


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

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

Nota: antes de ativar o código, certifique-se de que estas duas opções estão selecionadas:

Abra o Outlook e clique em Ficheiro > Opções. Na janela Opções do Outlook, clique no separador Centro de Confiança e, em seguida, clique em Definições do Centro de Confiança. Na janela Centro de Confiança, clique no separador Definições de Macros, marque as opções Ativar todas as macros (não recomendado; pode executar código potencialmente perigoso) e Aplicar definições de segurança de macros aos extras instalados. Clique em OK > OK para fechar esta janela. Reinicie o Outlook.

doc manter reunião no calendário 1
doc manter reunião no calendário 2

1. Mude rapidamente para a vista do Calendário do Outlook e selecione a reunião que pretende cancelar. Prima Alt+F11 para abrir a janela do Microsoft Visual Basic for Applications.

2. Clique em Inserir > Módulo para inserir um novo módulo em branco. Copie e cole o código seguinte para dentro dele.

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 manter reunião no calendário 3

3. Clique no botão Executar ou prima a tecla F5, e a reunião selecionada será cancelada, sendo criado um compromisso com o nome «Cancled & subjet».

doc manter reunião no calendário 4

Se pretender copiar e colar a reunião como um compromisso noutro calendário e depois cancelar a reunião, utilize o código seguinte:

Código: Copiar reunião como compromisso noutro 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 prima a tecla F5. Surgirá uma caixa de diálogo Selecionar Pasta para escolher a pasta do calendário onde pretende colar o compromisso — clique em OK.

doc manter reunião no calendário 5

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

doc manter reunião no calendário 6

Melhores Ferramentas de Produtividade para o Office

Experimente o totalmente novo Kutools para Outlook com 100+ funcionalidades incríveis!Clique para transferir já!

🤖KUTOOLS AI:Utiliza tecnologia avançada de IA para gerir e-mails sem esforço, incluindo responder, resumir, otimizar, alongar, traduzir e redigir mensagens.

📧Automação de E-mails: Resposta Automática (disponível para POP e IMAP) / Agendar Envio de E-mails / CC/BCC Automático por Regras ao Enviar E-mail / Encaminhamento Automático (regra avançada) / Adicionar Saudação Automaticamente / Dividir Automaticamente E-mails com Múltiplos Destinatários em Mensagens Individuais...

📨Gestão de E-mails: Recallar e-mail / Bloquear e-mails fraudulentos por assunto e outros critérios / Eliminar e-mails duplicados / Pesquisa avançada / Organizar pastas...

📁Anexos Pro: Guardar em Lote / Desanexar em Lote / Comprimir em Lote / Salvar Automaticamente / Desanexar Automaticamente / Auto Comprimir...

🌟Magia da Interface: 😊 Mais Emojis Bonitos e Divertidos / Avisa-o quando chegam e-mails importantes / Minimizar o Outlook em vez de fechá-lo...

👍Maravilhas com um Clique: Responder a Todos com Anexos / E-mails Anti-Phishing / 🕘 Mostrar Fuso Horário – Hora Atual do Remetente...

👩🏼‍🤝‍👩🏻Contactos e Calendário: Criar contactos em lote a partir de e-mails selecionados / Dividir um grupo de contactos em grupos individuais / Remover lembrete de aniversário...

Utilize o Kutools no seu idioma preferido – com suporte para inglês, espanhol, alemão, francês, chinês e mais de 40 idiomas!

Desbloqueie instantaneamente o Kutools para Outlook com um único clique! Não espere mais — transfira já e aumente a sua eficiência!

kutools for outlook funcionalidades1kutools for outlook funcionalidades2

🚀 Transferência com um Clique — Obtenha Todos os Extras do Office

Altamente Recomendado: Kutools for Office (5 em 1)

Um clique para transferir cinco instaladoresde uma só vez —Kutools para Excel, Outlook, Word, PowerPointe Office Tab Pro.Clique para transferir já!

  • Conveniência com um clique: Transfira os cinco pacotes de instalação numa única ação.
  • 🚀Pronto para qualquer tarefa no Office: instale os extras que precisa, exatamente quando os precisar.
  • 🧰Incluídos: Kutools para Excel / Kutools para Outlook / Kutools para Word / Office Tab Pro / Kutools for PowerPoint