Fonction Outlook VBA Excel

Nous travaillons quotidiennement sur de nombreux fichiers Excel et nous les envoyons quotidiennement à de nombreux utilisateurs. Nous écrivons quotidiennement le même message dans l'e-mail et envoyons ce fichier Excel. Cela nous donne l'étendue de l'automatisation de cette tâche. Vous avez bien entendu. Cette tâche d'écriture d'un e-mail et d'envoi du fichier peut être automatisée à l'aide de VBA. La raison en est que VBA peut utiliser une référence avec différents objets Microsoft tels que Outlook, Word, PowerPoint, Paint, etc.

Nous pouvons donc envoyer l'e-mail avec l'aide de VBA. Maintenant, je suis sûr que vous serez tous ravis de savoir comment nous pouvons envoyer un e-mail avec l'aide de VBA.

Nous apprendrons dans cet article comment utiliser Outlook en tant qu'objet Microsoft d'Excel en utilisant le codage VBA et comment envoyer un e-mail comprenant une pièce jointe à l'aide de VBA.

Comment utiliser la fonction Outlook Excel VBA?

Pour utiliser la fonction VBA Outlook, nous devons faire deux choses.

Vous pouvez télécharger ce modèle Excel Outlook VBA ici - Modèle Excel Outlook VBA
  1. Référencez l'objet Microsoft Outlook à partir de la bibliothèque d'objets dans VBA.
  2. Écrivez le code VBA pour envoyer des e-mails dans le module VBA.

# 1 - Référence d'Outlook à partir d'Excel

Comme vous le savez, Outlook est un objet et nous devons fournir une référence à l'objet Outlook. Il existe donc une bibliothèque de référence d'objet dans VBA que nous devons utiliser comme référence.

Suivez les étapes ci-dessous pour utiliser la bibliothèque de référence d'objets.

Étape 1: Dans l' onglet Développeur, cliquez sur Visual Basic pour ouvrir l'éditeur VB.

Étape 2: Accédez à Outils, puis sélectionnez Références comme indiqué dans la capture d'écran ci-dessous.

Étape 3: faites défiler vers le bas dans la bibliothèque d'objets de référence et sélectionnez «Bibliothèque d'objets Microsoft Outlook 16.0» pour la rendre disponible pour Excel VBA.

Selon le bureau Microsoft, la version d'Outlook peut être différente. Dans notre cas, c'est 16, 0. Vous pouvez utiliser la « bibliothèque d'objets Microsoft Outlook 14.0» s'il s'agit de la version affichée sur votre ordinateur.

Cochez la case de Microsoft Outlook comme indiqué dans la capture d'écran ci-dessus. Nous pouvons maintenant utiliser l'objet Microsoft Outlook dans Excel VBA.

Ce processus de définition de la référence à «BIBLIOTHÈQUE D'OBJETS MICROSOFT OUTLOOK 16.0» est appelé Early Binding. Sans définir la bibliothèque d'objets comme «BIBLIOTHÈQUE D'OBJETS MICROSOFT OUTLOOK 16.0», nous ne pouvons pas utiliser les propriétés et les méthodes IntelliSense de VBA, ce qui rend difficile l'écriture du code.

# 2 - Écrivez un code pour envoyer des e-mails à partir de VBA Outlook à partir d'Excel

Suivez les étapes ci-dessous pour écrire le code VBA pour envoyer des e-mails depuis Outlook à partir d'Excel.

Étape 1: créer une sous-procédure en nommant la macro. Nous nommerons la macro «send_email» comme indiqué dans la capture d'écran ci-dessous.

Code:

 Option Explicit Sub Send_email () End Sub 

Étape 2: définissez la variable comme Outlook. Application comme indiqué dans la capture d'écran ci-dessous. Il s'agit de la référence à l'application Outlook VBA.

Code:

 Option Explicit Sub Send_email () Dim OutlookApp As Outlook.Application End Sub 

Étape 3: Nous devons envoyer un e-mail dans Outlook afin de définir une autre variable comme « Outlook.Mailitem » comme indiqué dans la capture d'écran ci-dessous.

Code:

 Option Explicit Sub Send_email () Dim OutlookApp As Outlook.Application Dim OutlookMail As Outlook.MailItem End Sub 

Étape 4: Dans les étapes précédentes, nous avons défini la variable maintenant, nous devons les définir.

Maintenant, définissez la première variable «Application Outlook» comme «Nouvelle application Outlook», comme indiqué dans la capture d'écran ci-dessous.

Code:

 Option Explicit Sub Send_email () Dim OutlookApp As Outlook.Application Dim OutlookMail As Outlook.MailItem Set OutlookApp = New Outlook.Application End Sub 

Étape 5: Maintenant, définissez la deuxième variable «Outlook Mail» avec le code ci-dessous.

Code:

 Option Explicit Sub Send_email () Dim OutlookApp As Outlook.Application Dim OutlookMail As Outlook.MailItem Set OutlookApp = New Outlook.Application Set OutlookMail = OutlookApp.CreateItem (olMailItem) End Sub 

Étape 6: Nous pouvons maintenant utiliser VBA Outlook à l'aide de l'instruction « With », comme indiqué dans la capture d'écran ci-dessous.

Code:

 Option Explicit Sub Send_email () Dim OutlookApp As Outlook.Application Dim OutlookMail As Outlook.MailItem Set OutlookApp = New Outlook.Application Set OutlookMail = OutlookApp.CreateItem (olMailItem) Avec OutlookMail End Sub 

Nous avons maintenant tous les accès aux éléments de l'e-mail comme «À», «CC», «BCC», «sujet», «Corps de l'e-mail» et bien d'autres éléments.

Étape 7: À l'intérieur de la déclaration «With», nous pouvons voir une liste en mettant un point qui est connu comme «Intellisense List».

Étape 8: Sélectionnez d'abord le format du corps comme olFormatHtml comme indiqué dans la capture d'écran ci-dessous.

Code:

 Avec OutlookMail .BodyFormat = olFormatHTML End Sub 

Étape 9: Sélectionnez « .Affichage » pour afficher l'e-mail comme indiqué dans la capture d'écran ci-dessous.

Code:

 Avec OutlookMail .BodyFormat = olFormatHTML .Display End Sub 

Étape 10: Sélectionnez « .HTMLbody » pour écrire l'e-mail comme indiqué dans la capture d'écran ci-dessous.

Code:

 Avec OutlookMail .BodyFormat = olFormatHTML .Display .HTMLBody = "écrivez votre e-mail ici" End Sub 

Nous devons nous souvenir de certaines choses lors de l'écriture de l'e-mail en code VBA.

"
"Est utilisé pour inclure la rupture de ligne entre deux lignes. Pour ajouter une signature dans l'e-mail, vous devez saisir «& .HTMLbody»

Voir l'exemple ci-dessous sur la façon d'écrire le courrier dans VBA.

Code:

 Avec OutlookMail .BodyFormat = olFormatHTML .Display .HTMLBody = "Dear ABC" & "
"&" Veuillez trouver le fichier joint "& .HTMLBody End Sub

Étape 11: Maintenant, nous devons ajouter le destinataire de l'e-mail. Pour cela, vous devez utiliser «.To».

Code:

 .To = " " 

Étape 12: Si vous souhaitez ajouter quelqu'un dans «CC» et «BCC», vous pouvez utiliser «.CC» et «.BCC» comme indiqué dans la capture d'écran ci-dessous.

Code:

 .CC = " " .BCC = " " 

Étape 13: Pour ajouter un objet pour l'e-mail que nous envoyons, nous pouvons utiliser « .Subject » comme indiqué dans la capture d'écran ci-dessous.

Code:

 .Subject = "TEST MAIL" 

Étape 14: Nous pouvons ajouter notre classeur actuel en tant que pièce jointe dans l'e-mail à l'aide de la propriété «.Attachment». Pour ce faire, déclarez d'abord une variable Source sous forme de chaîne.

Code:

 Dim source_file As String 

Utilisez ensuite le code suivant pour joindre le fichier dans l'e-mail.

Code:

 source_file = ThisWorkbook.FullName .Attachments.Add source_file 

Ici, ThisWorkbook est utilisé pour le classeur actuel et. FullName est utilisé pour obtenir le nom complet de la feuille de calcul.

Étape 15: Maintenant, le dernier code est d'envoyer enfin l'e-mail pour lequel nous pouvons utiliser " .send ". Mais assurez-vous de fermer les procédures With et Sub par «End with» et «End Sub» comme indiqué dans la capture d'écran ci-dessous.

Le code est donc enfin prêt à envoyer un email. Nous devons simplement exécuter la macro maintenant.

Étape 16: Exécutez le code en appuyant sur F5 ou sur le bouton Exécuter et voyez la sortie.

Code complet final

Voici donc le code final sur la façon d'envoyer un e-mail avec l'aide de VBA Outlook.

Code:

 Option Explicit Sub Send_email () Dim OutlookApp As Outlook.Application Dim OutlookMail As Outlook.MailItem Dim source_file As String Set OutlookApp = New Outlook.Application Set OutlookMail = OutlookApp.CreateItem (olMailItem) Avec OutlookMail .BodyFormat = olFormatHTML .Display .HTMLBody = Cher ABC "&"
"&" Veuillez trouver le fichier joint "& .HTMLBody .To =" ".CC =" ".BCC =" ".Subject =" TEST MAIL "source_file = ThisWorkbook. FullName .Attachments.Add source_file .Send End With End Sub

Exemple de fonction Outlook VBA

Supposons qu'il y ait un chef d'équipe et qu'il souhaite envoyer un e-mail quotidien pour le suivi de l'activité de chaque membre. L'email sera comme ça.

" Salut l'équipe,

Vous demander de bien vouloir partager vos actions sur chacun de vos éléments de suivi avant 11 h 00 aujourd'hui.

Merci et salutations,

Inconnue

"

Suivez les étapes mentionnées ci-dessus pour référencer l'objet Microsoft et écrire le codage VBA ou vous pouvez simplement modifier le code en conséquence.

Donc, avec tout le code restant le même, nous devons changer peu de choses dans le code comme l'identifiant e-mail du destinataire, l'objet, le corps de l'e-mail et il n'y aura aucune pièce jointe dans l'e-mail.

Vous trouverez ci-dessous le code modifié que nous utilisons pour rédiger cet e-mail.

Code:

 Sub Send_teamemail () Dim OutlookApp As Outlook.Application Dim OutlookMail As Outlook.MailItem Set OutlookApp = New Outlook.Application Set OutlookMail = OutlookApp.CreateItem (olMailItem) With OutlookMail .BodyFormat = olFormatHTML .Display .HTMLBody = "Hi Team" & "
"&"
"&" Vous demande de bien vouloir partager vos actions sur chacun de vos éléments de suivi avant 20 h 00 aujourd'hui. "& .HTMLBody .To =" ; ; ".Subject =" Team Follow Up ".Envoyer End With End Sub

Après avoir exécuté la macro, vous verrez que le courrier a été envoyé automatiquement depuis votre Outlook.

Choses dont il faut se rappeler

  • Tout d'abord, assurez-vous d'avoir installé Microsoft Outlook sur votre ordinateur et de vous connecter à votre compte.
  • Assurez-vous que la case pour Microsoft Outlook dans la référence de la bibliothèque d'objets est toujours cochée. Le code ne s'exécutera pas et générera une erreur s'il n'est pas vérifié.
  • La définition de variables et la définition de variables sont très importantes dans le codage VBA. Sans variables, un code ne fonctionnera pas.
  • Assurez-vous que si vous souhaitez ajouter une signature dans l'e-mail, vous devez d'abord avoir au moins une signature déjà créée dans Outlook.
  • Utilisez toujours "
    »Pour saisir des espaces entre les lignes du courrier.

Articles recommandés

Ceci est un guide pour VBA Outlook. Nous expliquons ici comment envoyer des e-mails à partir d'Outlook à l'aide de codes VBA dans Excel, ainsi qu'un exemple et un modèle Excel téléchargeable. Voici quelques articles Excel utiles liés à VBA -

  1. Qu'est-ce qu'une erreur de débordement VBA?
  2. Personnaliser la barre d'outils d'accès rapide dans Excel
  3. Exemples de plages nommées VBA
  4. Comment envoyer un e-mail depuis Excel VBA
  5. Comment utiliser l'option explicite dans VBA?

Catégorie: