A trecut ceva vreme, dar poate va amintiti ca v-am explicat acum vreo doua luni cum puteti inregistra un macro in Excel. Totul fara sa aveti cunostinte de programare, pentru a va face viata mai usoara, daca sunteti printre corporatistii care folosesc acest program in mod regulat.
Ei bine, astazi am sa va arat cum puteti merge un pas mai departe. Si anume, cum puteti trimite un e-mail folosind Microsoft Excel si nu clientul vostru de e-mail. Bine, bine, va veti intreba de ce ati folosi aceasta metoda si nu cea clasica. Ca sa nu va aburesc, va pot oferi un exemplu personal: acum ceva vreme, aveam de trimis un raport lunar, catre anumite persoane. Si, cum raportul era salvat pe un drive comun, nu aveam decat sa le trimit acelasi mesaj in fiecare f&%ing luna. Pentru ca sunt o fire curioasa si pentru ca mi-a placut sa folosesc Excelul, am gasit solutia pe care v-o explic mai jos. Am sa fiu complet sincer si voi recunoaste ca munca de programare a facut-o un student, coleg de-al meu, acum cativa ani. Eu doar am refolosit-o pentru mine. A, si sa nu uit! Ideea mi-a venit initial din lene. Fosta mea sefa chiar asta zicea: „Cristi, iti dau tie sa faci asta, ca esti comod si sigur gasesti o modalitate sa automatizezi totul”. Si chiar asa a fost…
Dar, mai bine va explic pas cu pas cum se face! 😉 Intai verificati ce client de e-mail folositi, pentru ca eu va explic cum puteti face totul cu Outlook. Se poate cu orice alt client, inclusiv GMail, insa trebuie sa schimbati in textul macro-ului. Vedeti voi ulterior unde. Al doilea lucru pe care il aveti de facut este sa creati un fisier Excel cu extensia .xlm si sa treceti exact datele de mai jos in capul de tabel. Orice modificare trebuie operata si in textul macro-ului. De asemenea, foaia de calcul (sheet, in engleza) se va numi send_mail. Ati ghicit, daca nu faceti asa, modificare trebuie operata si in textul macro-ului.
Pasul trei este sa creem comanda de trimitere a mesajului, printr-un macro. Mergem in Microsoft Excel la tabul de Developer, apoi alegem Visual Basic si dam paste la textul de mai jos:
Sub send_mail()
Dim objOutlook As Object
Dim objMail As Object
Dim i As Integer
Dim Message_txt As String
Dim Signature As Stringcnt = Worksheets(„send_mail”).Cells.SpecialCells(xlCellTypeLastCell).Row
For i = 2 To cnt
Set objOutlook = CreateObject(„Outlook.Application”)
Set objMail = objOutlook.CreateItem(0)Message_txt = „Dear ” & Cells(i, 1).Value & ” ” & Cells(i, 2).Value & ” ” & Cells(i, 3).Value & „,” & vbCrLf & vbCrLf & Cells(i, 6).Value & vbCrLf & vbCrLf & Cells(i, 7).Value
With objMail
.To = Cells(i, 4).Value
.Subject = Cells(i, 5).Value
.Body = Message_txt
.Send
End WithNext i
End Sub
Dupa ce ati terminat, adaugati o forma (add shape, in limba lui Shakespeare), dupa placul inimii. La mine a fost simplu: a stat fiu-miu langa mine cand faceam asta si m-a pus sa aleg o planeta – Jupiter. Voi puteti alege orice altceva. Musai sa dati click dreapta pe el ulterior si sa ii asignati macro-ul proaspat creat.
Et voilà, c’est fini, cum ar zice angajatul din multinationalele franceze! De cate ori vreti sa trimiteti mesajul respectiv – fie ca este link-ul la raportul lunar de productivitate, fie ca este invitatia la petrecerea de Craciun, fie ca este un reminder ca duminica sa ne prezentam la vot – apasati forma aleasa un paragraf mai sus, si mesajul este trimis…
Sper ca v-a fost de folos. Toate articolele noastre despre Microsoft Excel le puteti gasi aici.
Si/sau asa: https://youtu.be/WBHKxZUYn34
(din pacate trebuie sa va intelegeti cu engleza putin)
Clipul asta prezinta parca mai simplu decat ce e trecut in articol. Multumesc
E util, mai ales pentru cei care folosec excel, gen eu, pentru tabele, liste, etc
Multumim
Se pot trimite mailuri si fara folosirea implicarea (putin mai complexa pentru unii) macro-urilor. folosind Mail merge, folosind un Text din word care sa isi ia anumite detalii specifice si diferentiate impreuna cu destinatarii dintr-un excel.