Trimiteți e-mailuri VBA din Excel prin Gmail

Acest tutorial vă va arăta cum să trimiteți e-mailuri din Excel prin Gmail utilizând VBA.

Adăugarea referinței Microsoft CDO

Pentru a permite Excel să trimită e-mailuri prin Gmail, trebuie mai întâi să adăugați biblioteca de referință CDO la proiectul dvs. Excel.

În Editorul VBA, faceți clic pe Instrumente, Referințe.

Căutați Microsoft CDO Reference și faceți clic pe OK.

Trimiterea unui e-mail prin GMail

Pentru a trimite un e-mail din Excel prin Gmail, trebuie mai întâi să declarați un obiect CDO (Dim gMail ca CDO.Message).

În al doilea rând, va trebui să configurați autentificarea SSL pentru mesajul dvs. din cod. Aceasta înseamnă că trebuie să setați serverul SMTP și detaliile portului pentru ca e-mailul dvs. să treacă corect, precum și să vă configurați numele de utilizator și parola.

În fragmentul de cod de mai jos, de asta ai avea nevoie la începutul funcției Excel. Aveți nevoie de un destinatar de e-mail (strTo) și de un subiect (strSubject), dar CC și corpul e-mailului pot fi variabile opționale.

12345678910111213141516171819202122232425262728 Funcție CreateEmail (strTo As String, strSubject As String, opțional strCC As String, opțional strBody As String)'creați un obiect CDODim gMail Ca CDO.MessageSetați gMail = New CDO.Message„Activați autentificarea SSLgMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = Adevărat'Activare autentificare SMTP activată = adevărat (1)gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1'Setați serverul SMTP și detaliile portuluigMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"gMail.Configuration.Fields.Item _ ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25gMail.Configuration.Fields.Item _ ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2'Setați aici numele de utilizator și parola pentru propriul cont GmailgMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/sendusername") = "[email protected]"gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "*********"'Actualizați câmpurile de configuraregMail.Configuration.Fields.Update

Odată ce ați terminat, vă puteți crea e-mailul și puteți finaliza funcția.

123456789 'setați proprietățile de e-mail și fișierul de trimisCu gMail .Subject = "Scrie subiectul aici".From = "[email protected]".To = strTo.TextBody = strBodySe termina cu'pentru a trimite e-mailulgMail.SendFuncția de sfârșit

Apoi puteți apela funcția dvs. cu următorul cod

1234567 Sub SendEmail'creați corpul e-mailuluiDim strText ca șirstrText = "Bună dimineața. Sper că te simți bine - acesta este un e-mail de testare"„completați argumentele funcției - lăsați CC necompletat așa că puneți o virgulă ca substituentCreateEmail ("[email protected]", "Test Email",, strText)Încheierea sub

Trimiterea unui registru de lucru prin GMail

Pentru a trimite un registru de lucru ca atașament prin GMail, puteți crea o funcție asemănătoare celei de mai sus cu câteva adăugiri.

Trebuie să adăugați cod pentru a selecta registrul de lucru, apoi trebuie să atașați fișierul selectat la e-mail.

Vom folosi Microsoft Office Dialog fișier pentru a selecta fișierul de trimis, apoi utilizați fișierul Adauga atasament proprietatea e-mailului pentru a adăuga fișierul ca atașament.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 Funcția SendWorkbook (strTo As String, strSubject As String, opțional strCC As String, opțional strBody As String) Ca BooleanLa eroare, mergeți eh:'creați un obiect CDODim gMail Ca CDO.MessageSetați gMail = New CDO.Message„Activați autentificarea SSLgMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = Adevărat'Activați autentificarea SMTP activată = adevărat (1)gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1'Setați serverul SMTP și detaliile portuluigMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2'Setați aici numele de utilizator și parola pentru propriul cont GmailgMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/sendusername") = "[email protected]"gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "*********"'Actualizați câmpurile de configuraregMail.Configuration.Fields.Update'selectați fișierul de trimis cu caseta de dialog fișier microsoftDim strFileToSend As StringDim dlgFile Ca FileDialogDim strItem As VariantDim nDlgResult As LongSetați dlgFile = Application.FileDialog (msoFileDialogFilePicker)'filtru numai pentru fișiere Excel și CSVdlgFile.Filters.Add "Fișiere Excel", "* .csv; * .xls; * .xlsx; * .xlsm"nDlgResult = dlgFile.ShowDacă nDlgResult = -1 AtunciDacă dlgFile.SelectedItems.Count> 0 AtunciPentru fiecare strItem din dlgFile.SelectedItemsstrFileToSend = strItemUrmătorul strItemEnd IfEnd If'setați proprietățile de e-mail și fișierul de trimisCu gMail.Subject = "Scrie subiectul aici".From = "[email protected]".To = strTo.TextBody = strBody'adăugați fișierul selectat ca atașament.AddAttachment strFileToSendSe termina cu'pentru a trimite e-mailulgMail.SendSendWorkbook = AdevăratFuncția de ieșireeh:SendWorkbook = FalseFuncția de sfârșit

Dacă portul de configurare 25 nu funcționează, este posibil să primiți o eroare - „Transportul nu a reușit să se conecteze la server” Schimbați portul la 25 și încercați din nou.

Funcția de mai sus poate fi apelată folosind procedura de mai jos.

123456789101112131415 Sub SendMail ()Dim strTo As StringDim strSubject As StringDim strBody As String'populează variabilestrTo = "[email protected]"strSubject = "Vă rugăm să găsiți fișierul financiar atașat"strBody = "un text merge aici pentru corpul e-mailului"'apelați funcția pentru a trimite e-mailulDacă SendWorkbook (strTo, strSubject,, strBody) = adevărat atunciMesaj "Succes la crearea e-mailului"AltfelMesaj "Nu s-a reușit crearea e-mailului!"Încheie dacăSfârșitul Sub

Vi se va cere să selectați fișierul pe care doriți să îl trimiteți. Acest cod este limitat la fișierele Excel, deoarece filtrul este „* .csv; * .xls; * .xlsx; * .xlsm ”- totuși, puteți utiliza acest cod și în Word și puteți modifica filtrul în consecință.

Selectați fișierul și faceți clic pe Deschidere. Codul poate dura până se execută - dacă e-mailul este trimis cu succes, veți primi următorul mesaj.

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave