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-mallFölj stegen nedan för att skicka e-post från Excel med hjälp av VBA-kod:
Steg 1: Klicka på Visual Basic på utvecklarfliken 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 -
- VBA-hyperlänk med exempel
- Hur använder man YEAR-funktion i Excel?
- Tips om hur du använder VBA Outlook
- Handledning om Excel-datumfunktion