Outlook: как сохранить отмену собрания в календаре в качестве организатора?
В Outlook, как организатор собрания, при отмене собрания собрание будет автоматически удалено из календаря. В некоторых случаях вы можете захотеть сохранить отмененные встречи в календаре, чтобы сделать некоторые пометки. Однако в Outlook нет встроенных функций, которые могли бы справиться с этой задачей. В этом руководстве он предоставляет два кода VBA для сохранения собрания в качестве встречи при отмене.
Коды VBA для копирования отмененной встречи в качестве встречи
Коды VBA для копирования отмененной встречи в качестве встречи
Вот два кода для отмены встречи и одновременного копирования и вставки ее как встречи.
Примечание: прежде чем активировать код, убедитесь, что отмечены эти два параметра:
Включите Outlook, нажмите Файл > Опции, в окне параметров Outlook щелкните Центр управления вкладку и щелкните Параметры центра, затем в окне Центра управления безопасностью нажмите Настройки макроса вкладка, проверка Включить все макросы (не рекомендуется, потенциально опасный код может работать) и Применение параметров безопасности макросов к установленным надстройкам опции. Нажмите OK > OK закрыть окна. Restart Перспективы.
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 - Более 100 мощных функций для улучшения вашего Outlook
???? Автоматизация электронной почты: Нет на месте (доступно для POP и IMAP) / Расписание отправки писем / Автоматическое копирование/скрытая копия по правилам при отправке электронной почты / Автопересылка (расширенные правила) / Автоматическое добавление приветствия / Автоматически разделять электронные письма от нескольких получателей на отдельные сообщения ...
📨 Управление электронной почтой: Легко вспоминать электронные письма / Блокировка мошеннических писем от субъектов и других лиц / Удалить повторяющиеся электронные письма / Поиск / Объединение папок ...
📁 Вложения Pro: Пакетное сохранение / Пакетное отсоединение / Пакетное сжатие / Автосохранение / Авто отсоединение / Автоматическое сжатие ...
???? Магия интерфейса: 😊Больше красивых и крутых смайлов / Повысьте производительность Outlook с помощью представлений с вкладками / Свернуть Outlook вместо закрытия ...
???? Чудеса в один клик: Ответить всем с входящими вложениями / Антифишинговые письма / 🕘Показать часовой пояс отправителя ...
👩🏼🤝👩🏻 Контакты и календарь: Пакетное добавление контактов из выбранных писем / Разделить группу контактов на отдельные группы / Удалить напоминания о днях рождения ...
Более Особенности 100 Ждем вашего исследования! Нажмите здесь, чтобы узнать больше.