Kako poslati masovnu e -poštu iz programa Excel VBA jednim klikom u programu Excel

Anonim

Jeste li ikada imali potrebu slati e -poštu s programa excel VBA na više ID -ova e -pošte, navedenih u excel tablici? Želite li naučiti slati e -poštu iz programa Excel bez otvaranja programa Outlook? Ovaj članak pokriva kako možete automatizirati Outlook i poslati više e -poruka s prilozima iz Excela jednim klikom, zadržavajući ljude i u Cc i Bcc.

Na kraju možete preuzeti i datoteku za trenutno slanje muškaraca na stotine ID -ova. Datoteka sadrži makro za slanje e -pošte iz programa excel.

Kako poslati poštu iz programa Excel?
Da biste slali poštu iz programa Excel, morate razumjeti ove isječke VBA.

Važno: Morate imati konfiguriranu e -poštu u Outlook aplikaciji.

Pritisnite F11 da otvorite VB Editor.

  • Dodajte referencu na biblioteku objekata programa Outlook:
      • Idite na Alati na izborniku i kliknite na Reference.

    • Pronađite biblioteku objekata Microsoft 16.0. Verzija može biti drugačija. To je 16.0 u Excelu 2016. Označite ga. I kliknite U redu.

    • Izradite reference programa Outlook i pošte: Sada da bismo mogli pristupiti značajkama programa Microsoft Outlook, moramo stvoriti njegov objekt.
Dim outApp As Outlook.Application 'Ovo će stvoriti referencu na outlook objekt. Dim outApp As Outlook.MailItem 'Ovo će stvoriti referencu na MailItem. 
    • Inicijalizirajte reference: Gore navedene reference moraju se inicijalizirati:
Set outApp = Novi Outlook.Application Postavi outMail = outApp.CreateItem (0)
    • Slanje pošte pomoću objekta outMail: Ispod redaka definirat će se ciljni id pošte, cc, bcc, subject, body, attachment i send naredba.
Sa outMail .To = "abcd.mail.com" 'Obavezno. Ovdje definirate ID odredišne ​​pošte… cc = "cc.mail.com" 'izborno. Cc ID pošte ako želite … BCC = "bcc.mail.com" 'po izboru. Bcc mail id ako želite … Subject = subj 'trebao bi imati. Masaža tijela pošte … Tijelo = poruka 'po izboru. Masaža na tijelu pošte … Privitci. Dodajte "C: /exceltip.com \ test.xlsx" 'po izboru. Potpuno kvalificirano ime privitka … Pošalji 'Obavezno ako želite poslati poštu iz programa Excel. Ako želite vidjeti poštu u outlook -u, upotrijebite .Display metodu. Završi s 

To je to. Sve što vam je potrebno za slanje pošte iz programa excel pomoću VBA.

Pogledajmo sada primjer koji šalje poštu na svaki id e -pošte u stupcu programa Excel zasebno.

Scenarij:
Zamislite, dobili ste Excel list koji sadrži 100 ID -ova e -pošte i morate poslati e -poruku na svaki id e -pošte zasebno. Ne samo to, morate priložiti i stavke. To ćete oduzeti satima ako to radite ručno. Idemo automatizirati ovaj zadatak slanja pošte u Excelu VBA.

Evo imam ove podatke. U stupcu C pod nazivom "Pošalji poštu" nalazi se nekoliko ID -ova e -pošte. Moram poslati e -poruku svakom ID -u e -pošte u ovom stupcu.
Za to sam stvorio stupce za Subject, Massage body, CC i BCC.

"Pošalji poštu" ne bi trebalo imati praznu ćeliju između. Svi ostali stupci mogu imati prazne ćelije. Ako želiš
u više ID -ova e -pošte do zatim upišite te ID -ove e -pošte sa zarezima u ovaj stupac. Provjerite jesu li ID -ovi e -pošte ispravni.

Ako želite poslati privitke. Adrese tih datoteka upišite u stupac privitka.

Napišite temu u stupac Predmet.

Masaža u stupcu Massage Body.

Ako želite zadržati nekoga u cc -u, upišite njegov/njezin e -mail u stupac CC. Isto vrijedi i za BCC. koristiti zarez za više ID -ova e -pošte.

Sada za slanje e -pošte na svaki id e -pošte u stupcu slijedite ove korake.

  • Pritisnite Alt+F11 da biste otvorili VBA Editor u Excelu.
  • Dodajte referencu na outlook objekt slijedeći ranije navedene korake.
  • U novom modulu kopirajte donji kod.
