VBA Pošlji e -pošto iz Excela prek Gmaila

Ta vadnica vam bo pokazala, kako pošiljati e -pošto iz Excela prek Gmaila z uporabo VBA.

Dodajanje Microsoftove reference CDO

Če želite Excelu omogočiti pošiljanje e -pošte prek Gmaila, morate v svoj Excelov projekt najprej dodati referenčno knjižnico CDO.

V urejevalniku VBA kliknite Orodja, Reference.

Poiščite Microsoftovo referenco CDO in kliknite V redu.

Pošiljanje e -pošte prek GMaila

Če želite poslati e -pošto iz Excela prek Gmaila, morate najprej prijaviti objekt CDO (Zatemni gMail kot CDO.Message).

Drugič, za sporočilo v kodi morate konfigurirati preverjanje pristnosti SSL. To pomeni, da morate nastaviti strežnik SMTP in podrobnosti o vratih, da bo vaša e -pošta pravilno potekala, ter nastaviti uporabniško ime in geslo.

V spodnjem delčku kode je to tisto, kar bi potrebovali na začetku svoje Excelove funkcije. Potrebujete e -poštnega prejemnika (strTo) in zadevo (strSubject), vendar sta CC in telo e -pošte lahko izbirni spremenljivki.

12345678910111213141516171819202122232425262728 Funkcija CreateEmail (strTo kot niz, strSubject kot niz, izbirno strCC kot niz, neobvezno strBody kot niz)'ustvarite objekt CDOZatemni gMail kot CDO.MessageNastavi gMail = Novo sporočilo CDO'Omogoči preverjanje pristnosti SSLgMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = Res'Omogoči preverjanje pristnosti SMTP = res (1)gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1'Nastavite strežnik SMTP in podrobnosti o vratihgMail.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"Tukaj nastavite svoje uporabniško ime in geslo za svoj gmail račungMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/sendusername") = "[email protected]"gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "*********"'Posodobi konfiguracijska poljagMail.Configuration.Fields.Update

Ko to storite, lahko ustvarite svoj e -poštni naslov in dokončate funkcijo.

123456789 'nastavite lastnosti e -pošte in datoteko za pošiljanjeZ gMail .Subject = "Tukaj napišite zadevo".From = "[email protected]".To = strTo.TextBody = strBodyKončaj s'za pošiljanje poštegMail.SendKončana funkcija

Nato lahko svojo funkcijo pokličete z naslednjo kodo

1234567 Sub SendEmail'ustvari telo e -pošteZatemni strText kot nizstrText = "Dobro jutro. Upam, da ste dobro - to je testno sporočilo"'vnesite argumente funkcije - pustite CC prazno, zato kot vejico postavite vejicoCreateEmail ("[email protected]", "Testna pošta",, strText)Konec pod

Pošiljanje delovnega zvezka prek GMaila

Če želite poslati delovni zvezek kot prilogo prek GMaila, lahko z nekaj dodatki ustvarite funkcijo, podobno zgornji.

Če želite izbrati delovni zvezek, morate dodati kodo, nato pa morate izbrani datoteki priložiti e -poštno sporočilo.

Uporabili bomo Microsoft Office FileDialog ukaz, da izberete datoteko za pošiljanje, nato pa uporabite AddAttachment lastnost e -poštnega sporočila, da datoteko dodate kot prilogo.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 Funkcija SendWorkbook (strTo As String, strSubject As String, Optional strCC As String, Optional strBody As String) Kot BooleanPri napaki pojdi eh:'ustvarite objekt CDOZatemni gMail kot CDO.MessageNastavite gMail = Novo sporočilo CDO'Omogoči preverjanje pristnosti SSLgMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = Res'Omogoči preverjanje pristnosti SMTP = res (1)gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1'Nastavite strežnik SMTP in podrobnosti o vratihgMail.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"Tukaj nastavite svoje uporabniško ime in geslo za svoj gmail račungMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/sendusername") = "[email protected]"gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "*********"'Posodobi konfiguracijska poljagMail.Configuration.Fields.Update'izberite datoteko za pošiljanje v pogovornem oknu datoteke MicrosoftZatemni strFileToSend As StringZatemni dlgFile kot FileDialogZatemni strItem kot variantoDim nDlgResult As LongNastavi dlgFile = Application.FileDialog (msoFileDialogFilePicker)'filter samo za datoteke excel in csvdlgFile.Filters.Dodajte »Excelove datoteke«, » *.csv; *.xls; *.xlsx; *.xlsm«nDlgResult = dlgFile.ShowČe je nDlgResult = -1 PotemČe je dlgFile.SelectedItems.Count> 0 PotemZa vsak strItem v dlgFile.SelectedItemsstrFileToSend = strItemNaslednji element strKonec ČeKonec Če'nastavite lastnosti e -pošte in datoteko za pošiljanjeZ gmailom.Subject = "Tukaj napiši temo".From = "[email protected]".To = strTo.TextBody = strBody'dodaj izbrano datoteko kot prilogo.AddAttachment strFileToSendKončaj s'za pošiljanje poštegMail.SendSendWorkbook = ResIzhodna funkcijaeh:SendWorkbook = NapačnoKončana funkcija

Če konfiguracijska vrata 25 ne delujejo, lahko pride do napake - "Transport se ni uspel povezati s strežnikom" Spremenite vrata na 25 in poskusite znova.

Zgornjo funkcijo lahko pokličete po spodnjem postopku.

123456789101112131415 Sub SendMail ()Dim strTo As StringZatemni strSubject As StringZatemni strBody As String'napolni spremenljivkestrTo = "[email protected]"strSubject = "Najdi priloženo finančno datoteko"strBody = "tukaj gre nekaj besedila za telo e -pošte"'pokličite funkcijo za pošiljanje e -pošteČe je SendWorkbook (strTo, strSubject,, strBody) = true, potemMsgbox "Ustvarjanje e -pošte je uspešno"Sicer paMsgbox "Ustvarjanje e -pošte ni uspelo!"Konec, čeEnd Sub

Pozvani boste, da izberete datoteko, ki jo želite poslati. Ta koda je omejena na datoteke Excel, ker je filter »*.csv; *.xls; *.xlsx; *.xlsm ” - to kodo pa lahko uporabite tudi v Wordu in ustrezno spremenite svoj filter.

Izberite datoteko in kliknite Odpri. Koda lahko traja nekaj časa, da se zažene - če je pošta uspešno poslana, boste prejeli naslednje sporočilo.

wave wave wave wave wave