VBA Outlook - Sådan bruges Excel VBA Outlook-funktion til at sende e-mail?

Indholdsfortegnelse:

Anonim

Excel VBA Outlook-funktion

Vi arbejder med en masse & masser af Excel-filer dagligt, og vi sender til mange brugere dagligt. Vi skriver den samme meddelelse i e-mailen dagligt og sender den excel-fil. Dette giver os omfanget af automatiseringen af ​​denne opgave. Du hørte det rigtigt. Denne opgave at skrive en e-mail og sende filen kan automatiseres ved hjælp af VBA. Årsagen er, at VBA kan bruge en reference med forskellige Microsoft-objekter som outlook, word, PowerPoint, maling osv.

Så vi kan sende e-mailen ved hjælp af VBA. Nu er jeg sikker på, at I alle vil være glade for at vide, hvordan vi kan sende en e-mail ved hjælp af VBA.

Vi lærer i denne artikel, hvordan du bruger Outlook som Microsoft-objekt fra Excel ved hjælp af VBA-kodning, og hvordan vi kan sende en e-mail med en vedhæftet fil ved hjælp af VBA.

Sådan bruges Excel VBA Outlook-funktion?

For at bruge VBA Outlook-funktion skal vi gøre to ting.

Du kan downloade denne VBA Outlook Excel-skabelon her - VBA Outlook Excel-skabelon
  1. Reference Microsoft Outlook Object fra Object Library i VBA.
  2. Skriv VBA-kode for at sende e-mails i VBA-modulet.

# 1 - Henvisning til Outlook fra Excel

Som du ved, er Outlook et objekt, og vi er nødt til at give en henvisning til Outlook-objekt. Så der er et objektreferencebibliotek i VBA, som vi skal bruge til reference.

Følg nedenstående trin for at bruge Object Reference Library.

Trin 1: I fanen Udvikler skal du klikke på Visual Basic for at åbne VB Editor.

Trin 2: Gå til Værktøjer, og vælg derefter Referencer som vist på nedenstående skærmbillede.

Trin 3: Rul ned i Reference Object-biblioteket og vælg “Microsoft Outlook 16.0 Object Library” for at gøre det tilgængeligt for Excel VBA.

Afhængig af Microsoft-kontoret kan Outlook-versionen være anderledes. I vores tilfælde er det 16, 0. Du kan bruge " Microsoft Outlook 14.0 Object Library", hvis det er den version, der vises på din computer.

Marker afkrydsningsfeltet i Microsoft Outlook som vist på ovenstående skærmbillede. Nu kan vi bruge Microsoft Outlook-objektet i Excel VBA.

Denne proces med at indstille henvisningen til “MICROSOFT OUTLOOK 16.0 OBJECT LIBRARY” er kendt som Early Binding. Uden at indstille objektbiblioteket som "MICROSOFT OUTLOOK 16.0 OBJECT LIBRARY" kan vi ikke bruge IntelliSense egenskaber og metoder til VBA, hvilket gør det vanskeligt at skrive koden.

# 2 - Skriv en kode for at sende e-mails fra VBA Outlook fra Excel

Følg nedenstående trin for at skrive VBA-koden for at sende e-mail fra outlook fra Excel.

Trin 1: Opret en underprocedure ved at navngive makroen. Vi vil navngive makroen som "send_email" som vist i nedenstående skærmbillede.

Kode:

 Option Eksplicit Sub Send_email () Slutt Sub 

Trin 2: Definer variablen som Outlook. Anvendelse som vist på nedenstående skærmbillede. Dette er henvisningen til VBA Outlook-applikationen.

Kode:

 Option Eksplicit sub Send_email () Dim OutlookApp som Outlook.Application End Sub 

Trin 3: Vi er nødt til at sende en e-mail i Outlook, så definer en anden variabel som " Outlook.Mailitem " som vist på nedenstående skærmbillede.

Kode:

 Option Eksplicit sub Send_email () Dim OutlookApp som Outlook.Application Dim OutlookMail Som Outlook.MailItem End Sub 

Trin 4: I de foregående trin har vi defineret variablen nu skal vi indstille dem.

Sæt nu den første variabel "Outlook-applikation" som "Ny Outlook.Application" som vist på nedenstående skærmbillede.

Kode:

 Option Eksplicit sub Send_email () Dim OutlookApp som Outlook.Application Dim OutlookMail som Outlook.MailItem Set OutlookApp = New Outlook.Application End Sub 

Trin 5: Indstil nu den anden variabel "Outlook Mail" med nedenstående kode.

Kode:

 Option Eksplicit sub Send_email () Dim OutlookApp som Outlook.Application Dim OutlookMail Som Outlook.MailItem Set OutlookApp = New Outlook.Application Set OutlookMail = OutlookApp.CreateItem (olMailItem) End Sub 

Trin 6: Vi kan nu bruge VBA Outlook ved hjælp af ” With ” -sætningen som vist på nedenstående skærmbillede.

Kode:

 Option Eksplicit sub Send_email () Dim OutlookApp som Outlook.Application Dim OutlookMail Som Outlook.MailItem Set OutlookApp = New Outlook.Application Set OutlookMail = OutlookApp.CreateItem (olMailItem) Med OutlookMail End Sub 

Vi har nu al adgang til e-mail-poster som "Til", "CC", "BCC", "emne", "E-mail-krop" og mange flere poster.

Trin 7: Inde i sætningen “Med” kan vi se en liste ved at sætte en prik, der er kendt som “Intellisense-liste”.

Trin 8: Vælg først kropsformatet som olFormatHtml som vist i nedenstående skærmbillede.

Kode:

 Med OutlookMail .BodyFormat = olFormatHTML slutund 

Trin 9: Vælg " .Display " for at få vist e-mailen som vist i nedenstående skærmbillede.

Kode:

 Med OutlookMail .BodyFormat = olFormatHTML .Display End Sub 

Trin 10: Vælg “ .HTMLbody ” for at skrive e-mailen som vist på nedenstående skærmbillede.

Kode:

 Med OutlookMail .BodyFormat = olFormatHTML .Display .HTMLBody = "skriv din e-mail her" End Sub 

Vi skal huske et par ting, mens vi skriver e-mailen i VBA-kode.


”Bruges til at inkludere linjeopdeling mellem to linjer. For at tilføje underskrift i e-mailen skal du indtaste “& .HTMLbody”

Se nedenfor eksemplet om, hvordan du skriver mailen i VBA.

Kode:

 Med OutlookMail .BodyFormat = olFormatHTML .Display .HTMLBody = "Kære ABC" & "
"&" Find den vedhæftede fil "& .HTMLBody End Sub

Trin 11: Nu skal vi tilføje modtageren af ​​e-mailen. Til dette skal du bruge “.To”.

Kode:

 .To = " " 

Trin 12: Hvis du vil tilføje nogen i “CC” og “BCC”, kan du bruge “.CC” og “.BCC” som vist på nedenstående skærmbillede.

Kode:

 .CC = " " .BCC = " " 

Trin 13: For at tilføje et emne til den e-mail, som vi sender, kan vi bruge " .Subject " som vist på nedenstående skærmbillede.

Kode:

 .Subject = "TESTMAIL" 

Trin 14: Vi kan tilføje vores nuværende arbejdsbog som en vedhæftet fil i e-mailen ved hjælp af ". Attachment" Property. For at gøre det erklæres først en variabel kilde som en streng.

Kode:

 Dim source_file som streng 

Brug derefter følgende kode til at vedhæfte filen i e-mailen.

Kode:

 source_file = ThisWorkbook.FullName .Attachments.Tilføj source_file 

Her bruges denne arbejdsbog til den aktuelle arbejdsbog og. FullName bruges til at få regnearkets fulde navn.

Trin 15: Nu er den sidste kode endelig at sende den e-mail, som vi kan bruge “ .send ” til. Men sørg for at lukke With and Sub-proceduren ved “End with” og “End Sub” som vist på nedenstående skærmbillede.

Så koden er endelig klar til at sende en e-mail. Vi skal bare køre makroen nu.

Trin 16: Kør koden ved at trykke på F5 eller Run-knappen og se output.

Endelig fuld kode

Så nedenfor er den endelige kode for, hvordan du sender en e-mail ved hjælp af VBA Outlook.

Kode:

 Option Eksplicit sub Send_email () Dim OutlookApp som Outlook.Applikation Dim OutlookMail Som Outlook.MailItem Dim source_file Som streng Sæt OutlookApp = Ny Outlook.Application Set OutlookMail = OutlookApp.CreateItem (olMailItem) Med OutlookMail .BodyFormat = olFormatHTML .ML. Kære ABC "&"
"&" Find den vedhæftede fil "& .HTMLBody .To =" ".CC =" ".BCC =" ".Subject =" TEST MAIL "source_file = ThisWorkbook. FullName .Attachments.Tilføj kilde_fil. Send End With End End

Eksempel på VBA Outlook-funktion

Antag, at der er en teamleder, og han vil sende en daglig e-mail til opfølgning af hvert medlems aktivitet. E-mailen vil være sådan her.

Hej team,

Beder dig om at dele dine handlinger om hver af dine opfølgningsprodukter senest kl. 11 i dag.

Hilsen og tak,

Ukendt

Følg nedenstående trin for at henvise til Microsoft Object og skrive VBA-kodningen, eller du kan bare ændre koden i overensstemmelse hermed.

Så med al den kode, der forbliver den samme, er vi nødt til at ændre nogle få ting i koden, ligesom modtagerens e-mail-id, emne, e-mail-krop, og der er ingen vedhæftet fil i e-mailen.

Nedenfor er den ændrede kode, vi bruger til at skrive denne e-mail.

Kode:

 Sub Send_teamemail () Dim OutlookApp som Outlook.Application Dim OutlookMail som Outlook.MailItem Set OutlookApp = New Outlook.Application Set OutlookMail = OutlookApp.CreateItem (olMailItem) Med OutlookMail .BodyFormat = olFormatHTML .Display .HTMLBody = "Hi Team"
"&"
"&" Anmoder dig om venligt at dele dine handlinger om hver af dine opfølgningsposter inden kl. 20 i dag. "& .HTMLBody .To =" ; ; ".Subject =" Teamopfølgning ". Send End With End Sub

Når du har kørt makroen, vil du se, at e-mailen er blevet sendt automatisk fra dit synspunkt.

Ting at huske

  • Kontroller først, at du har installeret Microsoft Outlook på din computer, og at du har logget ind på din konto.
  • Sørg for at afkrydsningsfeltet til Microsoft Outlook i Object Library-reference altid er markeret. Koden kører ikke og kaster en fejl, hvis den ikke er markeret.
  • Definition af variabler og indstilling af variabler i meget vigtigt ved VBA-kodning. Uden variabler fungerer en kode ikke.
  • Sørg for, at hvis du vil tilføje signatur i mailen, skal du først have mindst en signatur, der allerede er oprettet i outlook.
  • Brug altid “
    ”For at indtaste liniehuller i mailen.

Anbefalede artikler

Dette er en guide til VBA Outlook. Her diskuterer vi, hvordan man sender e-mails fra Outlook ved hjælp af VBA-koder i Excel sammen med et eksempel og en downloadbar Excel-skabelon. Herunder er nogle nyttige excel-artikler relateret til VBA -

  1. Hvad er VBA OverFlow-fejl?
  2. Tilpas værktøjslinjen til hurtig adgang i Excel
  3. Eksempler på VBA-navngivet rækkevidde
  4. Sådan sendes e-mail fra Excel VBA
  5. Hvordan bruges eksplicit mulighed i VBA?