Outlook: як зберегти скасування зустрічі в календарі як організатора?
У Outlook, як організатор наради, коли ви скасуєте нараду, нараду буде автоматично видалено з календаря. У деяких випадках ви можете зберегти скасовані зустрічі в календарі, щоб зробити позначки. Проте в Outlook немає вбудованих функцій, які могли б впоратися з цією роботою. У цьому посібнику надано два коди VBA для збереження зустрічі як зустрічі під час скасування.
Коди VBA для копіювання скасованої зустрічі як зустрічі
Коди VBA для копіювання скасованої зустрічі як зустрічі
Ось два коди для скасування зустрічі та одночасного копіювання та вставлення її як зустрічі.
Примітка: перш ніж увімкнути код, переконайтеся, що ці два параметри позначено:
Увімкніть Outlook, натисніть філе > опціїклацніть у вікні параметрів Outlook Центр безпеки та натисніть Налаштування центру довіри, а потім у вікні Центру безпеки та безпеки натисніть Налаштування макросу вкладка, перевірити Увімкнути всі макроси (не рекомендується; може запускатися потенційно небезпечний код) і Застосуйте параметри безпеки макросу до встановлених надбудов варіанти Натисніть OK > OK щоб закрити вікна. перезапуск світогляд.
1. Перейдіть до подання календаря Outlook і виберіть зустріч, яку потрібно скасувати. Натисніть інший + F11 клавіші, щоб увімкнути вікно Microsoft Visual Basic for Applications.
2. клацання Insert > Модулі щоб вставити новий порожній модуль. Потім скопіюйте та вставте в нього код нижче.
Код: Скопіюйте зустріч як зустріч і скасуйте її
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 з’явиться діалогове вікно «Вибір папки», у якому ви зможете вибрати папку календаря, щоб вставити зустріч, а потім натисніть «ОК».
Тепер зустріч скасовано та скопійовано та вставлено як зустріч у вибрану папку календаря.
Kutools для Outlook - приносить 100 розширених функцій для Outlook і значно полегшує роботу!
- Авто CC / BCC за правилами при відправці електронної пошти; Автоматичне пересилання вперед Кілька електронних листів на замовлення; Автовідповідь без сервера обміну та більше автоматичних функцій ...
- Попередження BCC - показати повідомлення при спробі відповісти всім якщо ваша поштова адреса є у списку BCC; Нагадати про відсутність вкладеньта інші функції нагадування ...
- Відповісти (Усі) з усіма вкладеннями в поштовій розмові; Відповісти на багато електронних листів за секунди; Автоматично додавати привітання при відповіді; Додати дату в тему ...
- Інструменти вкладення: Керування всіма вкладеннями у всіх листах, Автоматичне від'єднання, Стиснути все, Перейменувати все, Зберегти все ... Швидкий звіт, Підрахувати вибрані листи...
- Потужні небажані електронні листи за звичаєм; Видаліть повторювані листи та контакти... Дозвольте вам робити розумніші, швидші та кращі в Outlook.

