Outlook: как сохранить отмену собрания в календаре в качестве организатора?
В Outlook, как организатор собрания, при отмене собрания собрание будет автоматически удалено из календаря. В некоторых случаях вы можете захотеть сохранить отмененные встречи в календаре, чтобы сделать некоторые пометки. Однако в Outlook нет встроенных функций, которые могли бы справиться с этой задачей. В этом руководстве он предоставляет два кода VBA для сохранения собрания в качестве встречи при отмене.
Коды VBA для копирования отмененной встречи в качестве встречи
Коды VBA для копирования отмененной встречи в качестве встречи
Вот два кода для отмены встречи и одновременного копирования и вставки ее как встречи.
Примечание: прежде чем активировать код, убедитесь, что отмечены эти два параметра:
Включите Outlook, нажмите Файл > Опции, в окне параметров Outlook щелкните Центр управления вкладку и щелкните Параметры центра, затем в окне Центра управления безопасностью нажмите Настройки макроса вкладка, проверка Включить все макросы (не рекомендуется, потенциально опасный код может работать) и Применение параметров безопасности макросов к установленным надстройкам опции. Нажмите OK > OK закрыть окна. Перезагрузка Перспективы.
1. Перейдите к представлению календаря Outlook и выберите собрание, которое хотите отменить. Нажмите другой + 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. Нажмите Run или нажмите 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
Нажмите Run или нажмите F5 , появится диалоговое окно «Выбрать папку», в котором можно выбрать папку календаря для вставки встречи, затем нажмите «ОК».
Теперь встреча была отменена, скопирована и вставлена как встреча в выбранную вами папку календаря.
Kutools for Outlook - добавляет в Outlook 100 расширенных функций и делает работу намного проще!
- Авто CC / BCC по правилам при отправке электронной почты; Автопересылка Несколько писем по индивидуальному заказу; Автоответчик без сервера обмена и дополнительных автоматических функций ...
- Предупреждение BCC - показать сообщение при попытке ответить всем если ваш почтовый адрес находится в списке BCC; Напоминать об отсутствии вложений, и многое другое напоминает функции ...
- Ответить (всем) со всеми вложениями в почтовой беседе; Ответить на много писем в секундах; Автоматическое добавление приветствия при ответе; Добавить дату в тему ...
- Инструменты для вложений: управление всеми вложениями во всех письмах, Авто отсоединение, Сжать все, Переименовать все, сохранить все ... Быстрый отчет, Подсчет выбранных писем...
- Мощные нежелательные электронные письма по обычаю; Удаление повторяющихся писем и контактов... Позвольте вам делать в Outlook умнее, быстрее и лучше.

