Passer au contenu principal

Comment répondre automatiquement aux messages reçus lorsque vous êtes occupé dans Outlook?

Parfois, vous souhaitez répondre automatiquement aux messages reçus dans Outlook pendant que vous êtes occupé pendant une période. Mais il n'y a pas de fonction intégrée qui peut gérer ce travail, cependant, j'ai ici un code VBA pour le gérer.

Réponse automatique lorsque vous êtes occupé avec un code VBA


Réponse automatique lorsque vous êtes occupé avec un code VBA

Onglet Office - Activez l'édition et la navigation par onglets dans Microsoft Office, ce qui facilite le travail
Kutools for Outlook - Boostez Outlook avec plus de 100 fonctionnalités avancées pour une efficacité supérieure
Boostez votre Outlook 2021 - 2010 ou Outlook 365 avec ces fonctionnalités avancées. Profitez d'un essai gratuit complet de 60 jours et améliorez votre expérience de messagerie !

Voici un code VBA, qui répondra automatiquement lorsqu'il y a des rendez-vous dans votre calendrier Outlook, s'il n'y a rien dans le calendrier, il arrête de répondre automatiquement.

1. presse Alt + F11 clés pour ouvrir Microsoft Visual Basic pour applications fenêtre.

2. Double-cliquez sur Cette session Outlook du Project1 volet, copiez et collez le code ci-dessous dans le script.

VBA: réponse automatique lorsque vous êtes occupé dans le calendrier

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. Enregistrez ce code et redémarrez Outlook. Désormais, si les e-mails sont reçus dans l'intervalle de temps de vos rendez-vous, une réponse automatique sera envoyée.

Conseils:

(1) Dans le code, vous pouvez modifier le corps de la réponse selon vos besoins dans ce script "Je suis désolé de ne pas pouvoir vous répondre pour le moment. Je vous répondrai plus tard." & _

(2) Cette macro VBA peut répondre automatiquement aux e-mails reçus dans la boîte de réception du fichier de données par défaut.


Meilleurs outils de productivité bureautique

Kutools for Outlook - Plus de 100 fonctionnalités puissantes pour booster votre Outlook

🤖 Assistant de messagerie IA: E-mails professionnels instantanés avec la magie de l'IA : un clic pour des réponses géniales, un ton parfait, une maîtrise multilingue. Transformez l’emailing sans effort ! ...

📧 Email Automation: Absent du bureau (disponible pour POP et IMAP)  /  Programmer l'envoi d'e-mails  /  Auto CC/BCC par règles lors de l'envoi d'un e-mail  /  Transfert automatique (règles avancées)   /  Ajouter un message d'accueil automatique   /  Divisez automatiquement les e-mails multi-destinataires en messages individuels 

(I.e. Email Management: Rappel facile des e-mails  /  Bloquer les e-mails frauduleux par sujets et autres  /  Supprimer les e-mails en double  /  Recherche Avancée  /  Consolider les dossiers 

(I.e. Pièces jointes ProSauvegarde par lots  /  Détachement par lots  /  Compression par lots  /  Enregistrement automatique   /  Détachement automatique  /  Compression automatique 

???? Magie de l'interface: 😊Plus d'émojis jolis et cool   /  Boostez votre productivité Outlook avec des vues à onglets  /  Réduire Outlook au lieu de fermer 

???? Merveilles en un clic: Répondre à tous avec les pièces jointes entrantes  /   E-mails anti-hameçonnage  /  🕘Afficher le fuseau horaire de l'expéditeur 

👩🏼‍🤝‍👩🏻 Contacts et calendrier: Ajouter par lots des contacts à partir des e-mails sélectionnés  /  Diviser un groupe de contacts en groupes individuels  /  Supprimer les rappels d'anniversaire 

infos Caractéristiques 100 Attendez votre exploration ! Cliquez ici pour en savoir plus.

 

 

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