VBA E-mail verzenden vanuit Excel

VBA is niet alleen beperkt tot Excel-gegevens. We kunnen e-mails verzenden via VBA en dit leren we in dit artikel. Het vereist veel kennis van VBA en zijn methoden om de code te schrijven om e-mails van Excel te verzenden. Voordat we overgaan tot het schrijven en verzenden van e-mails van Excel, laat ons weten wat deze automatisering inhoudt. Dit type automatisering betekent toegang krijgen tot een functie van een andere applicatie met behulp van een andere applicatie. Nu de mailingfunctie wordt aangeboden door Microsoft in Outlook, zullen we methoden en eigenschappen van Outlook in Excel gebruiken om e-mails te verzenden. Om een ​​e-mail te verzenden, moeten we ook de basis van e-mail kennen. Wat is voor de leek het proces en wat is de vereiste om een ​​e-mail te sturen? Een e-mail bestaat uit een e-mailadres van de afzender als er een CC (Carbon Copy) of een BCC is en een onderwerpregel met een e-mail.

Hoe e-mails verzenden vanuit Excel VBA?

Laten we leren hoe we e-mails via Outlook vanuit Excel in een voorbeeld kunnen verzenden. In dit voorbeeld sturen we ook een bijlage naar de ontvanger, hetzelfde excel-bestand dat we de code zullen schrijven.

U kunt deze VBA Send Email Excel Template hier downloaden - VBA Send Email Excel Template

Volg de onderstaande stappen om e-mail te verzenden vanuit Excel met behulp van VBA-code:

Stap 1: Klik op het tabblad Ontwikkelaars op Visual Basic om de VB-editor te openen.

Voordat we codes gaan schrijven om een ​​e-mail te verzenden, moeten we weten dat Outlook een extern object is en moeten we dit in de VBA doorverwijzen.

Stap 2: Ga naar Tools en selecteer vervolgens Referenties.

Stap 3: Klikken op de referentie opent een wizardvenster voor ons, zoekt een referentie voor de Microsoft Outlook-objectbibliotheek en vink deze aan en klik vervolgens op OK.

Stap 4: Klik op het tabblad invoegen en voeg een module in het VBA-project in.

Stap 5: Definieer een subprocedure zoals hieronder weergegeven.

Code:

 Sub EmailExample () Einde Sub 

Stap 6: Door verwijzing naar de bovenstaande vooruitzichten, hebben we nu toegang tot de eigenschappen van Outlook in VBA. Laten we nu een variabele als Outlook-toepassing declareren.

Code:

 E-mail dimmen als Outlook. Toepassing 

Stap 7: Net als FSO is deze variabele een objectvariabele, dus om toegang te krijgen tot een andere toepassing die we nodig hebben om enkele instanties te maken, maakt u een instantie zoals hieronder wordt getoond met behulp van het sleutelwoord SET.

Code:

 Stel e-mail in = Nieuw Outlook. Toepassing 

Stap 8: Omdat we een bijlage naar de ontvanger willen sturen, moeten we een variabele als String declareren die het pad voor de bijlage zal bevatten.

Code:

 Dim Sr As String 

Stap 9: Laten we nu beginnen met het postgedeelte in deze code. Om een ​​e-mail te verzenden, moeten we een andere variabele definiëren die de eigenschap outlook gebruikt om naar een nieuwe e-mail te verwijzen, zoals hieronder wordt weergegeven.

Code:

 Dim newmail als Outlook.MailItem 

Stap 10: Net als hierboven bij het gebruik van een andere applicatie in het voorbeeld moeten we instanties maken, nu moeten we een instantie maken voor een nieuwe e-mail die de nieuwe e-mail opent met het ingestelde trefwoord.

Code:

 Stel newmail = Email.CreateItem (olMailItem) in 

Voordat we verder gaan, laat me onze vooruitgang tot nu toe toelichten, de eerste instantie opent vooruitzichten voor ons, terwijl de tweede instantie de nieuwe e-mail voor ons opent.

Stap 11: Zoals ik hierboven heb uitgelegd, wat is de vereiste om een ​​e-mail te verzenden. De eerste vereiste is een ontvanger die "Aan" is in een e-mail. Dus laten we de eigenschap To van Outlook in Excel als volgt gebruiken.

Code:

 newmail.To = " " 

