KutoolsforOffice — Un'unica soluzione, cinque potenti strumenti.Ottenere di più con meno sforzo.

Outlook: come fare per mantenere la riunione annullata nel calendario da organizzatore?

AutoreSun Data di modifica

In Outlook, in qualità di Organizzatore di una riunione, quando la si annulla, questa viene automaticamente rimossa dal calendario. Tuttavia, in alcuni casi potrebbe essere utile conservare le riunioni annullate nel calendario per aggiungervi annotazioni. Outlook non include funzionalità integrate per farlo. Questa guida presenta due codici VBA che consentono di mantenere la riunione come appuntamento al momento dell’annullamento.

Codici VBA per copiare la riunione annullata come appuntamento


Codici VBA per copiare la riunione annullata come appuntamento

Di seguito trovi due codici per annullare la riunione e, allo stesso tempo, copiarla e incollarla come appuntamento.

Nota: prima di abilitare il codice, assicurarsi che siano selezionate queste due opzioni:

Avvia Outlook, fai clic su File > Opzioni. Nella finestra Opzioni di Outlook, fai clic sulla scheda Centro protezione, quindi su Impostazioni del Centro protezione. Nella finestra Centro protezione, seleziona la scheda Impostazioni macro, scegli Abilita tutte le macro (non consigliato; è possibile l'esecuzione di codice potenzialmente pericoloso) e spunta Applica impostazioni di sicurezza macro ai componenti aggiuntivi installati. Fai clic su OK > OK per chiudere questa finestra. Riavvia Outlook.

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

1. Passa alla visualizzazione Calendario di Outlook e seleziona la riunione da annullare. Premi i tasti Alt+F11 per aprire la finestra di Microsoft Visual Basic, Applications Edition.

2. Fare clic su Inserisci > Modulo per inserire un nuovo modulo vuoto, quindi copiare il codice seguente e incollarlo all'interno.

Codice: copia la riunione come appuntamento e annullala

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. Fare clic sul pulsante Esegui oppure premere il tasto F5. La riunione selezionata verrà ora annullata e verrà creato un appuntamento denominato «Cancled & subjet».

doc keep meeting in calendar 4

Se si desidera copiare e incollare la riunione come appuntamento in un altro calendario e successivamente annullarla, utilizzare il codice seguente:

Codice: copia la riunione come appuntamento in un altro calendario e annullala

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

Fare clic sul pulsante Esegui oppure premere il tasto F5. Verrà visualizzata la finestra di dialogo Seleziona cartella, che consente di scegliere la cartella del calendario in cui incollare l'appuntamento: fare quindi clic su OK.

doc keep meeting in calendar 5

La riunione è ora stata annullata e copiata e incollata come appuntamento nella cartella del calendario selezionata.

doc keep meeting in calendar 6

Migliori strumenti per la produttività in Office

Scopri il nuovissimo Kutools per Outlook con 100+ funzionalità incredibili!Clicca per scaricare ora!

🤖KUTOOLS AI:Utilizza tecnologia AI avanzata per gestire le email senza sforzo, inclusi rispondere, riassumere, ottimizzare, estendere, tradurre e comporre email.

📧Automazione delle email: Risposta automatica (disponibile per POP e IMAP) / Invio email programmato / CC/BCC automatico in base a regole durante l’invio delle email / Inoltro automatico (regola avanzata) / Aggiunta automatica del saluto / Divisione automatica delle email con destinatari multipli in messaggi individuali...

📨Gestione delle email: Richiama Email / Blocca le email truffaldine in base all’oggetto e ad altri criteri / Elimina email duplicate / Ricerca avanzata / Organizza cartelle...

📁Allegati Pro: Salvataggio batch / Distacco batch / Compressione batch / Salvataggio automatico / Distacco automatico / Compressione automatica

🌟Magia dell’interfaccia: 😊 Più emoji graziose e accattivanti / Ti avvisa all’arrivo di email importanti / Riduci a icona Outlook invece di chiuderlo...

👍Meraviglie con un clic: Rispondi a Tutti con Allegati / Email anti-phishing / 🕘 Mostra il fuso orario – Ora corrente del mittente...

👩🏼‍🤝‍👩🏻Contatti e calendario: Aggiungi contatti in blocco dalle email selezionate / Dividi un gruppo di contatti in gruppi individuali / Rimuovi i promemoria dei compleanni...

Usa Kutools nella tua lingua preferita: supporta inglese, spagnolo, tedesco, francese, cinese e oltre 40 altre lingue!

Sblocca istantaneamente Kutools per Outlook con un solo clic! Non aspettare oltre: scaricalo ora e aumenta subito la tua efficienza!

kutools for outlook features1kutools for outlook features2

🚀 Download con un clic — Ottieni tutti i componenti aggiuntivi per Office

Fortemente consigliato: Kutools for Office (5-in-1)

Un clic per scaricare cinque programmi di installazionetutti insieme —Kutools per Excel, Outlook, Word, PowerPointe Office Tab Pro.Clicca per scaricare ora!

  • Comodità con un solo clic: scarica tutti e cinque i pacchetti di installazione in un’unica azione.
  • 🚀Pronto per qualsiasi attività in Office: installa i componenti aggiuntivi che ti servono, esattamente quando ti servono.
  • 🧰Inclusi: Kutools per Excel / Kutools per Outlook / Kutools per Word / Office Tab Pro / Kutools for PowerPoint