Skicka massmeddelanden från Excel VBA med ett klick i Excel

Anonim

Har du någonsin behövt skicka e -post från Excel VBA till flera e -post -ID, som finns i ett Excel -blad? Vill du lära dig att skicka e -post från Excel utan att öppna outlook? Den här artikeln behandlar hur du kan automatisera Outlook och skicka flera e -postmeddelanden med bilagor från Excel med ett klick, så att även personer i Cc och Bcc behålls.

I slutändan kan du också ladda ner filen för att skicka män direkt till hundratals id: er. Filen innehåller makro för att skicka e -post från excel.

Hur skickar jag e -post från Excel?
För att skicka e -post från Excel måste du förstå dessa VBA -utdrag.

Viktig: Du måste ha ett e -postmeddelande konfigurerat i Outlook -applikationen.

Tryck på F11 för att öppna VB Editor.

  • Lägg till en referens till outlook -objektbiblioteket:
      • Gå till Verktyg i menyn och klicka på Referenser.

    • Hitta Microsoft 16.0 Object Library. Versionen kan vara annorlunda. Det är 16,0 i Excel 2016. Markera det. Och klicka på OK.

    • Skapa referenser för Outlook -applikation och e -post: Nu för att kunna komma åt funktioner i Microsoft Outlook måste vi skapa dess objekt.
Dim outApp As Outlook.Application 'Detta skapar en referens till outlook -objekt. Dim outApp As Outlook.MailItem 'Detta skapar en referens till MailItem. 
    • Initiera referenserna: Ovanstående referenser måste initialiseras:
Set outApp = New Outlook.Application Set outMail = outApp.CreateItem (0)
    • Skicka e -post med outMail -objekt: Under raderna definieras målpost -id: t, cc, bcc, ämne, kropp, bilaga och skicka kommando.
Med outMail .To = "abcd.mail.com" 'Obligatorisk. Här definierar du destinations -e -post -id… cc = "cc.mail.com" 'valfritt. Cc mail id om du vill … BCC = "bcc.mail.com" 'valfritt. Bcc -post -ID om du vill … Ämne = subj 'borde ha. Massagen på postkroppen … Kropp = meddelande som tillval. Massagen på postkroppen … Attachments.Add "C: /exceltip.com \ test.xlsx" 'valfritt. Fullt kvalificerat namn på bilaga … Skicka 'Obligatoriskt om du vill skicka e -post från excel. Om du vill se e -postmeddelandet i outlook använder du .Display -metod. Sluta med 

Det är allt. Det är allt du behöver för att skicka e -post från Excel med VBA.

Låt oss nu se ett exempel som skickar e -post till varje e -post -id i en Excel -kolumn separat.

Scenario:
Tänk dig att du har ett Excel -blad som innehåller 100 e -post -ID och du måste skicka ett e -postmeddelande till varje e -post -ID separat. Inte bara detta, du måste också bifoga objekt. Detta skulle ta dig timmar om du gör det manuellt. Så låt oss automatisera denna utskickningsuppgift i Excel VBA.

Här har jag dessa uppgifter. I kolumn C, med titeln "Skicka e -post till", finns det flera e -post -id: n. Jag måste skicka ett e -postmeddelande till varje e -post -id i den här kolumnen.
För detta har jag skapat kolumner för ämne, massagekropp, CC och BCC.

"Skicka e -post till" får inte ha någon tom cell däremellan. Alla andra kolumner kan ha tomma celler. Om du vill
flera e -post -ID i till skriv sedan dessa e -post -id med kommatecken i den här kolumnen. Se till att e -post -id: er är giltiga.

Om du vill skicka bilagor. Skriv adresser för dessa filer i bilagekolumnen.

Skriv ämnet i kolumnen Ämne.

Massage i Massage Body -kolumn.

Om du vill behålla någon i cc skriver du hans/hennes e -post -ID i kolumnen CC. Samma sak med BCC. använd kommatecken för flera e -post -id: n.

Följ nu dessa steg för att skicka e -post till varje e -post -id i kolumnen.

  • Tryck på Alt+F11 för att öppna VBA Editor i Excel.
  • Lägg till referens till outlook -objektet genom att följa stegen som berättades tidigare.
  • Kopiera nedanstående kod i en ny modul.
'*** Du måste ha ett Outlook -e -postmeddelande konfigurerat i outlook -programmet på ditt system ***' *** lägg till referens till outook -objektbibliotek från referenser i verktyg *** Sub BulkMail () Application.ScreenUpdating = False ThisWorkbook.Activate ' Skapa referenser till Application and MailItem Objects of Outlook Dim outApp As Outlook.Application Dim outMail As Outlook.MailItem 'Skapa variabel för att hålla värden för olika postmeddelanden Dim sendTo, subj, atchmnt, msg, ccTo, bccTo As String Dim lstRow As Long 'Mina uppgifter finns på bladet "Exceltip.com" du kan ha valfritt bladnamn. ThisWorkbook.Sheets ("Exceltip.com"). Aktivera "Få sista raden med e -post -id i kolumn 3. lstRow = Cells (Rows.Count, 3) .End (xlUp) .Row" Variable för att hålla alla e -post -ID Dim rng Som Range Set rng = Range ("C2: C" & lstRow) 'initialiserar outlook -objekt för att komma åt dess funktioner Set outApp = New Outlook.Application On Error GoTo cleanup' för att hantera eventuella fel under skapandet av objekt. 'Loop to iterate through each row, keep data in of email in variables and send' mail to each email id. För varje cell I rng sendTo = Range (cell.Address) .Offset (0, 0) .Value2 subj = Range (cell.Address) .Offset (0, 1) .Value2 & "-MS" msg = Range (cell. Adress) .Offset (0, 2) .Value2 atchmnt = Range (cell.Address) .Offset (0, -1) .Value2 ccTo = Range (cell.Address) .Offset (0, 3) .Value2 bccTo = Range ( cell.Address) .Offset (0, 4) .Value2 On Error Resume Next 'för att lämna eventuella fel vid skapandet av nedanstående objekt Set outMail = outApp.CreateItem (0)' Skriva och skicka e -post i ny post Med outMail .To = sendTo .cc = ccTo .BCC = bccTo .Body = msg .Subject = subj .Attachments.Add atchmnt .Skicka 'detta skicka e -post utan någon avisering. Om du vill se e -post 'innan du skickar, använd .Display -metod. Avsluta med vid fel GoTo 0 'För att rensa eventuella fel som har tagits tidigare Set outMail = Ingenting' upphäver outmail -objekt för nästa e -post Nästa cell 'loop avslutar sanering:' frigör alla skapade objekt Set outApp = Nothing Application.ScreenUpdating = True Application.ScreenUpdating = True Avsluta Sub 

Koden ovan skickar e -postmeddelanden till varje e -post -id i en rad med "skicka e -post till" -kolumn. Nu för att köra den här koden kan du köra den direkt härifrån. Eller så kan du lägga till en siffra eller knapp i din arbetsbok och sedan tilldela detta makro till det objektet. Jag använder former eftersom de kan anpassas. Att göra så, följ stegen nedan.

    • Gå till fliken Infoga.
    • I gruppen Illustration kan du hitta former, klicka på din favoritform.

    • Dra och släpp den på ditt ark.
    • Försköna om du vill.
    • Högerklicka på den. Klicka på Tilldela makro.

    • Välj BulkMail -makro från listan.

  • Avsluta från redigeringsläge.

Nu när du klickar på det här objektet kommer ditt makro att köra och skicka e -post. Kontrollera skickade mejl för att säkerställa.
Du kan ladda ner Excel Mail Sender File här.

Skicka massmeddelanden från Excel VBA med ett klick

Dela Excel -blad i flera filer baserat på kolumn med VBA | För att dela upp ett kalkylblad i flera filer, baserat på en kolums värden, måste du filtrera det kopiera och klistra in det i en ny fil.

Så här filtrerar du data i Excel med VBA | Det är enkelt att filtrera data med VBA. Dessa enkla kodrader filtrerar data på de givna kriterierna.

Stäng av varningsmeddelanden med VBA i Microsoft Excel 2016 | När du utför flera uppgifter, som att öppna och stänga filer, visar Excel varningsmeddelanden så att du inte tappar data. De avbryter körkoden. För att undvika dem

Hur man går igenom ark i Excel med VBA | För att gå fram och tillbaka på två eller flera ark måste vi gå igenom dem. För att bläddra igenom flera blad använder vi …

7 Exempel på For Loops i Microsoft Excel VBA | For -loop är den mest använda looping -tekniken på alla språk. Excel VBA är inget undantag.

Populära artiklar:

50 Excel -genvägar för att öka din produktivitet | Bli snabbare på din uppgift. Dessa 50 genvägar får dig att arbeta ännu snabbare med Excel.

Så här använder du VLOOKUP -funktionen i Excel | Detta är en av de mest använda och populära Excel -funktionerna som används för att leta upp värde från olika intervall och ark.

Så här använder du funktionen COUNTIF i Excel | Räkna värden med förhållanden med denna fantastiska funktion. Du behöver inte filtrera dina data för att räkna specifikt värde. Countif -funktionen är avgörande för att förbereda din instrumentpanel.

Hur man använder SUMIF -funktionen i Excel | Detta är en annan viktig instrumentpanel. Detta hjälper dig att summera värden på specifika förhållanden.