Przejdź do głównej zawartości

Jak automatycznie odpowiadać na odebrane wiadomości, gdy jesteś zajęty w Outlooku?

Czasami chcesz automatycznie odpowiadać na odebrane wiadomości w programie Outlook, gdy jesteś zajęty w danym okresie. Ale nie ma wbudowanej funkcji, która mogłaby obsłużyć to zadanie, jednak tutaj mam kod VBA, aby sobie z tym poradzić.

Automatyczna odpowiedź, gdy jesteś zajęty kodem VBA


Automatyczna odpowiedź, gdy jesteś zajęty kodem VBA

Karta Office — włącz edycję i przeglądanie na kartach w pakiecie Microsoft Office, dzięki czemu praca stanie się o wiele łatwiejsza
Kutools dla programu Outlook - Zwiększ wydajność programu Outlook dzięki ponad 100 zaawansowanym funkcjom zapewniającym najwyższą wydajność
Ulepsz swój program Outlook 2021–2010 lub Outlook 365 dzięki tym zaawansowanym funkcjom. Skorzystaj z kompleksowego, 60-dniowego bezpłatnego okresu próbnego i usprawnij korzystanie z poczty e-mail!

Oto kod VBA, który automatycznie odpowie, gdy w kalendarzu Outlooka są jakieś spotkania, jeśli nie ma nic w kalendarzu, przestaje odpowiadać automatycznie.

1. naciśnij Alt + F11 klucze do otwarcia Microsoft Visual Basic for Applications okno.

2. Kliknij dwukrotnie Ta sesja programu Outlook z Project1 okienko, skopiuj i wklej poniższy kod do skryptu.

VBA: automatyczna odpowiedź, gdy jesteś zajęty w kalendarzu

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. Zapisz ten kod i uruchom ponownie Outlooka. Od tej chwili, jeśli e-maile dotrą w wyznaczonym przez Ciebie terminie, zostanie wysłana automatyczna odpowiedź.

Porady:

(1) W kodzie możesz zmienić treść odpowiedzi zgodnie z potrzebami w tym skrypcie „Przykro mi, że nie mogę ci teraz odpowiedzieć. Odpowiem później”. & _

(2) To makro VBA może automatycznie odpowiadać na e-maile otrzymane w skrzynce odbiorczej domyślnego pliku danych.


Najlepsze narzędzia biurowe

Kutools dla programu Outlook - Ponad 100 zaawansowanych funkcji, które usprawnią Twoje perspektywy

🤖 Asystent poczty AI: Natychmiastowe profesjonalne e-maile z magią AI — genialne odpowiedzi jednym kliknięciem, doskonały ton, biegła znajomość wielu języków. Zmień e-mailing bez wysiłku! ...

📧 Automatyzacja poczty e-mail: Poza biurem (dostępne dla POP i IMAP)  /  Zaplanuj wysyłanie wiadomości e-mail  /  Automatyczne CC/BCC według reguł podczas wysyłania wiadomości e-mail  /  Automatyczne przewijanie (Zasady zaawansowane)   /  Automatyczne dodawanie powitania   /  Automatycznie dziel wiadomości e-mail od wielu odbiorców na pojedyncze wiadomości ...

📨 Zarządzanie e-mail: Łatwe przywoływanie e-maili  /  Blokuj oszukańcze wiadomości e-mail według tematów i innych  /  Usuń zduplikowane wiadomości e-mail  /  Wiecej opcji  /  Konsoliduj foldery ...

📁 Załączniki ProZapisz zbiorczo  /  Odłącz partię  /  Kompresuj wsadowo  /  Automatyczne zapisywanie   /  Automatyczne odłączanie  /  Automatyczna kompresja ...

🌟 Magia interfejsu: 😊Więcej ładnych i fajnych emotikonów   /  Zwiększ produktywność programu Outlook dzięki widokom na kartach  /  Zminimalizuj program Outlook zamiast go zamykać ...

>> Cuda jednym kliknięciem: Odpowiedz wszystkim, dodając przychodzące załączniki  /   E-maile chroniące przed phishingiem  /  🕘Pokaż strefę czasową nadawcy ...

👩🏼‍🤝‍👩🏻 Kontakty i kalendarz: Grupowe dodawanie kontaktów z wybranych e-maili  /  Podziel grupę kontaktów na pojedyncze grupy  /  Usuń przypomnienia o urodzinach ...

O Cechy 100 Poczekaj na eksplorację! Kliknij tutaj, aby dowiedzieć się więcej.

 

 

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