Cum să trimiteți e-mailuri în bloc din Excel VBA cu un singur clic în Excel

Anonim

Ați avut vreodată nevoie să trimiteți e-mail de la Excel VBA la mai multe id-uri de e-mail, furnizate într-o foaie Excel? Doriți să aflați cum să trimiteți mesaje de la Excel fără a deschide Outlook? Acest articol prezintă modul în care puteți automatiza Outlook și trimite mai multe e-mailuri cu atașamente din Excel într-un singur clic, menținând și persoanele în Cc și Bcc.

În cele din urmă, puteți descărca și fișierul, pentru a trimite bărbați instantaneu la sute de id-uri. Fișierul conține macro pentru a trimite e-mailuri de la excel.

Cum să trimiteți e-mailuri din Excel?
Pentru a trimite mesaje din Excel, trebuie să înțelegeți aceste fragmente VBA.

Important: Trebuie să aveți un e-mail configurat în aplicația Outlook.

Apăsați F11 pentru a deschide Editorul VB.

  • Adăugați o referință la biblioteca de obiecte Outlook:
      • Accesați Instrumente din meniu și faceți clic pe Referințe.

    • Găsiți Biblioteca de obiecte Microsoft 16.0. Versiunea poate fi diferită. Este 16.0 în Excel 2016. Bifați-l. Și faceți clic pe OK.

    • Creați referințe pentru aplicația și poșta Outlook: Acum, pentru a putea accesa caracteristicile Microsoft Outlook, trebuie să-i creăm obiectul.
Dim outApp As Outlook.Application 'Aceasta va crea o referință la obiectul Outlook. Dim outApp As Outlook.MailItem 'Aceasta va crea o referință la MailItem. 
    • Inițializați referințele: Referințele de mai sus trebuie să inițializeze:
Set outApp = New Outlook.Application Set outMail = outApp.CreateItem (0)
    • Trimiterea e-mailului utilizând obiectul outMail: Liniile de mai jos vor defini codul e-mail țintă, cc, bcc, subiect, corp, atașament și comanda de trimitere.
Cu outMail .To = "abcd.mail.com" 'Obligatoriu. Aici definiți adresa de e-mail de destinație … cc = "cc.mail.com" 'opțional. Cc mail id dacă doriți … BCC = "bcc.mail.com" 'opțional. Codul de e-mail Bcc dacă doriți … Subiect = subj 'ar trebui să aibă. Masajul pe corpul poștei … Corp = msg 'opțional. Masajul pe corpul e-mailului … Atașamente.Adăugați „C: /exceltip.com \ test.xlsx” 'opțional. Numele completat al atașamentului … Trimiteți „Obligatoriu dacă doriți să trimiteți mesaje de la Excel. Doriți să vedeți e-mailul în Outlook, utilizați metoda .Display. Se termina cu 

Asta e. Este tot ce ai nevoie pentru a trimite mesaje de la Excel folosind VBA.

Acum să vedem un exemplu care trimite mesaje către fiecare ID de e-mail într-o coloană Excel separat.

Scenariu:
Imaginați-vă, vi se oferă o foaie Excel care conține 100 de ID-uri de e-mail și trebuie să trimiteți un e-mail către fiecare id de e-mail separat. Nu numai asta, trebuie să atașați și elemente. Acest lucru ar dura câteva ore dacă îl faceți manual. Deci, să automatizăm această sarcină de trimitere în Excel VBA.

Aici am aceste date. În coloana C, intitulată „Trimiteți e-mail către”, există mai multe coduri de e-mail. Trebuie să trimit un e-mail la fiecare ID de e-mail din această coloană.
Pentru aceasta, am creat coloane pentru Subiect, Corp de masaj, CC și BCC.

„Trimiteți e-mail către” nu ar trebui să aibă nicio celulă goală între ele. Toate celelalte coloane pot avea celule goale. Daca vrei
mai multe ID-uri de e-mail în la apoi scrieți acele ID-uri de e-mail cu virgule în această coloană. Asigurați-vă că ID-urile de e-mail sunt valide.

Dacă doriți să trimiteți atașamente. Scrieți adresele acelor fișiere în coloana atașament.

Scrieți subiectul în coloana Subiect.

Masaj în coloana Masaj corp.

Dacă doriți să păstrați pe cineva în cc, scrieți-i codul de e-mail în coloana CC. La fel și pentru BCC. utilizați virgula pentru mai multe ID-uri de e-mail.

Acum, pentru a trimite e-mailuri către fiecare ID de e-mail din coloană, urmați acești pași.

  • Apăsați Alt + F11 pentru a deschide Editorul VBA în Excel.
  • Adăugați referință la obiectul Outlook urmând pașii spuși mai devreme.
  • Într-un nou modul, copiați codul de mai jos.
„*** Trebuie să aveți un e-mail Outlook configurat în aplicația Outlook de pe sistemul dvs. ***” *** adăugați referințe la outook biblioteca de obiecte din referințe în instrumente *** Sub BulkMail () Application.ScreenUpdating = False ThisWorkbook.Activate ' Crearea de referințe la aplicații și obiecte MailItem din Outlook Dim outApp As Outlook.Application Dim outMail As Outlook.MailItem 'Crearea variabilei pentru a păstra valorile diferitelor elemente de e-mail Dim sendTo, subj, atchmnt, msg, ccTo, bccTo As String Dim lstRow As Long „Datele mele sunt pe foaia„ Exceltip.com ”puteți avea orice nume de foaie. ThisWorkbook.Sheets ("Exceltip.com"). Activați „Obținerea ultimului rând care conține id-ul de e-mail în coloana 3. lstRow = Celule (Rows.Count, 3). End (xlUp). Row 'Variabil pentru a păstra toate ID-urile de e-mail Dim rng As Range Set rng = Range ("C2: C" & lstRow) 'inițializarea obiectului Outlook pentru a accesa caracteristicile sale Set outApp = New Outlook.Application On Error GoTo cleanup' pentru a gestiona orice eroare în timpul creării obiectului. „Buclă pentru a itera prin fiecare rând, păstrați datele din e-mail în variabile și trimiteți” e-mail către fiecare ID de e-mail. Pentru fiecare celulă din rng sendTo = Range (cell.Address) .Offset (0, 0) .Value2 subj = Range (cell.Address) .Offset (0, 1) .Value2 & "-MS" msg = Range (cell. Adresă) .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 'pentru a transmite orice eroare la crearea obiectului de mai jos Set outMail = outApp.CreateItem (0)' Scrierea și trimiterea de e-mailuri în e-mailuri noi Cu outMail .To = sendTo .cc = ccTo .BCC = bccTo .Body = msg .Subject = subj .Attachments.Add atchmnt .Send 'this send mail fără nicio notificare. Dacă doriți să vedeți e-mailul înainte de trimitere, utilizați metoda .Display. Termină cu On Error GoTo 0 'Pentru a curăța orice eroare capturată mai devreme Set outMail = Nimic' anulând obiectul de poștă electronică pentru următoarea poză Celula următoare 'bucla se termină curățarea:' eliberarea tuturor obiectelor create Set outApp = Nimic Application.ScreenUpdating = Adevărat Application.ScreenUpdating = Adevărat Sfârșitul Sub 

Codul de mai sus va trimite e-mailuri către fiecare ID de e-mail într-un rând din coloana „trimite e-mail către”. Acum, pentru a rula acest cod, îl puteți rula direct de aici. Sau puteți adăuga o figură sau un buton în registrul de lucru și apoi atribuiți această macro acelui obiect. Folosesc forme datorită personalizării lor. Pentru a face acest lucru, urmați pașii de mai jos.

    • Accesați fila Inserare.
    • În grupul Ilustrație, puteți găsi forme, faceți clic pe forma preferată.

    • Trageți-l și plasați-l pe foaia dvs.
    • Înfrumusețează dacă vrei.
    • Faceți clic dreapta pe el. Faceți clic pe Alocare macro.

    • Alegeți macrocomanda BulkMail din listă.

  • Ieșiți din modul de editare.

Acum, ori de câte ori faceți clic pe acest obiect, macrocomanda dvs. va rula și va trimite e-mailuri. Verificați mesajele trimise pentru a vă asigura.
Puteți descărca fișierul Excel Mail Sender aici.

Trimiteți e-mailuri în bloc din Excel VBA cu un singur clic

Împărțiți foaia Excel în mai multe fișiere pe baza coloanei folosind VBA | Pentru a împărți o foaie de lucru în mai multe fișiere, pe baza valorilor unei coloane, va trebui să o filtrați, copiați-o lipiți într-un fișier nou.

Cum se filtrează datele în Excel folosind VBA | Filtrarea datelor folosind VBA este ușoară. Aceste linii simple de coduri filtrează datele în funcție de criteriile date.

Dezactivați mesajele de avertizare folosind VBA în Microsoft Excel 2016 | În timp ce efectuați mai multe sarcini, cum ar fi deschiderea și închiderea fișierelor, Excel afișează mesaje de avertizare, astfel încât să nu pierdeți date. Întrerup codul de rulare. Pentru a le evita

Cum să buclați prin foi în Excel folosind VBA | Pentru a merge înainte și înapoi pe două sau mai multe foi, trebuie să le parcurgem. Pentru a parcurge mai multe foi, folosim …

7 Exemple de bucle pentru Microsoft Excel VBA | Bucla for este cea mai utilizată tehnică de buclare în orice limbă. Excel VBA nu face excepție.

Articole populare:

50 de comenzi rapide Excel pentru a vă crește productivitatea | Deveniți mai rapid la sarcina dvs. Aceste 50 de comenzi rapide vă vor face să lucrați și mai rapid pe Excel.

Cum se utilizează funcția VLOOKUP în Excel | Aceasta este una dintre cele mai utilizate și populare funcții ale Excel, care este utilizată pentru a căuta valoarea din diferite intervale și foi.

Cum se utilizează funcția COUNTIF în Excel | Numărați valorile cu condiții folosind această funcție uimitoare. Nu este nevoie să vă filtrați datele pentru a număra o anumită valoare. Funcția Countif este esențială pentru a vă pregăti tabloul de bord.

Cum se utilizează funcția SUMIF în Excel | Aceasta este o altă funcție esențială a tabloului de bord. Acest lucru vă ajută să rezumați valori în condiții specifice.