Vai al contenuto principale

Come rispondere automaticamente ai messaggi ricevuti quando sei impegnato in Outlook?

A volte, vuoi rispondere automaticamente ai messaggi ricevuti in Outlook mentre sei impegnato in un periodo. Ma non esiste una funzione incorporata in grado di gestire questo lavoro, tuttavia, qui ho un codice VBA per gestirlo.

Risposta automatica quando sei impegnato con un codice VBA


Risposta automatica quando sei impegnato con un codice VBA

Scheda Office: abilita la modifica e la navigazione a schede in Microsoft Office, rendendo il lavoro un gioco da ragazzi
Kutools per Outlook: potenzia Outlook con oltre 100 funzionalità avanzate per un'efficienza superiore
Potenzia il tuo Outlook 2021-2010 o Outlook 365 con queste funzionalità avanzate. Goditi una prova gratuita completa di 60 giorni e migliora la tua esperienza di posta elettronica!

Ecco un codice VBA, che risponderà automaticamente mentre ci sono alcuni appuntamenti nel tuo calendario di Outlook, se non c'è nulla nel calendario, smette di rispondere automaticamente.

1. Stampa Alt + F11 chiavi per aprire Microsoft Visual Basic, Applications Edition finestra.

2. Fare doppio clic su Questa sessione di Outlook dal Project1 riquadro, copia e incolla sotto il codice nello script.

VBA: risposta automatica mentre sei impegnato nel calendario

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. Salvare questo codice e riavviare Outlook. D'ora in poi, se le e-mail vengono ricevute nell'intervallo di tempo dei tuoi appuntamenti, verrà inviata una risposta automatica.

Suggerimenti:

(1) Nel codice, puoi modificare il corpo della risposta di cui hai bisogno in questo script "Mi dispiace di non poterti rispondere in questo momento. Ti risponderò più tardi." & _

(2) Questa macro VBA può rispondere automaticamente alle e-mail ricevute nella Posta in arrivo del file di dati predefinito.


I migliori strumenti per la produttività in ufficio

Kutools for Outlook - Oltre 100 potenti funzionalità per potenziare il tuo Outlook

🤖 Assistente di posta AI: E-mail istantanee professionali con la magia dell'intelligenza artificiale: risposte geniali con un solo clic, tono perfetto, padronanza multilingue. Trasforma l'e-mail senza sforzo! ...

???? Automazione di posta elettronica: Fuori sede (disponibile per POP e IMAP)  /  Pianifica l'invio di e-mail  /  CC/BCC automatico in base alle regole durante l'invio di e-mail  /  Inoltro automatico (regole avanzate)   /  Aggiunta automatica di saluto   /  Suddividi automaticamente le email con più destinatari in singoli messaggi ...

📨 gestione e-mail: Richiama facilmente le email  /  Blocca le email truffe per soggetto e altri  /  Elimina email duplicate  /  Ricerca avanzata  /  Consolidare cartelle ...

📁 Allegati ProSalvataggio in batch  /  Stacca batch  /  Comprimi in lotti  /  Salvataggio automatico   /  Scollegamento automatico  /  Comprimi automaticamente ...

🌟 Magia dell'interfaccia: 😊Più emoji carini e fantastici   /  Aumenta la tua produttività in Outlook con le visualizzazioni a schede  /  Riduci a icona Outlook invece di chiuderlo ...

👍 Meraviglie con un clic: Rispondi a tutti con gli allegati in arrivo  /   E-mail anti-phishing  /  🕘Mostra il fuso orario del mittente ...

👩🏼‍🤝‍👩🏻 Contatti e calendario: Aggiungi in batch contatti dalle email selezionate  /  Dividere un gruppo di contatti in singoli gruppi  /  Rimuovi promemoria compleanno ...

Al di sopra Caratteristiche 100 Attendi la tua esplorazione! Clicca qui per scoprire di più.

 

 

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