See õpetus näitab teile, kuidas saata Excelist e -kirju Gmaili kaudu VBA abil.
Microsofti CDO viite lisamine
Selleks, et Excel saaks Gmaili kaudu meilisõnumeid saata, peate esmalt lisama oma Exceli projekti CDO teatmeteegi.
Klõpsake VBA redaktoris nuppu Tööriistad, viited.
Otsige üles Microsofti CDO viide ja klõpsake nuppu OK.
E -kirja saatmine GMaili kaudu
Gmaili kaudu Excelist e -kirja saatmiseks peate esmalt deklareerima CDO -objekti (Dim gMail kui CDO. Sõnum).
Teiseks peate oma koodis oleva sõnumi jaoks konfigureerima SSL -autentimise. See tähendab, et e -posti korrektseks läbimiseks, samuti kasutajanime ja parooli seadistamiseks peate seadistama SMTP -serveri ja pordi üksikasjad.
Allolevas koodilõigus on see, mida vajate oma Exceli funktsiooni alguses. Teil on vaja e -posti adressaati (strTo) ja teemat (strSubject), kuid e -kirja koopia ja sisu võivad olla valikulised muutujad.
12345678910111213141516171819202122232425262728 | Funktsioon CreateEmail (strTo kui string, strSubject kui string, valikuline strCC kui string, valikuline strBody kui string)"luua CDO -objektDim gMail CDO -sõnuminaMäära gMail = Uus CDO.Message'Luba SSL -autentiminegMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = Tõsi'SMTP autentimise lubamine = true (1)gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1'Määrake SMTP -serveri ja pordi üksikasjadgMail.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") = 2Siin saate oma gmaili konto jaoks määrata oma kasutajanime ja parooligMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/sendusername") = "[email protected]"gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "*********"'Värskendage konfiguratsiooniväljugMail.Configuration.Fields.Update |
Kui see on tehtud, saate oma e -posti luua ja funktsiooni täita.
123456789 | "määrake e -posti atribuudid ja saadetav failGMail .Subject = "Kirjutage teema siia".From = "[email protected]".To = strTo.TextBody = strBodyLõpeta'posti saatmiseksgMail. SaadaLõppfunktsioon |
Seejärel saate oma funktsioonile helistada järgmise koodiga
1234567 | Sub SendEmail"looge e -kirja sisuHämarda strText stringinastrText = "Tere hommikust. Loodetavasti läheb teil hästi - see on testmeil"'täitke funktsiooni argumendid - jätke CC tühjaks, nii et pange kohatäiteks komaCreateEmail ("[email protected]", "Test -e -post", strText)Lõpp alam |
Töövihiku saatmine GMaili kaudu
Töövihiku saatmiseks manusena GMaili kaudu saate luua mõne ülaltoodud funktsiooniga sarnase funktsiooni.
Töövihiku valimiseks peate lisama koodi ja seejärel lisama valitud faili e -kirjale.
Kasutame Microsoft Office'i FileDialog käsku, et valida saadetav fail ja seejärel kasutada AddAttachment e -posti atribuut faili lisamiseks manusena.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 | Funktsioon SendWorkbook (strTo kui string, strSubject kui string, valikuline strCC kui string, valikuline strBody kui string) kui BooleanTõrke korral läks:"luua CDO -objektDim gMail CDO -sõnuminaMäära gMail = Uus CDO.Message'Luba SSL -autentiminegMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = Tõsi'SMTP autentimise lubamine = true (1)gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1'Määrake SMTP -serveri ja pordi üksikasjadgMail.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") = 2Siin saate oma gmaili konto jaoks määrata oma kasutajanime ja parooligMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/sendusername") = "[email protected]"gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "*********"'Värskendage konfiguratsiooniväljugMail.Configuration.Fields.Update'valige Microsofti faili dialoogiboksi abil saadetav failDim strFileToSend stringinaDim dlgFile kui FileDialogDim strItem VariandinaDim nDlgResult As LongMäära dlgFile = Application.FileDialog (msoFileDialogFilePicker)"filter ainult Exceli ja csv -failide jaoksdlgFile.Filters.Add "Exceli failid", " *.csv; *.xls; *.xlsx; *.xlsm"nDlgResult = dlgFile.ShowKui nDlgResult = -1 SiisKui dlgFile.SelectedItems.Count> 0 SiisIga strItem jaoks dlgFile.SelectedItemsstrFileToSend = strItemJärgmine strItemLõpp KuiLõpp Kui"määrake e -posti atribuudid ja saadetav failGMailiga.Subject = "Kirjutage teema siia".From = "[email protected]".To = strTo.TextBody = strBody'lisage valitud fail manusena.AddAttachment strFileToSendLõpeta'posti saatmiseksgMail. SaadaSendWorkbook = TõsiVälju funktsiooneh:SendWorkbook = ValeLõppfunktsioon |
Kui konfiguratsiooniport 25 ei tööta, võite saada tõrke - „Transpordil ei õnnestunud serveriga ühendust luua” Muutke port 25 -ks ja proovige uuesti.
Ülaltoodud funktsiooni saab kutsuda alltoodud protseduuri abil.
123456789101112131415 | Sub SendMail ()Hämarda stringinaDim strSubject kui stringDim strBody kui string'täitke muutujadstrTo = "[email protected]"strSubject = "Finantsfail on manuses"strBody = "mõni tekst läheb siia e -kirja sisu jaoks"'helistage e -kirja saatmiseks sellele funktsioonileKui SendWorkbook (strTo, strSubject,, strBody) = true siisSõnumikast "E -posti loomise õnnestumine"MuiduMsgbox "E -posti loomine ebaõnnestus!"Lõpetage, kuiEnd Sub |
Teil palutakse valida fail, mida soovite saata. See kood on piiratud Exceli failidega, kuna filter on “*.csv; *.xls; *.xlsx; *.xlsm ” - saate seda koodi siiski kasutada ka Wordis ja oma filtrit vastavalt muuta.
Valige fail ja klõpsake nuppu Ava. Koodi käivitamine võib võtta aega - kui teie kirjade saatmine õnnestus, kuvatakse teile järgmine teade.