Přejít k hlavnímu obsahu
 

Outlook: Jak zachovat zrušení schůzky v kalendáři jako organizátor?

Když v Outlooku jako organizátor schůzky schůzku zrušíte, schůzka se automaticky odstraní z kalendáře. V některých případech můžete chtít ponechat zrušené schůzky v kalendáři, abyste si udělali nějaké známky. V aplikaci Outlook však nejsou žádné vestavěné funkce, které by tuto úlohu zvládly. V tomto kurzu poskytuje dva kódy VBA pro zachování schůzky jako schůzky při zrušení.

Kódy VBA pro kopírování zrušené schůzky jako schůzky


Kódy VBA pro kopírování zrušené schůzky jako schůzky

Autor: Sun Naposledy změněno: 2024-09-14

Zde jsou dva kódy pro zrušení schůzky a její zkopírování a vložení jako schůzky současně.

Poznámka: Než kód aktivujete, ujistěte se, že jsou zaškrtnuty tyto dvě možnosti:

Povolte Outlook, klikněte Soubor > možnosti, v okně Možnosti aplikace Outlook klikněte na Centrum zabezpečení kartu a klepněte na tlačítko Nastavení centra důvěryhodnostia poté v okně Centrum důvěryhodnosti klepněte na Nastavení makra kartu, zkontrolujte Povolit všechna makra (nedoporučuje se; lze spustit potenciálně nebezpečný kód) a Použijte nastavení zabezpečení maker na nainstalované doplňky možnosti. Klikněte na tlačítko OK > OK zavřít okna. Restart Výhled.

doc udržovat schůzku v kalendáři 1
doc udržovat schůzku v kalendáři 2

1. Přejděte do zobrazení Kalendář aplikace Outlook a vyberte schůzku, kterou chcete zrušit Stiskněte Další + F11 klávesy pro povolení okna Microsoft Visual Basic pro aplikace.

2. cvaknutí Vložit > Modul pro vložení nového prázdného modulu. Poté do něj zkopírujte a vložte níže uvedený kód.

Kód: Zkopírujte schůzku jako schůzku a zrušte ji

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 udržovat schůzku v kalendáři 3

3. cvaknutí Běh nebo stiskněte tlačítko F5 nyní byla vybraná schůzka zrušena a nová schůzka s názvem Zrušeno a předmět.

doc udržovat schůzku v kalendáři 4

Pokud chcete schůzku zkopírovat a vložit jako schůzku do jiného kalendáře a poté schůzku zrušit, použijte níže uvedený kód:

Kód: Zkopírujte schůzku jako událost do jiného kalendáře a zrušte ji

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

klikněte Běh nebo stiskněte tlačítko F5 zobrazí se dialogové okno Vybrat složku, ve kterém můžete vybrat složku kalendáře, do které chcete událost vložit, a poté klepněte na OK.

doc udržovat schůzku v kalendáři 5

Nyní byla schůzka zrušena a zkopírována a vložena jako událost do složky kalendáře, kterou si vyberete.

doc udržovat schůzku v kalendáři 6

Nejlepší nástroje pro produktivitu v kanceláři

Nejnovější zprávy: Spuštění Kutools pro Outlook Volná verze!

Vyzkoušejte zcela nové Kutools pro Outlook ZDARMA verze s více než 70 neuvěřitelnými funkcemi, kterou můžete používat NAVŽDY! Kliknutím stáhnete hned!

🤖 Kutools AI : Využívá pokročilou technologii umělé inteligence k snadnému zpracování e-mailů, včetně odpovídání, shrnutí, optimalizace, rozšiřování, překládání a vytváření e-mailů.

???? Automatizace e-mailu: Automatická odpověď (k dispozici pro POP a IMAP)  /  Naplánujte odesílání e-mailů  /  Automatická kopie/skrytá kopie podle pravidel při odesílání e-mailu  /  Automatické přeposílání (pokročilá pravidla)   /  Automatické přidání pozdravu   /  Automaticky rozdělte e-maily pro více příjemců na jednotlivé zprávy ...

📨 Email management: Připomenout e-maily  /  Blokujte podvodné e-maily podle předmětů a dalších  /  Odstranit duplicitní e-maily  /  pokročilé vyhledávání  /  Konsolidovat složky ...

📁 Přílohy ProDávkové uložení  /  Dávkové odpojení  /  Dávková komprese  /  Automaticky uložit   /  Automatické odpojení  /  Automatické komprimování ...

???? Rozhraní Magic: 😊 Více pěkných a skvělých emotikonů   /  Připomeňte si, když přijdou důležité e-maily  /  Minimalizujte aplikaci Outlook namísto zavírání ...

???? Zázraky na jedno kliknutí: Odpovědět všem s příchozími přílohami  /   E-maily proti phishingu  /  🕘Zobrazit časové pásmo odesílatele ...

👩🏼‍🤝‍👩🏻 Kontakty a kalendář: Dávkové přidání kontaktů z vybraných e-mailů  /  Rozdělit skupinu kontaktů na jednotlivé skupiny  /  Odeberte připomenutí narozenin ...

Okamžitě odemkněte Kutools pro Outlook jediným kliknutím –trvale volný. Nečekejte, stáhněte si nyní a zvyšte svou efektivitu!

kutools pro funkce aplikace Outlook1 kutools pro funkce aplikace Outlook2