Cum să trimiteți e-mailuri dintr-o foaie de calcul Excel folosind scripturi VBA

Cum să trimiteți e-mailuri dintr-o foaie de calcul Excel folosind scripturi VBA

Pentru a trimite e-mailuri din Microsoft Excel este nevoie doar de câteva scripturi simple. Adăugați această funcționalitate în foile dvs. de calcul și puteți îmbunătăți cu adevărat cât puteți realiza în Excel.





Am acoperit o mulțime de macro-uri Excel excelente, care pot realiza aceleași lucruri pe care le pot face scripturile VBA, dar fără a fi nevoie de cunoștințe de programare. Dar există multe lucruri avansate pe care le puteți face numai cu VBA, cum ar fi crearea unui raport de foaie de calcul cu toate informațiile computerului.





Preferați să urmăriți acest tutorial ca un videoclip? Te-am acoperit!





De ce să trimiteți e-mailuri din Excel?

Există o mulțime de motive pentru care ați putea dori să trimiteți un e-mail din interiorul Microsoft Excel.

Poate aveți personal care actualizează săptămânal documente sau foi de calcul și doriți să primiți o notificare prin e-mail despre momentul în care aceste actualizări sunt finalizate. Sau este posibil să aveți o foaie de calcul cu contacte și doriți să le trimiteți un e-mail tuturor.



Probabil vă gândiți că scriptarea unui e-mail difuzat din Excel va fi complicată. Nu este deloc cazul.

Tehnica din acest articol va folosi o caracteristică disponibilă în Excel VBA de mult timp, Obiecte de date de colaborare (CDO).





CDO este o componentă de mesagerie utilizată în Windows încă din primele generații ale sistemului de operare. Se numea CDONTS și apoi, odată cu apariția Windows 2000 și XP, a fost înlocuit cu „CDO pentru Windows 2000”. Această componentă este deja inclusă în instalarea VBA din Microsoft Word sau Excel și este gata de utilizare.

Utilizarea componentei facilitează trimiterea de e-mailuri din produsele Windows cu VBA. În acest exemplu, veți utiliza componenta CDO în Excel pentru a trimite un e-mail care va livra rezultatele dintr-o anumită celulă Excel.





Pasul 1: Creați o macro VBA

Primul pas este să accesați fila Dezvoltator Excel.

În fila Dezvoltator, faceți clic pe Introduce în caseta Control, apoi selectați un buton de comandă.

Desenați-o în foaie și apoi creați o nouă macrocomandă făcând clic pe Macrocomenzi în panglica Developer.

Când faceți clic pe Crea , va deschide editorul VBA.

Adăugați referința la biblioteca CDO navigând la Instrumente > Referințe în editor.

Derulați lista în jos până găsiți Biblioteca Microsoft CDO pentru Windows 2000 . Bifați caseta de selectare și faceți clic pe Bine .

Când faceți clic Bine , notați numele funcției în care lipiți scriptul. Veți avea nevoie de el mai târziu.

Pasul 2: Configurați câmpurile CDO „De la” și „Către”

Pentru a face acest lucru, trebuie mai întâi să creați obiectele de e-mail și să configurați toate câmpurile necesare pentru a trimite e-mailul.

Rețineți că, deși multe dintre câmpuri sunt opționale, Din și La câmpurile sunt obligatorii.

istoricul casei după adresă gratuit
Dim CDO_Mail As Object
Dim CDO_Config As Object
Dim SMTP_Config As Variant
Dim strSubject As String
Dim strFrom As String
Dim strTo As String
Dim strCc As String
Dim strBcc As String
Dim strBody As String
strSubject = 'Results from Excel Spreadsheet'
strFrom = 'rdube02@gmail.com'
strTo = 'rdube02@gmail.com'
strCc = ''
strBcc = ''
strBody = 'The total results for this quarter are: ' & Str(Sheet1.Cells(2, 1))

Lucrul interesant despre acest lucru este că puteți crea orice șir de caractere doriți să personalizați un mesaj de e-mail complet și să-l alocați strBody variabil.

Puneți împreună componente ale mesajului utilizând & șir pentru a insera date din oricare dintre foile Microsoft Excel direct în mesajul de e-mail, așa cum se arată mai sus.

Pasul 3: Configurați CDO pentru a utiliza un SMTP extern

Următoarea secțiune de cod este locul în care veți configura CDO pentru a utiliza orice server SMTP extern pentru a trimite e-mailul.

Acest exemplu este o configurare non-SSL prin Gmail. CDO este capabil de SSL, dar acest lucru nu intră în sfera acestui articol. Dacă trebuie să utilizați SSL, acesta cod avansat în Github poate ajuta.

Set CDO_Mail = CreateObject('CDO.Message')
On Error GoTo Error_Handling
Set CDO_Config = CreateObject('CDO.Configuration')
CDO_Config.Load -1
Set SMTP_Config = CDO_Config.Fields
With SMTP_Config
.Item('http://schemas.microsoft.com/cdo/configuration/sendusing') = 2
.Item('http://schemas.microsoft.com/cdo/configuration/smtpserver') = 'smtp.gmail.com'
.Item('http://schemas.microsoft.com/cdo/configuration/smtpauthenticate') = 1
.Item('http://schemas.microsoft.com/cdo/configuration/sendusername') = 'email@website.com'
.Item('http://schemas.microsoft.com/cdo/configuration/sendpassword') = 'password'
.Item('http://schemas.microsoft.com/cdo/configuration/smtpserverport') = 25
.Item('http://schemas.microsoft.com/cdo/configuration/smtpusessl') = True
.Update
End With
With CDO_Mail
Set .Configuration = CDO_Config
End With

Pasul 4: Finalizați configurarea CDO

Acum că ați configurat conexiunea la serverul SMTP pentru trimiterea e-mailului, tot ce trebuie să faceți este să completați câmpurile corespunzătoare pentru Obiect CDO_Mail , și emiteți Trimite comanda.

Iată cum faci asta:

CDO_Mail.Subject = strSubject
CDO_Mail.From = strFrom
CDO_Mail.To = strTo
CDO_Mail.TextBody = strBody
CDO_Mail.CC = strCc
CDO_Mail.BCC = strBcc
CDO_Mail.Send
Error_Handling:
If Err.Description '' Then MsgBox Err.Description

Nu vor exista casete pop-up sau mesaje de alertă de securitate, care se pot întâmpla atunci când recurgeți la utilizarea obiectului de poștă Outlook.

CDO pur și simplu pune împreună e-mailul și utilizează detaliile conexiunii serverului SMTP pentru a declanșa mesajul. Este cel mai simplu mod de a încorpora e-mailurile în scripturile Microsoft Word sau Excel VBA.

Pentru a conecta butonul de comandă la acest script, accesați editorul de cod și faceți clic pe Foaia 1 pentru a vizualiza codul VBA pentru foaia de lucru respectivă.

Tastați numele funcției în care ați lipit scriptul de mai sus.

Windows 10 teme 2018 descărcare gratuită

Iată cum arăta mesajul pe care l-am primit în căsuța de e-mail:

Notă : Dacă primiți o eroare care citește Transportul nu a reușit să se conecteze la server , asigurați-vă că ați introdus numele de utilizator, parola, serverul SMTP și numărul de port corecte în liniile de cod enumerate dedesubt Cu SMTP_Config .

Mergeți mai departe și automatizați întregul proces

Este bine și bine să puteți trimite e-mailuri din Excel la simpla apăsare a unui buton. Cu toate acestea, vă recomandăm să utilizați această funcționalitate în mod regulat, caz în care ar avea sens să automatizați procesul.

Pentru a face acest lucru, va trebui să modificați macro-ul. Accesați Editorul Visual Basic și copiați și lipiți întregul cod pe care l-am pus împreună.

Apoi, selectați Acest manual de lucru de la Proiect ierarhie.

Din cele două câmpuri derulante din partea de sus a ferestrei de cod, selectați Caiet de lucru și selectați Deschis din meniul derulant Metode.

Inserați scriptul de e-mail de mai sus în Private Sub Workbook_Open () .

Aceasta va rula macro-ul ori de câte ori deschideți fișierul Excel.

Apoi, deschideți Planificator de sarcini .

Veți utiliza acest instrument pentru a cere Windows să deschidă automat foaia de calcul la intervale regulate, moment în care va fi inițiată macrocomanda dvs., trimitând e-mailul.

Selectați Creați o activitate de bază ... de la Acțiune meniul și treceți-vă drumul prin expert până când ajungeți la Acțiune ecran.

Selectați Porniți un program și faceți clic pe Următorul .

Folosește Naviga pentru a găsi locația Microsoft Excel pe computer sau copiați și inserați calea în Program / script camp.

Apoi, introduceți calea către documentul dvs. Microsoft Excel în Adăugați argumente camp.

Completați expertul, iar programarea dvs. va fi la locul său.

Merită să rulați un test programând acțiunea pentru câteva minute în viitor, apoi modificând sarcina odată ce puteți confirma că funcționează.

Notă : Este posibil să trebuiască să vă ajustați setările Centrului de încredere pentru a vă asigura că macro-ul rulează corect.

Pentru aceasta, deschideți foaia de calcul și navigați la Fişier > Opțiuni > Centrul de încredere .

De aici, faceți clic Setări Centrul de încredere , iar pe ecranul următor setați cadranul radio la Nu afișați niciodată informații despre conținutul blocat .

Faceți ca Microsoft Excel să funcționeze pentru dvs.

Microsoft Excel este un instrument incredibil de puternic, dar a învăța cum să profitați la maximum de el poate fi puțin intimidant. Dacă doriți să stăpâniți cu adevărat software-ul, va trebui să fiți confortabil cu VBA , și asta nu este o sarcină mică.

căutați numărul care m-a sunat

Cu toate acestea, rezultatele vorbesc de la sine. Cu puțină experiență VBA, veți putea în curând să îl faceți pe Microsoft Excel să efectueze automat sarcini de bază, oferindu-vă mai mult timp pentru a vă concentra pe probleme mai presante.

Este nevoie de timp pentru a vă dezvolta expertiza cu VBA, dar veți vedea în curând roadele muncii dvs., dacă puteți rezista.

Un loc minunat pentru a începe este autoritatea noastră tutorial despre utilizarea VBA în Excel . Odată ce ați terminat cu acest lucru, acest script simplu pentru a trimite e-mailuri din Excel se va simți ca o joacă pentru copii.

Acțiune Acțiune Tweet E-mail Canon vs. Nikon: Ce marcă de camere este mai bună?

Canon și Nikon sunt cele mai mari două nume din industria camerelor. Dar ce marcă oferă o gamă mai bună de camere și obiective?

Citiți în continuare
Subiecte asemănătoare
  • Productivitate
  • Programare
  • Sfaturi pentru e-mail
  • Programare
  • Programare Visual Basic
  • Microsoft Excel
  • Sfaturi Microsoft Office
Despre autor Ryan Dube(942 articole publicate)

Ryan are o diplomă de licență în inginerie electrică. A lucrat 13 ani în ingineria automatizării, 5 ani în IT, iar acum este inginer de aplicații. Fost editor manager al MakeUseOf, a vorbit la conferințe naționale privind vizualizarea datelor și a fost prezentat la TV și radio naționale.

Mai multe de la Ryan Dube

Aboneaza-te la newsletter-ul nostru

Alăturați-vă newsletter-ului pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!

Faceți clic aici pentru a vă abona