Stap 12: Omdat we de eigenschap Aan hebben gebruikt, moeten we nog een andere functie gebruiken, zoals de Carbon Copy of de CC-eigenschap van outlook.

Code:

 newmail.CC = " " 

Op dezelfde manier kunnen we de eigenschap BCC gebruiken.

Opmerking: BCC-eigenschap wordt gebruikt wanneer we het e-mailadres van de BCC-ontvanger voor de andere ontvangers willen verbergen.

Wat is de volgende stap bij het verzenden van een e-mail?

Stap 13: Het is onderwerp. Wanneer we de instantienaam schrijven met een puntoperator, zien we de optie voor een onderwerp als volgt.

Stap 14: Druk op Tab over het onderwerp IntelliSense en schrijf een willekeurig onderwerp zoals hieronder weergegeven.

Code:

 newmail.Subject = "Dit is een geautomatiseerde e-mail" 

Stap 15: De volgende stap bij het schrijven van een e-mail is een hoofdtekst voor de e-mail. Net als de eigenschappen die we hierboven met de instantie hebben gebruikt, laten we de eigenschap body van de outlook als volgt gebruiken om de body te schrijven.

Code:

 newmail.HTMLBody = "Hallo" & vbNewLine & vbNewLine & "Dit is een test-e-mail van Excel" & _ vbNewLine & vbNewLine & _ "Met vriendelijke groet, " & vbNewLine & _ "VBA Coder" 

Stap 16: Nu hebben we een e-mail gemaakt met een hoofdtekst en een onderwerpregel erin. De volgende stap is het toevoegen van een bijlage aan de e-mail. Omdat we het huidige werkblad naar de ontvanger willen sturen, gebruiken we het pad als volgt,

Code:

 Sr = ThisWorkbook.FullName 

Stap 17: Nu kunnen we de bijlage verzenden met behulp van de bijlage-eigenschap, zoals hieronder getoond.

Code:

 newmail.Attachments.Add Sr 

Stap 18: Nu moeten we eindelijk de e-mail verzenden. Net als in Outlook, drukken we op de verzendknop om een ​​e-mail te verzenden. Op dezelfde manier gebruiken we de verzendeigenschappen van Outlook als volgt.

Code:

 newmail.Send 

Laatste volledige code

Dus hieronder is de laatste code voor het verzenden van een e-mail vanuit Excel met behulp van VBA.

Code:

 Sub EmailExample () Dim e-mail als Outlook.Toepassing E-mail instellen = Nieuw Outlook.Applicatie Dim Sr als tekenreeks Dim mailmail als Outlook.MailItem newmail = Email.CreateItem (olMailItem) newmail.To = " " newmail.CC = " " newmail.Subject = "Dit is een geautomatiseerde e-mail" newmail.HTMLBody = "Hallo" & vbNewLine & vbNewLine & "Dit is een test-e-mail van Excel" & _ vbNewLine & vbNewLine & _ "Met vriendelijke groet, " & vbNewLine & _ "VBA Coder" Sr = ThisWorkbook.FullName newmail.Attachments.Add Sr newmail.Send End Sub 

Wanneer we de bovenstaande code uitvoeren, moeten we een paar seconden wachten voordat de code wordt uitgevoerd en kunnen we het verzonden vakje aanvinken in Outlook dat de e-mail is verzonden via Excel.

Dingen om te onthouden

  • We gebruiken een andere applicatie om een ​​e-mail van Excel te verzenden.
  • Om een ​​andere applicatie te gebruiken, maken we instanties.
  • Voordat u Outlook als een andere toepassing kunt gebruiken, moeten we naar Outlook-objecten verwijzen vanaf het referentietabblad.
  • We moeten de vereisten van een e-mail kennen om een ​​e-mail te verzenden.

Aanbevolen artikelen

Dit is een handleiding voor VBA E-mail verzenden vanuit Excel. Hier bespreken we hoe u e-mails met bijlagen van Excel kunt verzenden met behulp van VBA-code, samen met een voorbeeld en een downloadbare Excel-sjabloon. Hieronder staan ​​enkele nuttige Excel-artikelen met betrekking tot VBA -

  1. VBA-hyperlink met voorbeelden
  2. Hoe de JAAR-functie in Excel te gebruiken?
  3. Tips voor het gebruik van VBA Outlook
  4. Zelfstudies over Excel-datumfunctie

Categorie: