VBA Send e -mails fra Excel via Gmail

Denne vejledning viser dig, hvordan du sender e -mails fra Excel via Gmail ved hjælp af VBA.

Tilføjelse af Microsoft CDO Reference

For at Excel kan sende e -mail via Gmail, skal du først tilføje CDO -referencebiblioteket til dit Excel -projekt.

I VBA -editoren skal du klikke på Værktøjer, referencer.

Søg efter Microsoft CDO -referencen, og klik på OK.

Send en e -mail via GMail

For at sende en e -mail fra Excel via Gmail skal du først erklære et CDO -objekt (Dim gMail som CDO.Message).

For det andet skal du konfigurere SSL -godkendelse til din besked i din kode. Det betyder, at du skal indstille SMTP -server og portoplysninger, for at din e -mail kan gå korrekt igennem, samt konfigurere dit brugernavn og din adgangskode.

I kodebiten herunder er det, hvad du har brug for i begyndelsen af ​​din Excel -funktion. Du skal bruge en e -mail -modtager (strTo) og et emne (strSubject), men CC og e -mailens brødtekst kan være valgfrie variabler.

12345678910111213141516171819202122232425262728 Funktion Opret e -mail (strTo som streng, strSubject som streng, valgfri strCC som streng, valgfri strBody som streng)'opret et CDO -objektDim gMail As CDO.MessageIndstil gMail = Ny CDO.Message'Aktiver SSL -godkendelsegMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = Sandt'Gør SMTP -godkendelse aktiveret = sand (1)gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1'Indstil SMTP -server og portoplysningergMail.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'Indstil dit brugernavn og din adgangskode til din egen gmail -konto hergMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/sendusername") = "[email protected]"gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "*********"'Opdater konfigurationsfelternegMail.Configuration.Fields.Update

Når det er gjort, kan du oprette din e -mail og fuldføre funktionen.

123456789 'indstil e -mail -egenskaberne og den fil, der skal sendesMed gMail .Subject = "Skriv emne her".From = "[email protected]".To = strTo.TextBody = strBodyAfslut med'for at sende mailengMail.SendAfslut funktion

Du kan derefter kalde din funktion med følgende kode

1234567 Sub SendEmail'opret e -mailens brødtekstDim strText som strengstrText = "Godmorgen. Håber du har det godt - dette er en test -e -mail"'udfyld funktionens argumenter - lad CC stå tomt, så sæt et komma som en pladsholderCreateEmail ("[email protected]", "Test Email",, strText)Afslut sub

Afsendelse af en projektmappe via GMail

For at sende en projektmappe som en vedhæftet fil via GMail kan du oprette en funktion, der ligner den ovenstående med et par tilføjelser.

Du skal tilføje kode for at vælge projektmappen, og derefter skal du vedhæfte den valgte fil til e -mailen.

Vi vil bruge Microsoft Office FileDialog kommando for at vælge den fil, der skal sendes, og brug derefter Tilføj vedhæftet fil e -mailens egenskab for at tilføje filen som en vedhæftet fil.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 Funktion SendWorkbook (strTo As String, strSubject As String, Valgfri strCC As String, Valgfri strBody As String) Som BooleanVed fejl gå til eh:'opret et CDO -objektDim gMail As CDO.MessageIndstil gMail = Ny CDO.Message'Aktiver SSL -godkendelsegMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = Sandt'Gør SMTP -godkendelse aktiveret = sand (1)gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1'Indstil SMTP -server og portoplysningergMail.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'Indstil dit brugernavn og din adgangskode til din egen gmail -konto hergMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/sendusername") = "[email protected]"gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "*********"'Opdater konfigurationsfelternegMail.Configuration.Fields.Update'vælg den fil, der skal sendes med dialogboksen Microsoft -filDim strFileToSend som strengDim dlgFile As FileDialogDim strItem som variantDim nDlgResult så længeIndstil dlgFile = Application.FileDialog (msoFileDialogFilePicker)'filter kun til excel- og csv -filerdlgFile.Filters.Tilføj "Excel -filer", " *.csv; *.xls; *.xlsx; *.xlsm"nDlgResult = dlgFile.ShowHvis nDlgResult = -1 SåHvis dlgFile.SelectedItems.Count> 0 derefterFor hvert strItem I dlgFile.SelectedItemsstrFileToSend = strItemNæste strItemAfslut HvisAfslut Hvis'indstil e -mail -egenskaberne og den fil, der skal sendesMed gMail.Subject = "Skriv emne her".From = "[email protected]".To = strTo.TextBody = strBody'tilføj den valgte fil som en vedhæftet fil.AddAttachment strFileToSendAfslut med'for at sende mailengMail.SendSendWorkbook = SandtAfslut funktioneh:SendWorkbook = FalskAfslut funktion

Hvis konfigurationsporten 25 ikke virker, får du muligvis en fejl - “Transporten kunne ikke oprette forbindelse til serveren” Skift porten til 25, og prøv igen.

Funktionen ovenfor kan kaldes ved hjælp af nedenstående procedure.

123456789101112131415 Sub SendMail ()Dim strTo Som strengDim strSubject As StringDim strBody As String'udfyld variablerstrTo = "[email protected]"strSubject = "Find vedhæftet finansfil"strBody = "noget tekst går her til e -mailens brødtekst"'ring til funktionen for at sende e -mailenHvis SendWorkbook (strTo, strSubject,, strBody) = sandt derefterMsgbox "Oprettelse af e -mail lykkedes"AndetMsgbox "Oprettelse af e -mail mislykkedes!"Afslut HvisAfslut Sub

Du bliver bedt om at vælge den fil, du vil sende. Denne kode er begrænset til Excel -filer, fordi filteret er "*.csv; *.xls; *.xlsx; *.xlsm ” - du kan dog også bruge denne kode i Word og ændre dit filter i overensstemmelse hermed.

Vælg filen, og klik på Åbn. Koden kan tage lang tid at køre - hvis din mail er sendt med succes, får du følgende besked.

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave