Skip to main content

Outlook: ¿Cómo mantener la cancelación de una reunión en el calendario como organizador?

Author: Sun Last Modified: 2025-08-06

En Outlook, como organizador de una reunión, cuando cancelas la reunión, esta se eliminará automáticamente del calendario. En algunos casos, es posible que desees mantener las reuniones canceladas en el calendario para hacer algunas anotaciones. Sin embargo, Outlook no tiene funciones integradas que puedan manejar esta tarea. En este tutorial, se proporcionan dos códigos VBA para mantener la reunión como una cita mientras se cancela.

Códigos VBA para copiar reuniones canceladas como citas


Códigos VBA para copiar reuniones canceladas como citas

Aquí hay dos códigos para cancelar la reunión y copiarla y pegarla como una cita al mismo tiempo.

Nota: antes de habilitar el código, asegúrate de que estas dos opciones estén marcadas:

Habilita Outlook, haz clic en Archivo > Opciones, en la ventana Opciones de Outlook, haz clic en la pestaña Centro de confianza, y luego haz clic en Configuración del Centro de confianza; después, en la ventana Centro de confianza, haz clic en la pestaña Configuración de macros, marca Habilitar todas las macros (no recomendado; el código potencialmente peligroso puede ejecutarse) y Aplicar configuración de seguridad de macros a los complementos instalados. Haz clic en Aceptar > Aceptar para cerrar las ventanas. Reinicia Outlook.

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

1. Cambia a la vista del Calendario de Outlook y selecciona la reunión que deseas cancelar. Presiona las teclas Alt + F11 para habilitar la ventana Microsoft Visual Basic para Aplicaciones.

2. Haz clic en Insertar > Módulo para insertar un nuevo módulo en blanco. Luego, copia y pega el siguiente código en él.

Código: Copiar reunión como cita y cancelarla

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. Haz clic en el botón Ejecutar o presiona la tecla F5 ; ahora la reunión seleccionada ha sido cancelada y se ha creado una nueva cita llamada 'Cancelada y asunto'.

doc keep meeting in calendar 4

Si deseas copiar y pegar la reunión como una cita en otro calendario y luego cancelar la reunión, utiliza el siguiente código:

Código: Copiar reunión como cita en otro calendario y cancelarla

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

Haz clic en el botón Ejecutar o presiona la tecla F5 , aparecerá un cuadro de diálogo Seleccionar carpeta para que elijas una carpeta de calendario donde pegar la cita, luego haz clic en Aceptar.

doc keep meeting in calendar 5

Ahora la reunión ha sido cancelada y copiada y pegada como una cita en la carpeta de calendario que elegiste.

doc keep meeting in calendar 6

Las mejores herramientas de productividad para Office

Últimas noticias: ¡Kutools para Outlook lanza una versión gratuita!

¡Descubre el nuevo Kutools para Outlook con más de100 funciones increíbles! ¡Haz clic para descargarlo ahora!

🤖 Kutools AI : Utiliza tecnología avanzada de IA para gestionar correos electrónicos sin esfuerzo, como responder, resumir, optimizar, ampliar, traducir y redactar mensajes.

📧 Automatización de Email: Respuesta automática (disponible para POP e IMAP) / Programar envío de correos electrónicos / CC/BCC automático por regla al enviar correo / Reenvío automático (Regla avanzada) / Agregar saludo automáticamente / Dividir automáticamente correos con varios destinatarios en mensajes individuales ...

📨 Gestión de Email: Recuperar correos electrónicos / Bloquear correos sospechosos por asunto y otros criterios / Eliminar correos electrónicos duplicados / Búsqueda Avanzada / Organizar carpetas ...

📁 Adjuntos Pro: Guardar en lote / Desanexar en lote / Comprimir en lote / Guardar automáticamente / Desconectar automáticamente / Auto Comprimir ...

🌟 Magia de la Interfaz: 😊Más emojis atractivos y geniales / Recibe avisos cuando lleguen emails importantes / Minimiza Outlook en vez de cerrarlo ...

👍 Funciones de un solo clic: Responder a Todos con Adjuntos / Correos electrónicos Anti-Phishing / 🕘Mostrar la zona horaria del remitente ...

👩🏼‍🤝‍👩🏻 Contactos y Calendario: Agregar en lote contactos de correos seleccionados / Dividir un grupo de contactos en grupos individuales / Eliminar recordatorio de cumpleaños ...

Utiliza Kutools en tu idioma preferido; ¡compatible con Inglés, Español, Alemán, Francés, Chino y más de40 idiomas adicionales!

Desbloquea Kutools para Outlook al instante con un solo clic. ¡No esperes más, descárgalo ahora y aumenta tu productividad!

kutools for outlook features1 kutools for outlook features2