Excel VBA Outlook-funktion

Vi arbetar med massor och massor av Excel-filer dagligen och vi skickar till många användare dagligen. Vi skriver samma meddelande i e-postmeddelandet dagligen och skickar den excel-filen. Detta ger oss omfattningen av automatiseringen av denna uppgift. Du hörde det rätt. Denna uppgift att skriva ett e-postmeddelande och skicka filen kan automatiseras med hjälp av VBA. Anledningen är att VBA kan använda en referens med olika Microsoft-objekt som outlook, word, PowerPoint, paint etc.

Så vi kan skicka e-postmeddelandet med hjälp av VBA. Nu är jag säker på att ni alla är glada att veta hur vi kan skicka ett e-postmeddelande med hjälp av VBA.

Vi kommer att lära dig i denna artikel om hur du använder Outlook som Microsoft-objekt från Excel med hjälp av VBA-kodning och hur vi kan skicka ett e-postmeddelande inklusive en bilaga med hjälp av VBA.

Hur använder jag Excel VBA Outlook-funktion?

För att använda VBA Outlook-funktion måste vi göra två saker.

Du kan ladda ner denna VBA Outlook Excel-mall här - VBA Outlook Excel-mall
  1. Referens Microsoft Outlook-objekt från Object Library i VBA.
  2. Skriv VBA-kod för att skicka e-postmeddelanden i VBA-modulen.

# 1 - Hänvisning till Outlook från Excel

Som ni vet är Outlook ett objekt och vi måste ange en hänvisning till Outlook-objekt. Så det finns ett objektreferensbibliotek i VBA som vi måste använda för referens.

Följ stegen nedan för att använda Object Reference Library.

Steg 1: Klicka på Visual Basicutvecklarfliken för att öppna VB-redigeraren.

Steg 2: Gå till Verktyg och välj sedan Referenser som visas i skärmbilden nedan.

Steg 3: Rulla nedåt i Reference Object-biblioteket och välj “Microsoft Outlook 16.0 Object Library” för att göra det tillgängligt för Excel VBA.

Beroende på Microsoft-kontor kan Outlook-versionen vara annorlunda. I vårt fall är det 16, 0. Du kan använda " Microsoft Outlook 14.0 Object Library" om det är den version som visas på din dator.

Markera rutan med Microsoft Outlook som visas på skärmen ovan. Nu kan vi använda Microsoft Outlook-objektet i Excel VBA.

Denna process för att ställa in referensen till “MICROSOFT OUTLOOK 16.0 OBJECT LIBRARY” kallas Early Binding. Utan att ställa in objektbiblioteket som "MICROSOFT OUTLOOK 16.0 OBJECT LIBRARY" kan vi inte använda IntelliSense-egenskaper och -metoder för VBA vilket gör det svårt att skriva koden.

# 2 - Skriv en kod för att skicka e-post från VBA Outlook från Excel

Följ stegen nedan för att skriva VBA-koden för att skicka e-post från Outlook från Excel.

Steg 1: Skapa en subprocedur genom att namnge makroen. Vi kommer att namnge makro som "send_email" som visas i skärmbilden nedan.

Koda:

 Alternativ Explicit Sub Send_email () Avsluta Sub 

Steg 2: Definiera variabeln som Outlook. Applikation enligt bilden nedan. Detta är referensen till VBA Outlook-applikationen.

Koda:

 Alternativ Explicit Sub Send_email () Dim OutlookApp Som Outlook.Application End Sub 

Steg 3: Vi måste skicka ett e-postmeddelande i Outlook så definiera en annan variabel som " Outlook.Mailitem " som visas på skärmbilden nedan.

Koda:

 Alternativ Explicit Sub Send_email () Dim OutlookApp som Outlook.Application Dim OutlookMail Som Outlook.MailItem End Sub 

Steg 4: I de föregående stegen har vi definierat variabeln nu måste vi ställa in dem.

Ställ nu den första variabeln "Outlook-applikation" som "Nytt Outlook.Application" som visas på skärmbilden nedan.

Koda:

 Alternativ Explicit Sub Send_email () Dim OutlookApp Som Outlook.Application Dim OutlookMail Som Outlook.MailItem Set OutlookApp = New Outlook.Application End Sub 

Steg 5: Ställ nu den andra variabeln "Outlook Mail" med koden nedan.

Koda:

 Alternativ Explicit Sub Send_email () Dim OutlookApp Som Outlook.Application Dim OutlookMail Som Outlook.MailItem Set OutlookApp = New Outlook.Application Set OutlookMail = OutlookApp.CreateItem (olMailItem) Slut sub 

Steg 6: Vi kan nu använda VBA Outlook med hjälp av ” With ” -satsen som visas på skärmbilden nedan.

Koda:

 Alternativ Explicit 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 all tillgång till e-postobjekt som "Till", "CC", "BCC", "ämne", "E-postens kropp" och många fler artiklar.

Steg 7: Inuti uttalandet “Med” kan vi se en lista genom att sätta en punkt som kallas ”Intellisense List”.

Steg 8: Välj först kroppsformatet som olFormatHtml som visas i skärmbilden nedan.

Koda:

 Med OutlookMail .BodyFormat = olFormatHTML End Sub 

Steg 9: Välj " .Display " för att visa e-postmeddelandet som visas i skärmbilden nedan.

Koda:

 Med OutlookMail .BodyFormat = olFormatHTML .Display End Sub 

Steg 10: Välj “ .HTMLbody ” för att skriva e-postmeddelandet som visas i skärmbilden nedan.

Koda:

 Med OutlookMail .BodyFormat = olFormatHTML .Display .HTMLBody = "skriv din e-post här" End Sub 

Vi måste komma ihåg några saker när vi skriver e-postmeddelandet i VBA-kod.


”Används för att inkludera raduppdelning mellan två rader. För att lägga till signatur i e-postmeddelandet måste du ange “& .HTMLbody”

Se exempel nedan om hur du skriver mail i VBA.

Koda:

 Med OutlookMail .BodyFormat = olFormatHTML .Display .HTMLBody = "Dear ABC" & "
"&" Vänligen hitta den bifogade filen "& .HTMLBody End Sub

Steg 11: Nu måste vi lägga till mottagaren av e-postmeddelandet. För detta måste du använda ”.To”.

Koda:

 .To = " " 

Steg 12: Om du vill lägga till någon i "CC" och "BCC", kan du använda ".CC" och ".BCC" som visas på skärmbilden nedan.

Koda:

 .CC = " postskyddad " .BCC = " " 

Steg 13: För att lägga till ett ämne för e-postmeddelandet som vi skickar kan vi använda " .Subject " som visas i bildskärmen nedan.

Koda:

 .Subject = "TESTMAIL" 

Steg 14: Vi kan lägga till vår nuvarande arbetsbok som en bilaga i e-postmeddelandet med hjälp av ".Attachment" -egenskap. För att göra det förklaras först en variabel Source som en sträng.

Koda:

 Dim source_file As String 

Använd sedan följande kod för att bifoga filen i e-postmeddelandet.

Koda:

 source_file = ThisWorkbook.FullName .Attachments.Tillfoga source_file 

Här används denna arbetsbok för den aktuella arbetsboken och. FullName används för att få hela namnet på kalkylbladet.

Steg 15: Nu är den sista koden att äntligen skicka e-postmeddelandet som vi kan använda ". Skicka " för. Men se till att stänga proceduren Med och Sub med "Avsluta med" och "Avsluta under" som visas på skärmbilden nedan.

Så koden är äntligen redo att skicka ett e-postmeddelande. Vi måste bara köra makro nu.

Steg 16: Kör koden genom att slå F5 eller Run-knappen och se utgången.

Slutlig fullständig kod

Så nedan är den slutliga koden för hur du skickar ett e-postmeddelande med hjälp av VBA Outlook.

Koda:

 Alternativ Explicit Sub Send_email () Dim OutlookApp som Outlook.Application Dim OutlookMail Som Outlook.MailItem Dim source_file Som sträng Ställ in OutlookApp = Nytt Outlook.Application Set OutlookMail = OutlookApp.CreateItem (olMailItem) Med OutlookMail .BodyFormat = olFormatHTML .ML. Kära ABC "&"
"&" Vänligen hitta den bifogade filen "& .HTMLBody .To =" postskyddad ".CC =" postskyddad ".BCC =" postskyddad ".Subject =" TESTMAIL "source_file = ThisWorkbook. FullName .Attachments.Tillfoga source_file. Skicka End With End Sub

Exempel på VBA Outlook-funktion

Anta att det finns en teamledare och han vill skicka ett dagligt e-postmeddelande för uppföljning av varje medlems aktivitet. E-postmeddelandet kommer att vara så här.

Hej Team,

Begär att du vänligen delar dina handlingar på vart och ett av dina uppföljningsobjekt senast klockan 11 idag.

Tack och hälsningar,

Okänd

Följ stegen ovan för att hänvisa till Microsoft Object och skriva VBA-kodningen eller så kan du bara ändra koden i enlighet därmed.

Så med all kod kvar, måste vi ändra några saker i koden vara som mottagarens e-post-ID, ämne, e-postadress och det finns ingen bilaga i e-postmeddelandet.

Nedan visas den modifierade koden vi använder för att skriva detta e-postmeddelande.

Koda:

 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"
"&"
"&" Begär att du vänligen delar dina handlingar om vart och ett av dina uppföljningsobjekt senast klockan 20 idag. "& .HTMLBody .To =" ; ; ".Subject =" Teamuppföljning ". Skicka End With End Sub

När du har kört makro ser du att e-postmeddelandet har skickats automatiskt från dina synpunkter.

Saker att komma ihåg

  • Kontrollera först att du har installerat Microsoft Outlook på din dator och att du har loggat in på ditt konto.
  • Se till att rutan för Microsoft Outlook i Object Library-referens alltid är markerad. Koden körs inte och kastar ett fel om den inte är markerad.
  • Definiera variabler och ställa in variabler i mycket viktigt i VBA-kodning. Utan variabler fungerar inte en kod.
  • Se till att om du vill lägga till signatur i posten, bör du ha minst en signatur som redan har skapats i outlook.
  • Använd alltid "
    ”För att ange radavstånd i posten.

Rekommenderade artiklar

Detta är en guide till VBA Outlook. Här diskuterar vi hur du skickar e-post från Outlook med hjälp av VBA-koder i Excel tillsammans med ett exempel och nedladdningsbar Excel-mall. Nedan finns några användbara excel-artiklar relaterade till VBA -

  1. Vad är VBA OverFlow-fel?
  2. Anpassa verktygsfältet för snabbåtkomst i Excel
  3. Exempel på VBA Named Range
  4. Hur man skickar e-post från Excel VBA
  5. Hur använder man alternativet uttryckligt i VBA?

Kategori: