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.
Kutools pro Outlook - přináší do aplikace Outlook 100 pokročilých funkcí a usnadňuje práci!
- Auto CC / BCC podle pravidel při odesílání e-mailů; Automatické předávání Více e-mailů podle zvyku; Automatická odpověď bez serveru Exchange a dalších automatických funkcí ...
- Varování BCC - zobrazit zprávu, když se pokusíte odpovědět všem pokud je vaše e-mailová adresa v seznamu BCC; Připomenout, když chybí přílohya další připomínající funkce ...
- Odpovědět (Vše) Se všemi přílohami v e-mailové konverzaci; Odpovězte na mnoho e-mailů během několika sekund; Automatické přidání pozdravu při odpovědi; Přidat datum do předmětu ...
- Nástroje pro přílohy: Spravujte všechny přílohy ve všech e-mailech, Automatické odpojení, Komprimovat vše, Přejmenovat vše, Uložit vše ... Rychlá zpráva, Počítat vybrané e-maily...
- Výkonné nevyžádané e-maily podle zvyku; Odeberte duplicitní e-maily a kontakty... Umožní vám dělat chytřejší, rychlejší a lepší v Outlooku.

