VBA E-mails verzenden vanuit Excel via Gmail

Deze tutorial laat je zien hoe je e-mails kunt verzenden vanuit Excel via Gmail met VBA.

De Microsoft CDO-referentie toevoegen

Om Excel in staat te stellen e-mail te verzenden via Gmail, moet u eerst de CDO-referentiebibliotheek toevoegen aan uw Excel-project.

Klik in de VBA-editor op Tools, References.

Zoek naar de Microsoft CDO Reference en klik op OK.

Een e-mail verzenden via Gmail

Om een ​​e-mail vanuit Excel via Gmail te verzenden, moet u eerst een CDO-object declareren (Dim gMail als CDO.Message).

Ten tweede moet u de SSL-authenticatie voor uw bericht in uw code configureren. Dit betekent dat u de SMTP-server en poortgegevens moet instellen om uw e-mail correct te laten verlopen, evenals uw gebruikersnaam en wachtwoord.

In het onderstaande codefragment hebt u dit nodig aan het begin van uw Excel-functie. U hebt een e-mailontvanger (strTo) en een onderwerp (strSubject) nodig, maar de CC en de hoofdtekst van de e-mail kunnen optionele variabelen zijn.

12345678910111213141516171819202122232425262728 Functie CreateEmail (strTo As String, strSubject As String, Optioneel strCC As String, Optioneel strBody As String)'maak een CDO-object'Dim gMail als CDO.MessageStel gMail = Nieuw CDO.Bericht in'SSL-authenticatie inschakelen'gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = Waar'Maak SMTP-authenticatie ingeschakeld=true (1)gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1'Stel de SMTP-server en poortdetails in'gMail.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'Stel hier uw gebruikersnaam en wachtwoord voor uw eigen gmail-account ingMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/sendusername") = "[email protected]"gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "*********"'Update de configuratievelden'gMail.Configuration.Fields.Update

Zodra dat is gebeurd, kunt u uw e-mail maken en de functie voltooien.

123456789 'stel de e-maileigenschappen en het te verzenden bestand in'Met gMail .Subject = "Schrijf hier onderwerp".Van = "[email protected]".To = strTo.TextBody = strBodyEindigt met'om de post te verzenden'gMail.VerzendenFunctie beëindigen

U kunt dan uw functie aanroepen met de volgende code:

1234567 Sub VerzendenE-mail'maak de hoofdtekst van de e-mail'Dim strTekst als tekenreeksstrText = "Goedemorgen. Ik hoop dat het goed met je gaat - dit is een test-e-mail"'vul de argumenten van de functie in - laat CC leeg, dus plaats een komma als tijdelijke aanduiding'CreateEmail("[email protected]", "Test-e-mail", , strText)Einde sub

Een werkmap verzenden via Gmail

Om een ​​werkmap als bijlage via GMail te verzenden, kunt u een functie maken die lijkt op de bovenstaande met een paar toevoegingen.

U moet code toevoegen om de werkmap te selecteren en vervolgens moet u het geselecteerde bestand bij de e-mail voegen.

We zullen het Microsoft Office gebruiken BestandDialog opdracht om het te verzenden bestand te selecteren en gebruik vervolgens de Voeg bijlage toe eigenschap van de e-mail om het bestand als bijlage toe te voegen.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 Functie SendWorkbook (strTo As String, strSubject As String, Optioneel strCC As String, Optioneel strBody As String) As BooleanOp fout ga naar eh:'maak een CDO-object'Dim gMail als CDO.MessageStel gMail = Nieuw CDO.Bericht in'SSL-authenticatie inschakelen'gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = Waar'Maak SMTP-authenticatie ingeschakeld=true (1)gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1'Stel de SMTP-server en poortdetails in'gMail.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'Stel hier uw gebruikersnaam en wachtwoord voor uw eigen gmail-account ingMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/sendusername") = "[email protected]"gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "*********"'Update de configuratievelden'gMail.Configuration.Fields.Update'selecteer het bestand om te verzenden met het Microsoft-bestandsdialoogvenster'Dim strFileToSend As StringDim dlgFile As FileDialogDim strItem als variantDim nDlgResultaat zo langStel dlgFile = Application.FileDialog (msoFileDialogFilePicker) in'filter alleen voor Excel- en csv-bestanden'dlgFile.Filters.Add "Excel-bestanden", "*.csv; *.xls; *.xlsx; *.xlsm"nDlgResult = dlgFile.ShowAls nDlgResult = -1 DanAls dlgFile.SelectedItems.Count > 0 DanVoor elk strItem in dlgFile.SelectedItemsstrFileToSend = strItemVolgende strItemStop alsStop als'stel de e-maileigenschappen en het te verzenden bestand in'Met gMail.Subject = "Schrijf hier het onderwerp".Van = "[email protected]".To = strTo.TextBody = strBody'voeg het geselecteerde bestand toe als bijlage'.Bijlage toevoegen strFileToSendEindigt met'om de post te verzenden'gMail.VerzendenSendWorkbook= TrueFunctie verlateneh:SendWorkbook = FalseFunctie beëindigen

Als de configuratiepoort 25 niet werkt, krijgt u mogelijk een foutmelding - "Het transport kon geen verbinding maken met de server" Verander de poort in 25 en probeer het opnieuw.

De bovenstaande functie kan worden aangeroepen met behulp van de onderstaande procedure.

123456789101112131415 Sub SendMail()Dim strTo As StringDim strOnderwerp als tekenreeksDim strBody As String'variabelen invullen'strTo = "[email protected]"strSubject = "Gelieve het financiële bestand bijgevoegd te vinden"strBody = "hier komt wat tekst voor de hoofdtekst van de e-mail"'roep de functie aan om de e-mail te verzenden'Als SendWorkbook(strTo, strSubject, , strBody) = true danMsgbox "E-mail aanmaken gelukt"AndersMsgbox "Aanmaken van e-mail mislukt!"Stop alsEinde sub

U wordt gevraagd het bestand te selecteren dat u wilt verzenden. Deze code is beperkt tot Excel-bestanden omdat het filter "*.csv; *.xls; *.xlsx; *.xlsm” - u kunt deze code echter ook binnen Word gebruiken en uw filter dienovereenkomstig aanpassen.

Selecteer het bestand en klik op Openen. Het kan even duren voordat de code is uitgevoerd - als uw e-mail succesvol is verzonden, krijgt u het volgende bericht.

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave