VBA Envoyer un e-mail depuis Excel - Code étape par étape pour envoyer un e-mail

Code VBA pour envoyer des e-mails depuis Excel

Dans VBA pour envoyer un e-mail à partir d'Excel, nous pouvons automatiser notre fonctionnalité de messagerie afin que nous puissions envoyer automatiquement des e-mails à plusieurs utilisateurs à la fois, pour ce faire, nous devons nous rappeler que cela est fait par Outlook, un autre produit de Outlook, nous devons donc activer Outlook scripting dans VBA pour le faire et une fois que cela est fait, nous utilisons la méthode .Application pour utiliser les fonctionnalités Outlook.

La polyvalence de VBA est tout simplement incroyable. La raison pour laquelle les codeurs VBA aiment exceller parce qu'en utilisant VBA, nous pouvons non seulement travailler avec Excel. Au contraire, nous pouvons également accéder à d'autres outils Microsoft. Nous pouvons accéder à PowerPoint, Word et Outlook en utilisant VBA. Ce qui m'a impressionné, c'est lorsque j'ai entendu parler de «l'envoi d'e-mails depuis Excel lui-même». Oui c'est vrai. Nous pouvons envoyer des e-mails depuis Excel. Dans cet article, nous allons vous montrer comment envoyer des e-mails à partir d'Excel avec des pièces jointes à l'aide du codage VBA.

Définir la référence à la bibliothèque Microsoft Office

Nous devons envoyer des e-mails depuis Outlook. Étant donné qu'Outlook est un objet extérieur, la première chose que nous devons faire est de définir la référence d'objet sur « Microsoft Outlook 16.0 Object Library ».

  • Dans VBA, accédez à Outils> Références.
  • Nous allons maintenant voir la bibliothèque de références d'objets. Dans cette fenêtre, nous devons définir la référence à «Bibliothèque d'objets Microsoft Outlook 16.0».
  • Après avoir défini la référence de l'objet, cliquez sur OK.

Maintenant, nous pouvons accéder à l'objet Outlook en codage VBA.

13 étapes faciles pour envoyer des e-mails à partir d'Excel

Écrire le code pour envoyer un e-mail avec une pièce jointe depuis Excel est assez compliqué, mais cela vaut la peine de passer du temps.

Suivez les étapes ci-dessous pour rédiger votre première macro Excel par e-mail.

Étape 1

Démarrez la sous-procédure dans VBA.

Code:

Sub SendEmail_Example1 () End Sub

Étape 2

Déclarez la variable Outlook.Application

Code:

Dim EmailApp As Outlook.Application 'Pour faire référence à l'application Outlook

Étape 3

La variable ci-dessus est une variable objet. Nous devons créer une instance d'un nouvel objet séparément. Pour créer une nouvelle instance de l'objet extérieur, vous trouverez ci-dessous le code.

Code:

Set EmailApp = New Outlook.Application 'Pour lancer l'application Outlook

Étape 4

Maintenant, pour écrire l'e-mail, nous déclarons une autre variable comme «Outlook.MailItem».

Code:

Dim EmailItem As Outlook.MailItem 'Pour faire référence à un nouvel e-mail Outlook

Étape # 5

Afin de lancer un nouvel e-mail, nous devons définir la référence à notre variable précédente en tant que CreateItem.

Code:

Set EmailItem = EmailApp.CreateItem (olMailItem) 'Pour lancer un nouvel e-mail Outlook

Ok, maintenant la variable «EmailApp» lancera les perspectives, et dans la variable «EmailItem», nous pouvons commencer à écrire l'e-mail.

Étape # 6

Nous devons maintenant savoir quels sont les éléments dont nous disposons lors de la rédaction d'un e-mail. La première chose est que nous devons décider à qui nous envoyons l'e-mail. Donc pour cela, nous devons accéder à la propriété «TO».

Étape # 7

Entrez l'adresse e-mail du destinataire entre guillemets.

Code:

EmailItem.To = "[email protected]"

Étape # 8

Après vous être adressé au destinataire principal, si vous souhaitez envoyer quelqu'un en CC dans l'e-mail, nous pouvons utiliser la propriété «CC».

Code:

EmailItem.CC = "[email protected]"

Étape # 9

Après le CC, nous pouvons également définir l'ID de messagerie BCC.

Code:

EmailItem.BCC = "[email protected]"

Étape # 10

Nous devons maintenant inclure le sujet de l'e-mail que nous envoyons.

Code:

EmailItem.Subject = "Tester l'e-mail d'Excel VBA"

Étape # 11

Nous devons maintenant écrire le corps de l'e-mail en utilisant le type HTML Body.

Code:

EmailItem.HTMLBody = "Salut," & vbNewLine & vbNewLine & "Ceci est mon premier e-mail d'Excel" & _ vbNewLine & vbNewLine & _ "Regards," & vbNewLine & _ "VBA Coder" 'VbNewLine est la constante VBA pour insérer un nouvelle ligne

Étape # 12

If we want to add an attachment as the current workbook, we are working on. Then we need to use attachments property. First, declare a variable source as a string.

Code:

Dim Source As String

Then in this variable, write ThisWorkbook.FullName after Email body.

Code:

Source = ThisWorkbook.FullName

In this VBA Code, ThisWorkbook is used for the current workbook and .FullName is used to get the full name of the worksheet.

Then write the following code to attach the file.

Code:

EmailItem.Attachments.Add Source

Step #13

Now finally, we need to send the email to the mentioned email IDs. This can be done by using the “Send” method.

Code:

EmailItem.Send

Ok, we are done with the coding part.

Code:

Sub SendEmail_Example1 () Dim EmailApp As Outlook.Application Dim Source As String Set EmailApp = New Outlook.Application Dim EmailItem As Outlook.MailItem Set EmailItem = EmailApp.CreateItem (olMailItem) EmailItem.To = "[email protected]" EmailItem.CC = "[email protected]" EmailItem.BCC = "[email protected]" EmailItem.Subject = "E-mail de test d'Excel VBA" EmailItem.HTMLBody = "Salut," & vbNewLine & vbNewLine & "Ceci est mon premier e-mail de Excel "& _ vbNewLine & vbNewLine & _" Regards, "& vbNewLine & _" VBA Coder "Source = ThisWorkbook.FullName EmailItem.Attachments.Add Source EmailItem.Send End Sub

Exécutez le code ci-dessus et il enverra l'e-mail avec le corps mentionné de l'e-mail avec le classeur actuel en pièce jointe.

Articles intéressants...