VBA E-mail verzenden vanuit Excel - Stap voor stap code om e-mail te verzenden

VBA-code om e-mails vanuit Excel te verzenden

In VBA om e-mail te verzenden vanuit Excel kunnen we onze mailingfunctie automatiseren, zodat we automatisch e-mails naar meerdere gebruikers tegelijk kunnen verzenden, om dit te doen, moeten we onthouden dat dit wordt gedaan door Outlook, een ander product van Outlook, dus we moeten Outlook inschakelen scripting in VBA om dit te doen en zodra het klaar is, gebruiken we de .Application-methode om Outlook-functies te gebruiken.

De veelzijdigheid van VBA is gewoon geweldig. De reden waarom VBA-coders van Excel houden, is dat we met VBA niet alleen binnen Excel kunnen werken. In plaats daarvan hebben we ook toegang tot andere Microsoft-tools. We hebben toegang tot PowerPoint, Word en Outlook door VBA te gebruiken. Wat indruk op me maakte, was toen ik hoorde van 'e-mail verzenden vanuit Excel zelf'. Ja het is waar. We kunnen e-mails verzenden vanuit Excel. In dit artikel laten we u zien hoe u e-mails kunt verzenden vanuit Excel met bijlagen met VBA Coding.

Stel referentie in op Microsoft Office Library

We moeten e-mails verzenden vanuit Outlook. Aangezien Outlook een extern object is, moeten we eerst de objectreferentie instellen op " Microsoft Outlook 16.0 Object Library ".

  • Ga in VBA naar Tools> Referenties.
  • Nu zullen we de objectreferentiebibliotheek zien. In dit venster moeten we de verwijzing naar "Microsoft Outlook 16.0 Object Library" instellen.
  • Klik na het instellen van de objectreferentie op, Ok.

Nu hebben we toegang tot het Outlook-object in VBA-codering.

13 eenvoudige stappen om e-mails te verzenden vanuit Excel

Het schrijven van de code om een ​​e-mail met een bijlage vanuit Excel te verzenden, is vrij ingewikkeld, maar de moeite waard.

Volg de onderstaande stappen om uw eerste Excel-macro voor e-mail te schrijven.

Stap 1

Start de subprocedure in VBA.

Code:

Sub SendEmail_Example1 () End Sub

Stap 2

Declareer de variabele Outlook.Application

Code:

Dim EmailApp As Outlook.Application 'Om te verwijzen naar Outlook-applicatie

Stap 3

De bovenstaande variabele is een objectvariabele. We moeten afzonderlijk een instantie van een nieuw object maken. Om een ​​nieuw exemplaar van het externe object te maken, staat hieronder de code.

Code:

Set EmailApp = New Outlook.Application 'Om de Outlook-applicatie te starten

Stap 4

Om de e-mail te schrijven, declareren we nog een variabele als "Outlook.MailItem".

Code:

Dim EmailItem As Outlook.MailItem 'Om nieuwe Outlook-e-mail te verwijzen

Stap # 5

Om een ​​nieuwe e-mail te lanceren, moeten we de verwijzing naar onze vorige variabele instellen als CreateItem.

Code:

Stel EmailItem = EmailApp.CreateItem (olMailItem) 'in om een ​​nieuwe Outlook-e-mail te starten

Ok, nu start de variabele "EmailApp" de Outlook, en in de variabele "EmailItem" kunnen we beginnen met het schrijven van de e-mail.

Stap # 6

Nu moeten we weten welke items we hebben tijdens het schrijven van een e-mail. Het eerste is dat we moeten beslissen naar wie we de e-mail sturen. Hiervoor hebben we dus toegang tot de eigenschap "TO" nodig.

Stap 7

Voer de e-mail-ID van de ontvanger in tussen dubbele aanhalingstekens.

Code:

EmailItem.To = "[email protected]"

Stap # 8

After addressing the main receiver, if you would like to CC anyone in the email, we can use the “CC” property.

Code:

EmailItem.CC = "[email protected]"

Step #9

After the CC, we can set the BCC email id as well.

Code:

EmailItem.BCC = "[email protected]"

Step #10

Now we need to include the Subject of the email we are sending.

Code:

EmailItem.Subject = "Test Email From Excel VBA"

Step #11

Now we need to write the body of the email by using HTML Body type.

Code:

EmailItem.HTMLBody = "Hi," & vbNewLine & vbNewLine & "This is my first email from Excel" & _ vbNewLine & vbNewLine & _ "Regards," & vbNewLine & _ "VBA Coder" 'VbNewLine is the VBA Constant to insert a new line

Step #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 = Nieuw 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 = "Test e-mail uit Excel VBA" EmailItem.HTMLBody = "Hallo," & vbNewLine & vbNewLine & "Dit is mijn eerste e-mail van Excel "& _ vbNewLine & vbNewLine & _" Met vriendelijke groet, "& vbNewLine & _" VBA Coder "Source = ThisWorkbook.FullName EmailItem.Attachments.Add Source EmailItem.Send End Sub

Voer de bovenstaande code uit en het zal de e-mail verzenden met de genoemde hoofdtekst van de e-mail met de huidige werkmap als bijlage.

Interessante artikelen...