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
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.
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
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.
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.
Nyní byla schůzka zrušena a zkopírována a vložena jako událost do složky kalendáře, kterou si vyberete.
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!
???? 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 Pro: Dá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 ...