Excel VBA Outlook-functie

We werken dagelijks aan heel veel Excel-bestanden en we sturen dagelijks naar veel gebruikers. We schrijven dagelijks hetzelfde bericht in de e-mail en verzenden dat Excel-bestand. Dit geeft ons de omvang van de automatisering van deze taak. Je hebt het goed gehoord. Deze taak van het schrijven van een e-mail en het verzenden van het bestand kan worden geautomatiseerd met behulp van VBA. De reden is dat VBA een verwijzing kan gebruiken met verschillende Microsoft-objecten zoals Outlook, Word, PowerPoint, Paint, enz.

Dus we kunnen de e-mail verzenden met behulp van VBA. Nu weet ik zeker dat jullie allemaal enthousiast zullen zijn om te weten hoe we een e-mail kunnen sturen met behulp van VBA.

In dit artikel zullen we leren hoe u Outlook als Microsoft-object kunt gebruiken om uit te blinken met behulp van VBA-codering en hoe we een e-mail met een bijlage kunnen verzenden met behulp van VBA.

Hoe Excel VBA Outlook-functie te gebruiken?

Om de VBA Outlook-functie te gebruiken, moeten we twee dingen doen.

U kunt deze VBA Outlook Excel-sjabloon hier downloaden - VBA Outlook Excel-sjabloon
  1. Referentie Microsoft Outlook Object uit Objectbibliotheek in VBA.
  2. Schrijf VBA-code om e-mails te verzenden in de VBA-module.

# 1 - Referentie van Outlook vanuit Excel

Zoals u weet is Outlook een object en moeten we een verwijzing naar Outlook-object opgeven. Er is dus een objectreferentiebibliotheek in VBA die we als referentie moeten gebruiken.

Volg de onderstaande stappen om de Object Reference Library te gebruiken.

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

Stap 2: Ga naar Tools en selecteer vervolgens Referenties zoals weergegeven in de onderstaande schermafbeelding.

Stap 3: scrol omlaag in de referentieobjectbibliotheek en selecteer "Microsoft Outlook 16.0 objectbibliotheek " om deze beschikbaar te maken voor Excel VBA.

Afhankelijk van het Microsoft-kantoor kan de Outlook-versie verschillen. In ons geval is het 16.0. U kunt " Microsoft Outlook 14.0 Objectbibliotheek" gebruiken als dat de versie is die op uw computer wordt weergegeven.

Vink het vakje van Microsoft Outlook aan zoals getoond in de bovenstaande screenshot. Nu kunnen we het Microsoft Outlook-object in Excel VBA gebruiken.

Dit proces van het instellen van de verwijzing naar "MICROSOFT OUTLOOK 16.0 OBJECTBIBLIOTHEEK" staat bekend als vroege binding. Zonder de objectbibliotheek in te stellen als "MICROSOFT OUTLOOK 16.0 OBJECTBIBLIOTHEEK" kunnen we de IntelliSense-eigenschappen en -methoden van VBA niet gebruiken, wat het schrijven van de code moeilijk maakt.

# 2 - Schrijf een code om e-mails te verzenden vanuit VBA Outlook vanuit Excel

Volg de onderstaande stappen om de VBA-code te schrijven om e-mail vanuit Outlook vanuit Excel te verzenden.

Stap 1: Maak een Subprocedure door de macro een naam te geven. We noemen de macro 'send_email' zoals weergegeven in de onderstaande schermafbeelding.

Code:

 Optie Expliciete Sub Send_email () Einde Sub 

Stap 2: Definieer de variabele als Outlook. Toepassing zoals weergegeven in onderstaande screenshot. Dit is de verwijzing naar de VBA Outlook-toepassing.

Code:

 Optie Expliciete Sub Send_email () Dim OutlookApp As Outlook.Application End Sub 

Stap 3: We moeten een e-mail verzenden in Outlook, dus definieer een andere variabele als " Outlook.Mailitem " zoals getoond in de onderstaande screenshot.

Code:

 Optie Expliciete Sub Send_email () Dim OutlookApp als Outlook.Applicatie Dim OutlookMail als Outlook.MailItem Einde Sub 

