Outlook: как оставить отменённую встречу в календаре, будучи её организатором?
В Outlook, будучи Организатор встречи, при отмене встречи она автоматически удаляется из календаря. В некоторых случаях вы можете захотеть оставить отменённые встречи в календаре для пометок. Однако встроенные функции Outlook не позволяют выполнить эту задачу. В данном руководстве приведены два кода VBA, которые сохраняют встречу в виде события при её отмене.
Коды VBA для копирования отменённой встречи в виде события
Коды VBA для копирования отменённой встречи в виде события
Ниже приведены два кода, которые одновременно отменяют встречу и создают её копию в виде события.
Примечание. Перед активацией кода убедитесь, что отмечены следующие два параметра:
Запустите Outlook и щёлкните Файл > Параметры. В окне «Параметры Outlook» перейдите на вкладку Центр управления безопасностью и нажмите Параметры центра управления безопасностью. В открывшемся окне «Центр управления безопасностью» выберите вкладку Параметры макросов, установите флажок Включить все макросы (не рекомендуется; может выполняться потенциально опасный код) и отметьте опцию Применять параметры безопасности макросов к установленным надстройкам. Нажмите ОК > ОК, чтобы закрыть окно. Перезапустите Outlook.


1. Перейдите в представление календаря Outlook и выберите встречу, которую хотите отменить. Нажмите Alt+F11, чтобы открыть окно Microsoft Visual Basic для приложений.
2. Щёлкните Вставка > Модуль, чтобы вставить новый пустой модуль. Затем скопируйте и вставьте в него приведённый ниже код.
Код: копирование встречи в виде события с последующей отменой
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. Нажмите Выполнить или клавишу F5. Теперь выбранная встреча отменена, а в календаре создано событие с названием «Cancled & subjet».

Если вы хотите скопировать встречу в виде события в другой календарь, а затем отменить её, используйте приведённый ниже код:
Код: копирование встречи в виде события в другой календарь с последующей отменой
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
Нажмите Выполнить или клавишу F5. Откроется диалоговое окно «Выбор папки», где вы сможете указать папку календаря для вставки события. Нажмите «ОК».

Теперь встреча отменена и сохранена как событие в выбранной вами папке календаря.

Лучшие инструменты для повышения продуктивности в Office
Оцените совершенно новый Kutools для Outlook с 100+ потрясающими функциями!Нажмите, чтобы скачать прямо сейчас!
📧Автоматизация электронной почты: Автоответ (доступен для POP и IMAP) / Планирование отправки писем / Авто Копия/Скрытая копия по правилам при отправке писем / Автоматическое перенаправление (расширенное правило) / Автоматическое добавление приветствия / Автоматическое разделение писем с несколькими получателями на отдельные сообщения…
📨Управление электронной почтой: Отзыв письма / Блокировка мошеннических писем по темам и другим параметрам / Удаление дубликатов писем / Расширенный поиск / Организация папок…
📁Продвинутая работа с вложениями: Пакетное сохранение / Пакетное отсоединение / Пакетное сжатие / Автосохранение / Автоматическое отсоединение / Автоматическое сжатие…
🌟Волшебный интерфейс: 😊Еще больше красивых и стильных эмодзи / Напоминание о важных письмах / Сворачивание Outlook вместо закрытия…
👍Чудеса в один клик: Ответить всем с вложениями / Защита от фишинговых писем / 🕘Отображение часового пояса: текущее время отправителя…
👩🏼🤝👩🏻Контакты и календарь: Пакетное добавление контактов из выбранных писем / Разделение группы контактов на отдельные / Удаление напоминания о дне рождения…
Используйте Kutools на предпочитаемом языке — поддержка английского, испанского, немецкого, французского, китайского и более чем 40 других языков!


🚀 Скачать одним кликом — Получите все надстройки для Office
Настоятельно рекомендуется: Kutools for Office (5 в 1)
Скачайте одним кликом пять установщиковсразу —Kutools для Excel, Outlook, Word, PowerPointи Office Tab Pro.Нажмите, чтобы скачать прямо сейчас!
- ✅Удобство в один клик: Скачайте все пять установочных пакетов одним щелчком.
- 🚀Готовы к любой задаче в Office: устанавливайте нужные надстройки именно тогда, когда они вам понадобятся.
- 🧰Входит в комплект: Kutools для Excel / Kutools для Outlook / Kutools для Word / Office Tab Pro / Kutools for PowerPoint