VBA E-mail verzenden vanuit Excel

VBA-code om e-mails vanuit Excel te verzenden

In VBA om e-mail vanuit Excel te verzenden , 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, maar ook toegang hebben 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 dat we e-mails kunnen 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.

U kunt deze VBA E-mail Excel-sjabloon verzenden hier downloaden - VBA E-mail Excel-sjabloon verzenden

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 hieronder te maken, is 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 zal de variabele "EmailApp" de Outlook starten en in de variabele "EmailItem" kunnen we beginnen met het schrijven van de e-mail.

Stap # 6

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

Stap # 7

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

Code:

EmailItem.To = "[email protected]"

Stap # 8

Nadat u de hoofdontvanger heeft geadresseerd en u iemand in de e-mail wilt CC, kunnen we de eigenschap "CC" gebruiken.

Code:

EmailItem.CC = "[email protected]"

Stap # 9

Na de CC kunnen we ook de BCC-e-mail-ID instellen.

Code:

EmailItem.BCC = "[email protected]"

Stap # 10

Nu moeten we het onderwerp opnemen van de e-mail die we verzenden.

Code:

EmailItem.Subject = "Test e-mail vanuit Excel VBA"

Stap # 11

Nu moeten we de body van de e-mail schrijven met 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 ID’s. This can be done by using “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 = "Test Email From Excel VBA" EmailItem.HTMLBody = "Hi," & vbNewLine & vbNewLine & "This is my first email from Excel" & _ vbNewLine & vbNewLine & _ "Regards," & vbNewLine & _ "VBA Coder" Source = ThisWorkbook.FullName EmailItem.Attachments.Add Source EmailItem.Send End Sub 

Run the above code and it will send the email with the mentioned body of the email with the current workbook as the attachment.