VBA Send e -post fra Excel via Gmail

Denne opplæringen viser deg hvordan du sender e -post fra Excel via Gmail ved hjelp av VBA.

Legger til Microsoft CDO -referanse

For å la Excel sende e -post via Gmail må du først legge til CDO -referansebiblioteket i Excel -prosjektet.

Klikk på Verktøy, referanser i VBA Editor.

Søk etter Microsoft CDO -referansen, og klikk OK.

Sender en e -post via GMail

For å sende en e -post fra Excel via Gmail må du først deklarere et CDO -objekt (Dim gMail som CDO.Melding).

For det andre må du konfigurere SSL -autentisering for meldingen din i koden din. Dette betyr at du må angi SMTP -server og portdetaljer for at e -posten skal gå riktig gjennom, samt konfigurere brukernavn og passord.

I kodebiten nedenfor er dette det du trenger i begynnelsen av Excel -funksjonen. Du trenger en e -postmottaker (strTo) og et emne (strSubject), men CC og brødteksten i e -posten kan være valgfrie variabler.

12345678910111213141516171819202122232425262728 Funksjon CreateEmail (strTo As String, strSubject As String, Valgfri strCC As String, Valgfri strBody As String)'opprett et CDO -objektDim gMail As CDO.MessageSett gMail = Ny CDO.Message'Aktiver SSL -autentiseringgMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = Sant'Gjør SMTP -godkjenning aktivert = true (1)gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1'Angi SMTP -server og portdetaljergMail.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'Angi brukernavn og passord for 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") = "*********"'Oppdater konfigurasjonsfeltenegMail.Configuration.Fields.Update

Når det er gjort, kan du opprette e -posten din og fullføre funksjonen.

123456789 'angi e -postegenskapene og filen som skal sendesWith gMail .Subject = "Skriv emne her".From = "[email protected]".To = strTo.TextBody = strBodySlutt med'for å sende e -postengMail.SendSluttfunksjon

Du kan deretter ringe funksjonen din med følgende kode

1234567 Send SendE -post'opprett e -postens brødtekstDim strText as stringstrText = "God morgen. Håper du har det bra - dette er en test -e -post"'fyll ut argumentene til funksjonen - la CC stå tom, så sett et komma som plassholderCreateEmail ("[email protected]", "Test Email",, strText)Slutt sub

Sender en arbeidsbok via GMail

For å sende en arbeidsbok som et vedlegg via GMail, kan du opprette en funksjon omtrent som den ovenfor med noen få tillegg.

Du må legge til kode for å velge arbeidsboken, og deretter må du legge ved den valgte filen til e -posten.

Vi bruker Microsoft Office FileDialog kommandoen for å velge filen du vil sende, og bruk deretter Legg til vedlegg egenskapen til e -posten for å legge til filen som vedlegg.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 Funksjon SendWorkbook (strTo As String, strSubject As String, Valgfri strCC As String, Valgfri strBody As String) As BooleanVed feil, gå til eh:'opprett et CDO -objektDim gMail As CDO.MessageSett gMail = Ny CDO.Message'Aktiver SSL -autentiseringgMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = Sant'Gjør SMTP -godkjenning aktivert = true (1)gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1'Angi SMTP -server og portdetaljergMail.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'Angi brukernavn og passord for 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") = "*********"'Oppdater konfigurasjonsfeltenegMail.Configuration.Fields.Update'velg filen du vil sende med dialogboksen Microsoft -filDim strFileToSend som strengDim dlgFile As FileDialogDim strItem As VariantDim nDlgResult så lengeSett dlgFile = Application.FileDialog (msoFileDialogFilePicker)'filter bare for excel- og csv -filerdlgFile.Filters.Legg til "Excel -filer", " *.csv; *.xls; *.xlsx; *.xlsm"nDlgResult = dlgFile.ShowHvis nDlgResult = -1 DaHvis dlgFile.SelectedItems.Count> 0 DaFor hvert strItem I dlgFile.SelectedItemsstrFileToSend = strItemNeste trinnSlutt omSlutt om'angi e -postegenskapene og filen som skal sendesMed gMail.Subject = "Skriv emne her".From = "[email protected]".To = strTo.TextBody = strBody'legg til den valgte filen som et vedlegg.AddAttachment strFileToSendSlutt med'for å sende e -postengMail.SendSendWorkbook = TrueAvslutt funksjoneh:SendWorkbook = FalskSluttfunksjon

Hvis konfigurasjonsporten 25 ikke fungerer, kan du få en feilmelding - “Transporten klarte ikke å koble til serveren” Endre porten til 25 og prøv igjen.

Funksjonen ovenfor kan kalles ved hjelp av prosedyren nedenfor.

123456789101112131415 Sub SendMail ()Dim strTo As StringDim strSubject As StringDim strBody As String'fylle variablerstrTo = "[email protected]"strSubject = "Finn finansfil vedlagt"strBody = "litt tekst går her for e -postens brødtekst"'ring funksjonen for å sende e -postenHvis SendWorkbook (strTo, strSubject,, strBody) = true daMsgbox "Suksess med oppretting av e -post"EllersMsgbox "Opprettelse av e -post mislyktes!"Slutt omSlutt Sub

Du blir bedt om å velge filen du vil sende. Denne koden er begrenset til Excel -filer på grunn av at filteret er "*.csv; *.xls; *.xlsx; *.xlsm ” - men du kan også bruke denne koden i Word og endre filteret deretter.

Velg filen, og klikk på Åpne. Koden kan ta litt tid å kjøre - hvis du har sendt e -posten, får du følgende melding.

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave