Buna,
La inceputul lunii am lucrat la un raport care trebuia trimis catre mai multe persoane, si am cautat o sintaxa VBA prin care sa trimit cate un mail la fiecare persoana folosind Thunderbird. Oricat as vrea sa va spun ca am gasit, nu se poate.
Ca sa foloseste totusi optiunea de trimitere mail prin VBA am apelat la Outlook si pentru ca multe persoane m-au intrebat cum se face, astazi va voi prezenta sintaxa pentru trimiterea mailurilor folosind Outlook.
Configurarea fisierului
Pentru exemplul de azi, nu a fost nevoie de o configurare foarte complicata. Am formatat o celula pentru adaugarea adresei de mail catre care se trimite mailul si am adaugat un buton pentru trimiterea mailului. Procedura VBA pentru trimiterea mailului am alocat-o butonului Trimite mail din fisier.
Sintaxa VBA
Sintaxa pentru apelara aplicatiei Outlook si pentru trimiterea mailului este standard. Pentru optimizarea procedurii, am adaugat in fisierul campul pentru completarea adresei de mail. Acest lucru se poate face atat pentru subiectul, cat si pentru continutul mailului.
Sub Mail_Workbook()
Dim OutApp As Object
Dim OutMail As Object
Dim Mail As String
Set OutApp = CreateObject(“Outlook.Application”)
Set OutMail = OutApp.CreateItem(0)
Mail = Worksheets(“Send Mail”).Range(“C2”).ValueOn Error Resume Next
‘Modifica Subiectul mailului si corpul mailului
With OutMail
.To = Mail
.CC = “”
.BCC = “”
.Subject = “Mail automat”
.Body = “Acest mail se trimite folosind un macro.”
.Attachments.Add ActiveWorkbook.FullName.Send
End With
On Error GoTo 0Set OutMail = Nothing
Set OutApp = Nothing
End Sub
Daca doriti sa intelegeti mai bine exemplul din acest articol, puteti downloada fisierul de lucru de la urmatorul link: SendMail.
Stii ca eu sunt de parere ca orice se poate. Vezi metoda a doua din articolul asta:
http://www.databison.com/index.php/3-nifty-ways-to-send-email-using-excel/
E mai vechi dar eu cred ca inca merge. Poti trimite mail folosind orice SMTP server daca ai toate setarile de conectare la el: utilizator, parola, port, etc.
O sa incerc si te anunt daca merge.