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


1. Переключитесь в представление Календарь в Outlook и выберите встречу, которую хотите отменить. Нажмите клавиши Alt + F11 , чтобы открыть окно Microsoft Visual Basic for Applications.
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 , теперь выбранная встреча отменена, и создано новое событие с названием Отменено & тема.

Если вы хотите скопировать и вставить встречу как событие в другой календарь, а затем отменить встречу, используйте следующий код:
Код: Скопировать встречу как событие в другом календаре и отменить её
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 уже доступна!
Оцените обновленный Kutools для Outlook с более чем100 невероятными функциями! Нажмите, чтобы скачать прямо сейчас!
📧 Автоматизация Email: Автоответчик (Доступно для POP и IMAP) / Запланировать отправку писем / Авто Копия/Скрытая копия по правилам при отправке писем / Автоматическое перенаправление (Расширенное правило) / Автоматически добавить приветствие / Авторазделение Email с несколькими получателями на отдельные письма ...
📨 Управление Email: Отозвать письмо / Блокировать вредоносные письма по теме и другим критериям / Удалить дубликаты / Расширенный Поиск / Организовать папки ...
📁 Вложения Pro: Пакетное сохранение / Пакетное открепление / Пакетное сжатие / Автосохранение / Автоматическое отсоединение / Автоматическое сжатие ...
🌟 Волшебство интерфейса: 😊Больше красивых и стильных эмодзи / Напоминание при поступлении важных писем / Свернуть Outlook вместо закрытия ...
👍 Удобные функции одним кликом: Ответить всем с вложениями / Антифишинговая Email / 🕘Показать часовой пояс отправителя ...
👩🏼🤝👩🏻 Контакты и Календарь: Пакетное добавление контактов из выбранных Email / Разделить группу контактов на отдельные / Удалить напоминание о дне рождения ...
Используйте Kutools на вашем языке – поддерживаются Английский, Испанский, Немецкий, Французский, Китайский и более40 других!


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