Перейти до основного матеріалу

Як автоматично відповідати на отримані повідомлення, коли ви зайняті в Outlook?

Іноді вам потрібно автоматично відповідати на отримані повідомлення в Outlook, коли ви зайняті певним періодом. Але немає жодної вбудованої функції, яка б могла впоратися з цією роботою, однак, тут у мене є код VBA, щоб з нею впоратися.

Автовідповідь, коли ви зайняті кодом VBA


Автовідповідь, коли ви зайняті кодом VBA

Вкладка Office - увімкніть редагування та перегляд із вкладками в Microsoft Office, що полегшить роботу
Kutools для Outlook - покращте Outlook за допомогою 100+ розширених функцій для надзвичайної ефективності
Покращіть свій Outlook 2021 - 2010 або Outlook 365 за допомогою цих розширених функцій. Насолоджуйтесь повною 60-денною безкоштовною пробною версією та покращте роботу електронної пошти!

Ось код VBA, який автоматично відповідатиме, поки у вашому календарі Outlook є деякі зустрічі. Якщо в календарі немає нічого, він автоматично перестає відповідати.

1. прес Alt + F11 клавіші, щоб відкрити Microsoft Visual Basic для додатків вікна.

2. Двічі клацніть на ThisOutlookSession від Project1 панелі, скопіюйте та вставте код нижче в скрипт.

VBA: Автовідповідь, поки ви зайняті календарем

Public WithEvents xInboxItems As Outlook.Items

Private Sub Application_Startup()
Set xInboxItems = Outlook.Application.Session.GetDefaultFolder(olFolderInbox).Items
End Sub

Private Sub xInboxItems_ItemAdd(ByVal Item As Object)
'UpdatebyExtendoffice20180418
Dim xMailItem As Outlook.MailItem
Dim xReplyMailItem As Outlook.MailItem
Dim xReplyHTMLBody As String
Dim xAppointments As Outlook.Items
Dim xFilter As String
Dim xRestrictAppointments As Outlook.Items
Dim xAppointment As Outlook.AppointmentItem
Dim xDateFormat As String
On Error Resume Next
If TypeOf Item Is MailItem Then
    Set xMailItem = Item
    Set xReplyMailItem = xMailItem.Reply
    xReplyHTMLBody = xReplyMailItem.HTMLBody
    Set xAppointments = Outlook.Application.Session.GetDefaultFolder(olFolderCalendar).Items
    xAppointments.Sort "[Start]"
    xAppointments.IncludeRecurrences = True
    xDateFormat = Format(Now, "ddddd h:nn AMPM")
    xFilter = "[Start]<= '" & xDateFormat & "' AND [End]>= '" & xDateFormat & "'"
    Set xRestrictAppointments = xAppointments.Restrict(xFilter)
    If TypeName(xRestrictAppointments) = "Nothing" Then Exit Sub
    For Each xAppointment In xRestrictAppointments
        If xAppointment.BusyStatus = olBusy Or olOutOfOffice Then
            xReplyMailItem.HTMLBody = "<HTML><BODY>I'm Sorry that I can't respond to you right now. I'll reply to you later.</HTML></BODY>" & _
                                      xReplyHTMLBody
            xReplyMailItem.Send
        End If
    Next
End If
End Sub

3. Збережіть цей код і перезапустіть Outlook. Відтепер, якщо електронні листи надходитимуть у часовому діапазоні ваших зустрічей, буде надіслана автоматична відповідь.

Порада:

(1) У коді ви можете змінити тіло відповіді, як вам потрібно в цьому сценарії "Мені шкода, що я не можу відповісти вам зараз. Я відповім вам пізніше". & _

(2) Цей макрос VBA може автоматично відповідати на електронні листи, отримані у папці Вхідні за замовчуванням.


Найкращі інструменти продуктивності офісу

Kutools для Outlook - Понад 100 потужних функцій, які покращать ваш Outlook

🤖 AI Mail Assistant: Миттєві професійні електронні листи з магією штучного інтелекту – геніальні відповіді одним клацанням, ідеальний тон, багатомовна майстерність. Трансформуйте електронну пошту без зусиль! ...

???? Автоматизація електронної пошти: Поза офісом (доступно для POP та IMAP)  /  Розклад надсилання електронних листів  /  Автоматична копія/прихована копія за правилами під час надсилання електронної пошти  /  Автоматичне пересилання (розширені правила)   /  Автоматично додавати привітання   /  Автоматично розділяйте електронні листи кількох одержувачів на окремі повідомлення ...

📨 Управління електронною поштою: Легко відкликайте електронні листи  /  Блокуйте шахрайські електронні листи за темами та іншими  /  Видалити повторювані електронні листи  /  розширений пошук  /  Консолідація папок ...

📁 Вкладення ProПакетне збереження  /  Пакетне від'єднання  /  Пакетний компрес  /  Автозавантаження   /  Автоматичне від'єднання  /  Автокомпресія ...

???? Магія інтерфейсу: 😊Більше красивих і класних смайликів   /  Підвищте продуктивність Outlook за допомогою вкладок  /  Згорніть Outlook замість того, щоб закривати ...

👍 Дива в один клік: Відповісти всім із вхідними вкладеннями  /   Антифішингові електронні листи  /  🕘Показувати часовий пояс відправника ...

👩🏼‍🤝‍👩🏻 Контакти та календар: Пакетне додавання контактів із вибраних електронних листів  /  Розділіть групу контактів на окремі групи  /  Видаліть нагадування про день народження ...

більше Особливості 100 Чекайте на ваше дослідження! Натисніть тут, щоб дізнатися більше.

 

 

Comments (1)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hi
How to modify your VBA code for taking into account only all day events with specific names, pls?I've no clue in coding... :(
Thank you in advance.
BR
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations