VBA Skicka e-post från Excel

VBA är inte bara begränsat till data i Excel. Vi kan skicka e-post via VBA och det är vad vi kommer att lära oss i den här artikeln. Det kräver stor kunskap om VBA och dess metoder för att skriva koden för att skicka e-post från Excel. Innan vi går till att skriva och skicka e-post från Excel, låt oss veta vad denna automatisering betyder. Denna typ av automatisering innebär åtkomst till en funktion i en annan applikation med vilken annan applikation som helst. Nu erbjuds postfunktionen av Microsoft i Outlook, vi kommer att använda metoder och egenskaper för outlook i Excel för att skicka e-post. För att skicka ett e-postmeddelande måste vi också veta det grundläggande för e-postmeddelanden. På lekmannen, vad är processen och vad är kravet för att skicka ett e-postmeddelande? En e-post består av en e-postadress till avsändaren om det finns en CC (Carbon Copy) eller en BCC och en ämnesrad med ett e-postorgan.

Hur skickar jag e-postmeddelanden från Excel VBA?

Låt oss lära oss hur du skickar e-post via outlook från Excel i VBA med ett exempel. I det här exemplet skickar vi också en bilaga till mottagaren, samma Excel-fil som vi skriver koden.

Du kan ladda ner denna VBA Skicka e-post Excel-mall här - VBA Skicka e-post Excel-mall

Följ stegen nedan för att skicka e-post från Excel med hjälp av VBA-kod:

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

Innan vi går över till att skriva koder för att skicka ett e-postmeddelande, måste vi veta detta att outlook är ett externt objekt och vi måste hänvisa till det i VBA.

Steg 2: Gå till Verktyg och välj sedan Referenser.

Steg 3: Om du klickar på referensen öppnas en guide för oss, hittar en referens för Microsoft Outlook Object-biblioteket och kontrollerar den och klickar sedan på Ok.

Steg 4: Klicka på infoga-fliken och sätt in en modul i VBA-projektet.

Steg 5: Definiera en delprocedur som visas nedan.

Koda:

 Sub EmailExample () Slut Sub 

Steg 6: Genom att hänvisa till utsikterna ovan kan vi nu få tillgång till egenskaperna för outlook i VBA. Låt oss nu förklara en variabel som en outlook-applikation.

Koda:

 Dim e-post som Outlook.Application 

Steg 7: Liksom FSO är denna variabel en objektvariabel, så för att komma åt alla andra applikationer behöver vi skapa några instanser, skapa en instans som visas nedan med hjälp av SET-nyckelordet.

Koda:

 Ange e-post = nytt Outlook.Application 

Steg 8: Eftersom vi vill skicka en bilaga till mottagaren måste vi förklara en variabel som sträng som kommer att innehålla sökvägen för bilagan.

Koda:

 Dim Sr As String 

Steg 9: Låt oss nu börja med sändningsdelen i den här koden, för att skicka ett e-postmeddelande måste vi definiera en annan variabel som använder egenskapen outlook för att hänvisa till ett nytt e-postmeddelande som visas nedan.

Koda:

 Dim newmail som Outlook.MailItem 

Steg 10: På samma sätt som ovan med att använda ett annat program i exemplet måste vi skapa instanser, nu måste vi skapa en instans för ett nytt e-postmeddelande som öppnar det nya e-postmeddelandet med det inställda nyckelordet.

Koda:

 Ställ newmail = E-post.CreateItem (olMailItem) 

Innan vi går vidare, låt mig förklara våra framsteg hittills, den första instansen kommer att öppna utsikterna för oss medan den andra instansen kommer att öppna den nya e-postadressen för oss.

Steg 11: Som jag har förklarat ovan om vad som är kravet på att skicka ett e-postmeddelande. Det första kravet är en mottagare som är "Till" i ett e-postmeddelande. Så låt oss använda To-egenskapen till outlook i Excel enligt följande.

Koda:

 newmail.To = " " 

Steg 12: Eftersom vi har använt egenskapen Till har vi en annan funktion att använda, till exempel Carbon Copy eller CC-egenskapen för outlook.

Koda:

 newmail.CC = " " 

På liknande sätt kan vi använda egenskapen BCC.

Obs! BCC-egenskapen används när vi vill dölja BCC-mottagarens e-postadress från de andra mottagarna.

Vad är nästa steg när du skickar ett e-postmeddelande?

Steg 13: Det är ämnet. När vi skriver instansnamnet med en punktoperatör kan vi se alternativet för ett ämne enligt följande.

Steg 14: Tryck på Tab på ämnet IntelliSense och skriv ett slumpmässigt ämne som visas nedan.

Koda:

 newmail.Subject = "Detta är en automatiserad e-post" 

Steg 15: Nästa steg i att skriva ett e-postmeddelande är ett organ för e-postmeddelandet. Liksom egenskaperna, använde vi ovan med instansen, låt oss använda utsikternas kroppsegenskap för att skriva kroppen på följande sätt.

Koda:

 newmail.HTMLBody = "Hej" & vbNewLine & vbNewLine & "Detta är ett testmeddelande från Excel" & _ vbNewLine & vbNewLine & _ "Hälsningar, " & vbNewLine & _ "VBA Coder" 

Steg 16: Nu har vi skapat ett e-postmeddelande med en kropp och ämnesraden. Nästa steg är att lägga till en bilaga till e-postmeddelandet. Eftersom vi vill skicka det aktuella kalkylbladet till mottagaren kommer vi att använda sökvägen enligt följande,

Koda:

 Sr = ThisWorkbook.FullName 

Steg 17: Nu kan vi skicka bilagan med den bifogade egenskapen som visas nedan.

Koda:

 newmail.Attachments.Add Sr 

Steg 18: Nu måste vi äntligen skicka e-postmeddelandet. Liksom i outlook trycker vi på skicka-knappen för att skicka ett e-postmeddelande, på liknande sätt kommer vi att använda utsändningsegenskaperna för outlook enligt följande.

Koda:

 newmail.Send 

Slutlig fullständig kod

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

Koda:

 Sub EmailExample () Dim Email As Outlook.Application Set Email = New Outlook.Application Dim Sr As String Dim newmail Som Outlook.MailItem Set newmail = Email.CreateItem (olMailItem) newmail.To = " postskyddad " newmail.CC = " postskyddad " newmail.Subject = "Detta är ett automatiskt e-postmeddelande" newmail.HTMLBody = "Hej" & vbNewLine & vbNewLine & "Detta är ett testmeddelande från Excel" & _ vbNewLine & vbNewLine & _ "Hälsningar, " & vbNewLine & _ "VBA Coder" Sr = ThisWorkbook.FullName newmail.Attachments.Add Sr newmail.Send End Sub 

När vi kör ovanstående kod måste vi vänta några sekunder på att koden ska köras och vi kan kolla in skickad ruta i outlook att e-postmeddelandet har skickats via Excel.

Saker att komma ihåg

  • Vi använder ett annat program för att skicka ett e-postmeddelande från Excel.
  • För att använda ett annat program skapar vi instanser.
  • Innan outlook används som ett annat program måste vi hänvisa till Outlook-objekt från referensfliken.
  • Vi måste veta kraven för ett e-postmeddelande för att skicka ett e-postmeddelande.

Rekommenderade artiklar

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

  1. VBA-hyperlänk med exempel
  2. Hur använder man YEAR-funktion i Excel?
  3. Tips om hur du använder VBA Outlook
  4. Handledning om Excel-datumfunktion

Kategori: