Utilizarea scripturilor VBA în Excel nu necesită cunoștințe de programare. VBA vă ajută să faceți multe sarcini avansate, cum ar fi crearea unui raport de foi de calcul care conține toate informațiile despre computer, trimiterea prin e-mail direct dintr-o foaie de calcul ...
Pentru a trimite email de la Microsoft Excel trebuie doar câteva scripturi simple. Nu vă fie teamă să adăugați această caracteristică în foaia de calcul, dacă doriți să beneficiați la maxim de software-ul Excel Office .
E-mail de la Excel
Există multe motive pentru care doriți să trimiteți e-mail chiar la Microsoft Excel. De exemplu, angajații dvs. actualizează săptămânal documentele și foile de calcul și doriți să primiți notificări prin e-mail atunci când acea acțiune este finalizată sau uneori, doriți să trimiteți prin e-mail toate contactele din același registru de lucru. la ...
Trebuie să te gândești să folosești un script de email complicat Excel, dar este de fapt foarte simplu. Acest articol vă va ghida să profitați de o caracteristică care a fost disponibilă de mult timp în Excel VBA, numită Obiecte de colaborare (CDO) .

CDO este o componentă de mesagerie folosită în Windows chiar din versiunile inițiale. Se numea CDONTS. După ce s-a născut Windows 2000 & XP, „CDO pentru Windows 2000” l-a înlocuit. Această componentă este inclusă în instalarea VBA în Microsoft Word sau Excel și este disponibilă pentru utilizare oricând.
Utilizarea acestei componente pentru a trimite prin e-mail produse Windows cu VBA este extrem de ușoară. De exemplu, acest articol folosește CDO în Excel pentru a trimite e-mailuri care conțin rezultate într-o celulă.
Pasul 1: Creați o Macro VBA
Mai întâi, accesați fila Excel Developer > faceți clic pe Insert în panoul Controls , apoi selectați un buton de comandă.

Glisați-o în această foaie de lucru, apoi creați o macrocomandă nouă făcând clic pe Macros în panoul dezvoltatorului.

Când faceți clic pe butonul Creare , acesta deschide editorul VBA.
Adăugați o referință la biblioteca CDO accesând Instrumente> Referințe în editor.

Derulați în jos lista până când vedeți CDO Microsoft pentru Windows 2000 Library . Bifați caseta de selectare și faceți clic pe OK .

Când faceți clic pe OK , notați numele funcției în care este lipit scriptul, deoarece veți avea nevoie de el mai târziu.
Pasul 2: Setați câmpurile CDO „De la” și „La”
Pentru a face acest lucru, mai întâi trebuie să creați obiecte legate de e-mail și să configurați toate câmpurile de livrare prin e-mail necesare.
Nu uitați că multe câmpuri pot sau nu, dar sunt obligatorii de la și la.
Dim CDO_Mail ca obiect
Dim CDO_Config ca obiect
Dim SMTP_Config ca 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 = "Rezultate din Excel Spreadsheet"
strFrom = "[email protected]"
strTo = "[email protected]"
strCc = ""
strBcc = ""
strBody = "Rezultatele totale pentru acest trimestru sunt:" & Str (Sheet1 .Celule (2, 1))
Lucrul interesant este că puteți crea orice șir dorit pentru a personaliza întregul mesaj de e-mail și pentru a-i atribui variabila strBody.
Completarea conținutului unui mesaj de e-mail folosind un șir și pentru a insera date dintr-o foaie de calcul Microsoft Excel chiar într-un e-mail (așa cum se arată mai sus).
Pasul 3: Configurați CDO pentru a utiliza SMTP extern
Următoarea bucată de cod este aceea în care configurați CDO pentru a utiliza orice server SMTP extern pentru a trimite email.
Acest exemplu nu configurează SSL prin Gmail, CDO poate înlocui SSL, dar este în afara domeniului de aplicare al acestui articol. Dacă aveți nevoie să utilizați SSL, codul avansat din Github vă poate ajuta.
Setați CDO_Mail = CreateObject ("CDO.Message")
pe eroare GoTo Error_Handling
Setare CDO_Config = CreateObject ("CDO.Configuration")
CDO_Config.Load -1
Setați SMTP_Config = CDO_Config.Fields
Cu 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 protected] "
.Item (" http://schemas.microsoft.com/cdo/configuration/sendpassword ") =" parola "
.Item (" http://schemas.microsoft.com/cdo/configuration/smtpserverport ") = 25
.Item (" http://schemas.microsoft.com/cdo/configuration/smtpusessl ") = True
.Update
End with
Cu CDO_Mail
Set .Configuration = CDO_Config
End With
Pasul 4: Instalare CDO completă
Ați configurat acum serverul dvs. SMTP pentru a trimite email. Tot ce trebuie să faceți este să completați câmpurile corespunzătoare pentru obiectul CDO_Mail și să emiteți comanda Trimitere .
Iată cum se face:
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 <> "" Atunci MsgBox Err.Description
Niciuna dintre ferestrele de tip pop-up sau alerte de securitate nu apar așa cum vedeți de obicei când utilizați obiectul de e-mail Outlook.
CDO pune pur și simplu componentele de e-mail una lângă alta și folosește detaliile conexiunii la server pentru a permite trimiterea informațiilor. Acesta este cel mai simplu mod de a combina e-mailurile în scripturile Microsoft Word sau Excel VBA.
Pentru a conecta butonul de comandă la acest script, accesați editorul de coduri și faceți clic pe Sheet1 pentru a vedea codul VBA al acelei foi de lucru.
Tastați numele funcției în care ați lipit scriptul de mai sus.

Aceasta este informația pe care o primiți în căsuța de e-mail.

Notă : Dacă primiți mesajul de eroare Transportul nu a reușit să vă conectați la server , asigurați-vă că ați introdus numele de utilizator, parola, serverul SMTP și numărul de port corecte în linia de cod listată la Cu SMTP_Config .
Îmbunătățirea și automatizarea întregului proces
Trimiterea de e-mailuri de la Excel cu un singur buton este într-adevăr sigură și convenabilă. Dacă doriți să utilizați des această caracteristică, o puteți automatiza.
Pentru a face acest lucru, trebuie să schimbați macrocomanda. Accesați editorul Visual Basic, copiați și inserați întregul cod adunat. Apoi, selectați acest manual de lucru din ierarhia de proiect .
Din cele două câmpuri derulante din partea de sus a ferestrei codului, selectați Cartea de lucru și faceți clic pe Deschide din meniul Metode . Lipiți scriptul de email de mai sus în Private Sub Workbook_Open () . Această acțiune va rula macro-ul ori de câte ori deschideți fișierul Excel.

Apoi, deschideți Task Scheduler . Vei folosi acest instrument pentru a solicita Windows-ului să deschidă automat foile de calcul la intervale specificate. În acel moment, macro-ul dvs. va fi activat și trimis prin e-mail.

Selectați Creare sarcină de bază ... din meniul Acțiune și urmați instrucțiunile până când ajungeți pe ecranul Acțiune.
Selectați Start un program și faceți clic pe Următorul .

Utilizați butonul Browse pentru a găsi locația Microsoft Excel pe computer sau copiați și lipiți calea în câmpul Program / script .
Apoi introduceți calea către documentul Microsoft Excel în câmpul Adăugare argumente .
Completați instrucțiunile și programul pe care îl veți face.
Ar trebui să testați această caracteristică programând acțiunea în următoarele câteva minute, apoi revizuind sarcina după ce o vedeți funcționând eficient.
Notă : S-ar putea să fie nevoie să ajustați setările Centrului de încredere pentru a vă asigura că macro-ul rulează după cum urmează:
Deschideți foaia de calcul și navighează în Fișier> Opțiuni> Centrul de încredere .
Aici, faceți clic pe Setări pentru centrul de încredere . Pe ecranul următor, selectați Nu afișați niciodată informații despre conținutul blocat .
Microsoft Excel este un instrument extrem de puternic, dar învățarea modului de utilizare poate fi uneori dificil pentru mulți. Dacă doriți să stăpâniți acest software, trebuie să știți cum să utilizați VBA. Nu este ușor.
Cu toate acestea, cu puțină experiență VBA, puteți automatiza sarcinile de bază pe Microsoft Excel și puteți avea mai mult timp concentrându-vă pe sarcini mai importante.
Sper ca articolul să vă fie de folos. Va doresc succes!