Stap 4: In de vorige stappen hebben we de variabele gedefinieerd, nu moeten we ze instellen.

Stel nu de eerste variabele 'Outlook-toepassing' in als 'Nieuwe Outlook.-toepassing' zoals weergegeven in de onderstaande schermafbeelding.

Code:

 Optie Expliciete Sub Send_email () Dim OutlookApp als Outlook.Applicatie Dim OutlookMail als Outlook.MailItem Stel OutlookApp = New Outlook.Application End Sub in 

Stap 5: Stel nu de tweede variabele "Outlook Mail" in met de onderstaande code.

Code:

 Optie Expliciete sub Send_email () Dim OutlookApp als Outlook.Applicatie Dim OutlookMail als Outlook.MailItem Set OutlookApp = New Outlook.Application Set OutlookMail = OutlookApp.CreateItem (olMailItem) End Sub 

Stap 6: We kunnen nu de VBA Outlook gebruiken met behulp van de “ With ” -instructie zoals getoond in de onderstaande screenshot.

Code:

 Optie Expliciete Sub Send_email () Dim OutlookApp als Outlook.Applicatie Dim OutlookMail als Outlook.MailItem Set OutlookApp = New Outlook.Application Set OutlookMail = OutlookApp.CreateItem (olMailItem) Met OutlookMail End Sub 

We hebben nu alle toegang tot e-mailitems zoals "Aan", "CC", "BCC", "onderwerp", "E-mail" en nog veel meer.

Stap 7: In de “With” -instructie zien we een lijst door een punt te plaatsen die bekend staat als “Intellisense List”.

Stap 8: Selecteer eerst het lichaamsformaat als olFormatHtml zoals getoond in de onderstaande screenshot.

Code:

 Met OutlookMail .BodyFormat = olFormatHTML End Sub 

Stap 9: Selecteer " .Display " om de e-mail weer te geven zoals getoond in de onderstaande screenshot.

Code:

 Met OutlookMail .BodyFormat = olFormatHTML. Display End Sub 

Stap 10: Selecteer " .HTMLbody " om de e-mail te schrijven zoals weergegeven in de onderstaande screenshot.

Code:

 Met OutlookMail .BodyFormat = olFormatHTML .Display .HTMLBody = "schrijf hier uw e-mail" End Sub 

We moeten een paar dingen onthouden tijdens het schrijven van de e-mail in VBA-code.


”Wordt gebruikt om de regelverdeling tussen twee regels op te nemen. Om een ​​handtekening in de e-mail toe te voegen, moet u "& .HTMLbody" invoeren

Zie het onderstaande voorbeeld voor het schrijven van de e-mail in VBA.

Code:

 Met OutlookMail .BodyFormat = olFormatHTML .Display .HTMLBody = "Beste ABC" & "
"&" Zoek het bijgevoegde bestand "& .HTML Body End Sub

Stap 11: Nu moeten we de ontvanger van de e-mail toevoegen. Hiervoor moet u ".To" gebruiken.

Code:

 .To = " " 

Stap 12: Als u iemand in "CC" & "BCC" wilt toevoegen, kunt u ".CC" en ".BCC" gebruiken zoals getoond in de onderstaande screenshot.

Code:

 .CC = " " .BCC = " " 

Stap 13: Om een ​​onderwerp toe te voegen voor de e-mail die we verzenden, kunnen we “ .Subject ” gebruiken zoals getoond in de onderstaande screenshot.

Code:

 .Subject = "TEST MAIL" 

Stap 14: We kunnen onze huidige werkmap toevoegen als bijlage in de e-mail met behulp van de eigenschap ".Attachment". Om dat te doen declareert u eerst een variabele Source als een string.

Code:

 Dim source_file As String 

Gebruik vervolgens de volgende code om het bestand in de e-mail bij te voegen.

Code:

 source_file = ThisWorkbook.FullName .Attachments.Add source_file 

Hier wordt ThisWorkbook gebruikt voor de huidige werkmap en. Volledige naam wordt gebruikt om de volledige naam van het werkblad te krijgen.

Stap 15: Nu is de laatste code om eindelijk de e-mail te verzenden waarvoor we “ .send ” kunnen gebruiken. Maar zorg ervoor dat u de procedure With en Sub sluit met "End with" en "End Sub" zoals weergegeven in de onderstaande schermafbeelding.

Dus de code is eindelijk klaar om een ​​e-mail te verzenden. We moeten de macro nu gewoon uitvoeren.

Stap 16: Voer de code uit door op F5 of de knop Run te drukken en de uitvoer te bekijken.

Laatste volledige code

Dus hieronder is de laatste code over het verzenden van een e-mail met behulp van VBA Outlook.

Code:

 Optie Expliciet Sub Send_email () Dim OutlookApp As Outlook.Application Dim OutlookMail As Outlook.MailItem Dim source_file As String Set OutlookApp = New Outlook.Application Set OutlookMail = OutlookApp.CreateItem (olMailItem) Met OutlookMail .BodyFormat = olFormatHTML .Display .HTMLBody "HTML. Beste ABC "&"
"&" Zoek het bijgevoegde bestand "& .HTMLBody .To =" ".CC =" ".BCC =" ".Subject =" TEST MAIL "source_file = ThisWorkbook. Volledige naam. Bijlage. Bronbestand toevoegen. Einde verzenden met einde sub

Voorbeeld van VBA Outlook-functie

Stel dat er een teamleider is en hij wil dagelijks een e-mail sturen voor het opvolgen van de activiteiten van elk lid. De e-mail zal er zo uitzien.

" Hallo team,

Verzoek u vriendelijk uw acties voor elk van uw follow-upitems vandaag voor 11 uur te delen.

Bedankt & groeten,

Onbekend

Volg de bovengenoemde stappen om naar het Microsoft Object te verwijzen en de VBA-codering te schrijven, of u kunt de code gewoon dienovereenkomstig wijzigen.

Dus met alle code hetzelfde, moeten we een paar dingen in de code veranderen, zoals e-mail-ID van de ontvanger, onderwerp, hoofdtekst van de e-mail en er zal geen bijlage in de e-mail staan.

Hieronder staat de aangepaste code die we gebruiken om deze e-mail te schrijven.

Code:

 Sub Send_teamemail () Dim OutlookApp As Outlook.Application Dim OutlookMail As Outlook.MailItem OutlookApp = New Outlook.Application Set OutlookMail = OutlookApp.CreateItem (olMailItem) met OutlookMail .BodyFormat = olFormatHTML .Display .HTMLBody = "Hi Team" & "Hi Team" & "
"&"
"&" Verzoek u vriendelijk uw acties voor elk van uw vervolgitems vandaag om 20:00 uur te delen. "& .HTMLBody .To =" ; ; ".Subject =" Team Follow-up ". Einde verzenden met einde Sub

Nadat u de macro hebt uitgevoerd, ziet u dat de e-mail automatisch vanuit uw Outlook is verzonden.

Dingen om te onthouden

  • Zorg er eerst voor dat u Microsoft Outlook op uw computer hebt geïnstalleerd en dat u bent ingelogd op uw account.
  • Zorg ervoor dat het vakje voor Microsoft Outlook in de referentie van de objectbibliotheek altijd is aangevinkt. De code wordt niet uitgevoerd en geeft een foutmelding als deze niet is aangevinkt.
  • Het definiëren van variabelen en het instellen van variabelen is erg belangrijk in VBA-codering. Zonder variabelen werkt een code niet.
  • Zorg ervoor dat als u handtekening in de e-mail wilt toevoegen, u eerst ten minste één handtekening hebt gemaakt in Outlook.
  • Gebruik altijd '
    'Om regelafstanden in de mail in te voeren.

Aanbevolen artikelen

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

  1. Wat is VBA OverFlow-fout?
  2. Pas de werkbalk Snelle toegang in Excel aan
  3. Voorbeelden van VBA benoemd bereik
  4. Hoe e-mail verzenden vanuit Excel VBA
  5. Hoe Option Explicit te gebruiken in VBA?

Categorie: