Outlook VBA

Nous avons vu VBA dans Excel et comment nous automatisons nos tâches dans Excel avec la création de macros.Dans Microsoft Outlook, nous avons également une référence pour VBA et à l'aide de laquelle nous pouvons contrôler les perspectives à l'aide de VBA, ce qui rend nos tâches répétées dans Outlook plus faciles à automatiser, et similaire à Excel, nous devons activer la fonctionnalité développeur pour utiliser VBA dans Outlook.

Outlook VBA

La beauté de VBA est que nous pouvons référencer d'autres objets Microsoft tels que PowerPoint, Word et Outlook. Nous pouvons créer de belles présentations, nous pouvons travailler avec un document Microsoft Word et enfin, nous pouvons également envoyer les e-mails. Oui, vous avez bien entendu, nous pouvons envoyer des e-mails depuis Excel lui-même. Cela semble maladroit mais en même temps nous met également un sourire sur le visage. Dans cet article, je vais vous montrer comment travailler avec un objet Microsoft Outlook d'Excel en utilisant le codage VBA. Continuer à lire…

Comment référencer Outlook à partir d'Excel?

N'oubliez pas qu'Outlook est un objet et que nous devons définir la référence à celui-ci dans la bibliothèque de références d'objets. Pour définir l'objet Outlook à référencer, suivez les étapes ci-dessous.

Étape 1: accédez à Visual Basic Editor.

Étape 2: Accédez à Outils> Référence.

Étape 3: Dans la bibliothèque d'objets de références ci-dessous, faites défiler vers le bas et sélectionnez «MICROSOFT OUTLOOK 14.0 OBJECT LIBRARY».

Cochez la case «MICROSOFT OUTLOOK 14.0 OBJECT LIBRARY» pour la rendre disponible pour Excel VBA.

Nous pouvons maintenant accéder à l'objet Outlook VBA à partir d'Excel.

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

Nous pouvons envoyer les e-mails d'Excel via l'application Outlook. Pour cela, nous devons écrire des codes VBA. Suivez les étapes ci-dessous pour envoyer les e-mails depuis Outlook.

Vous pouvez télécharger ce modèle VBA Outlook vers Excel ici - Modèle VBA Outlook vers Excel

Étape 1: Créez une sous-procédure.

Code:

 Option Explicit Sub Send_Exails () End Sub 

Étape 2: définissez la variable comme VBA Outlook.Application .

Code:

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

Étape 3: La variable ci-dessus fait référence à l'application VBA Outlook. Dans les perspectives, nous devons envoyer des e-mails, définissez donc une autre variable comme Outlook.MailItem.

Code:

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

Étape 4: Les deux variables sont maintenant des variables d'objet. Nous devons les définir. Définissez d'abord la variable «OutlookApp» comme New Outlook.Application .

Code:

 Sub Send_Exails () 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 «OutlookMail» comme ci-dessous.

Définir OutlookMail = OutlookApp.CreateItem (olMailItem)

Code:

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

Étape 6: Maintenant, utilisez Avec l'accès à la déclaration VBA Outlook Mail.

Code:

 Sub Send_Exails () Dim OutlookApp As Outlook.Application Dim OutlookMail As Outlook.MailItem Set OutlookApp = New Outlook.Application Set OutlookMail = OutlookApp.CreateItem (olMailItem) With OutlookMail End With End Sub 

Maintenant, nous pouvons accéder à tous les éléments disponibles avec des éléments de courrier électronique tels que "Corps de l'e-mail", "À", "CC", "BCC", "Objet" et bien d'autres choses.

Étape 7: Maintenant, dans le avec l'instruction, nous pouvons voir la liste IntelliSense en mettant un point .

Étape 8: Sélectionnez d'abord le format du corps comme olFormatHtml .

Code:

 Avec OutlookMail .BodyFormat = olFormatHTML Terminer par 

Étape 9: Affichez maintenant l'e-mail.

Code:

 Avec OutlookMail .BodyFormat = olFormatHTML .Affichage Fin par 

Étape 10: Nous devons maintenant écrire l'e-mail dans le corps de l'e-mail. Pour cela, sélectionnez HtmlBody .

Code:

 Avec OutlookMail .BodyFormat = olFormatHTML .Display .HTMLBody = "Écrivez votre email ici" Terminer par 

Voici l'exemple du corps de la rédaction de l'e-mail.

Étape 11: Après avoir rédigé l'e-mail, nous devons mentionner l'ID e-mail du destinataire. Pour cet accès « À ».

Étape 12: Indiquez ensuite à qui vous souhaitez envoyer l'e-mail en CC .

Step 13: Now mention the BCC email id’s,

Step 14: Next thing is we need to mention the subject for the email we are sending.

Step 15: Now add attachments. If you want to send the current workbook as an attachment then use the attachment as This workbook

Step 16: Finally send the email by using the Send method.

Now, this code will send the email from your VBA outlook mail. Use the below VBA code to send emails from your outlook.

To use the below code you must set the object reference to “MICROSOFT OUTLOOK 14.0 OBJECT LIBRARY” under object library of Excel VBA

By setting the reference to the object library is called early binding. The reason why we need to set the reference to object library because without setting the object library as “MICROSOFT OUTLOOK 14.0 OBJECT LIBRARY” We cannot access the IntelliSense list of VBA properties and methods. This makes the writing of code difficult because you need to be sure of what you are writing in terms of technique and spellings.

 Sub Send_Emails() 'This code is early binding i.e in Tools > Reference >You have check "MICROSOFT OUTLOOK 14.0 OBJECT LIBRARY" 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 = "Dear ABC" & "

" & "

" & "Please find the attached file" & .HTMLBody 'last .HTMLBody includes signature from the outlook. ''

includes line breaks b/w two lines .To = "[email protected]" .CC = "[email protected]" .BCC = "[email protected];[email protected]" .Subject = "Test mail" .Attachments = ThisWorkbook .Send End With End Sub