'*** Morate imati Outlook e -poštu konfiguriranu u Outlook aplikaciji na vašem sustavu ***' *** dodajte referencu na biblioteku objekata outook iz referenci u alatima *** Sub BulkMail () Application.ScreenUpdating = False ThisWorkbook.Activate ' Stvaranje referenci na objekte aplikacije i MailItem objekta Outlooka Dim outApp As Outlook.Application Dim outMail As Outlook.MailItem 'Stvaranje varijable za držanje vrijednosti različitih stavki pošte Dim sendTo, subj, atchmnt, msg, ccTo, bccTo Kao niz Dim lstRow Sve dok 'Moji su podaci na listu "Exceltip.com" i možete imati bilo koji naziv lista. ThisWorkbook.Sheets ("Exceltip.com"). Aktivirajte 'Dobivanje posljednjeg retka koji sadrži id e -pošte u stupcu 3. lstRow = Cells (Rows.Count, 3) .End (xlUp) .Row' Varijabla za držanje svih ID -ova e -pošte Dim rng As Range Set rng = Range ("C2: C" & lstRow) 'inicijalizacija Outlook objekta za pristup njegovim značajkama Set outApp = New Outlook.Application On Error GoTo cleanup' za rješavanje bilo koje pogreške tijekom stvaranja objekta. "Petlja za ponavljanje kroz svaki redak, držanje podataka u e -pošti u varijablama i slanje" e -pošte na svaki id e -pošte. Za svaku ćeliju U rng sendTo = Raspon (ćelija.Adresa) .Offset (0, 0) .Vrednost2 subj = Raspon (ćelija.Adresa) .Offset (0, 1) .Vrijednost2 & "-MS" msg = Raspon (ćelija. Adresa) .Offset (0, 2) .Value2 atchmnt = Raspon (ćelija.Adresa) .Offset (0, -1) .Vrlo2 ccTo = Raspon (ćelija.Adresa) .Offset (0, 3) .Vrednost2 bccTo = Raspon ( cell.Address) .Offset (0, 4) .Value2 On Error Resume Next 'za predaju bilo koje pogreške tijekom stvaranja donjeg objekta Set outMail = outApp.CreateItem (0)' Pisanje i slanje pošte u novoj pošti s outMail .To = sendTo .cc = ccTo .BCC = bccTo .Body = msg. Subject = subj .Prilozi. Dodajte atchmnt. Pošaljite ovu poruku bez ikakve obavijesti. Ako želite vidjeti poštu prije slanja, upotrijebite metodu .Display. Završi s pogreškom pri uključivanju Idi na 0 'Za čišćenje bilo koje pogreške zabilježene ranije Set outMail = Nothing' poništavajući outmail objekt za sljedeću poštu Sljedeća ćelija 'petlja završava čišćenje:' oslobađanje svih stvorenih objekata Set outApp = Ništa Application.ScreenUpdating = True Application.ScreenUpdating = True Kraj podm 

Gornji kôd će slati e -poštu na svaki id e -pošte u retku "pošalji poštu". Sada da biste pokrenuli ovaj kôd, možete ga izravno pokrenuti odavde. Ili možete dodati lik ili gumb u svoju radnu knjigu i zatim dodijeliti ovu makro tom objektu. Koristim oblike jer se mogu prilagoditi. Učiniti tako, slijedite korake u nastavku.

    • Idite na karticu Umetanje.
    • U grupi Ilustracija možete pronaći oblike, kliknite svoj omiljeni oblik.

    • Povucite i ispustite na svoj list.
    • Uljepšajte ako želite.
    • Desnom tipkom miša kliknite na nju. Pritisnite Dodijeli makro.

    • Odaberite BulkMail macro s popisa.

  • Izađite iz načina uređivanja.

Sada kad god kliknete na ovaj objekt, vaša će se makronaredba pokretati i slati e -poštu. Provjerite poslane poruke kako biste bili sigurni.
Datoteku pošiljatelja programa Excel Mail možete preuzeti ovdje.

Slanje masovnih e -poruka iz programa Excel VBA jednim klikom

Podijelite Excel list u više datoteka na temelju stupca pomoću VBA | Da biste podijelili radni list u više datoteka, na temelju vrijednosti stupca, morat ćete ga filtrirati kopirati-zalijepiti u novu datoteku.

Kako filtrirati podatke u Excelu pomoću VBA | Filtriranje podataka pomoću VBA je jednostavno. Ovi jednostavni redovi kodova filtriraju podatke prema zadanim kriterijima.

Isključite poruke upozorenja pomoću VBA u programu Microsoft Excel 2016 | Tijekom obavljanja više zadataka, poput otvaranja i zatvaranja datoteka, Excel prikazuje poruke upozorenja kako ne biste izgubili podatke. Oni prekidaju radni kôd. Da biste ih izbjegli

Kako pregledavati listove u Excelu pomoću VBA | Za naprijed i natrag na dva ili više listova moramo ih provući. Za prolaz kroz više listova koristimo …

7 primjera For Loops u programu Microsoft Excel VBA | For petlja je najčešće korištena tehnika petlje u bilo kojem jeziku. Excel VBA nije iznimka.

Popularni članci:

50 Excel prečaca za povećanje vaše produktivnosti | Budite brži u izvršavanju svojih zadataka. Ovih 50 prečaca učinit će da radite još brže na Excelu.

Kako koristiti funkciju VLOOKUP u Excelu | Ovo je jedna od najčešće korištenih i popularnih funkcija programa Excel koja se koristi za traženje vrijednosti iz različitih raspona i listova.

Kako koristiti funkciju COUNTIF u Excelu | Brojte vrijednosti s uvjetima pomoću ove nevjerojatne funkcije. Ne morate filtrirati svoje podatke da biste računali određenu vrijednost. Funkcija Countif bitna je za pripremu vaše nadzorne ploče.

Kako koristiti funkciju SUMIF u Excelu | Ovo je još jedna bitna funkcija nadzorne ploče. To vam pomaže pri zbrajanju vrijednosti u posebnim uvjetima.