VBA Skicka e -post från Excel via Gmail

Denna handledning visar dig hur du skickar e -post från Excel via Gmail med VBA.

Lägger till Microsoft CDO -referens

För att Excel ska kunna skicka e -post via Gmail måste du först lägga till CDO -referensbiblioteket i ditt Excel -projekt.

Klicka på Verktyg, referenser i VBA -redigeraren.

Sök efter Microsoft CDO -referensen och klicka på OK.

Skicka ett e -postmeddelande via GMail

För att skicka ett e -postmeddelande från Excel via Gmail måste du först deklarera ett CDO -objekt (Dim gMail som CDO.Message).

För det andra måste du konfigurera SSL -autentisering för ditt meddelande i din kod. Det betyder att du måste ställa in SMTP -server och portinformation för att din e -post ska gå igenom korrekt, samt konfigurera ditt användarnamn och lösenord.

I kodavsnittet nedan är det här du skulle behöva i början av din Excel -funktion. Du behöver en e -postmottagare (strTo) och ett ämne (strSubject) men CC och e -postadressen kan vara valfria variabler.

12345678910111213141516171819202122232425262728 Funktion CreateEmail (strTo As String, strSubject As String, Valfri strCC As String, Valfri strBody As String)'skapa ett CDO -objektDim gMail As CDO.MessageStäll in gMail = Ny CDO.Message'Aktivera SSL -autentiseringgMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = Sant'Gör SMTP -autentisering aktiverad = true (1)gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1'Ställ in SMTP -server och portinformationgMail.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'Ange ditt användarnamn och lösenord för ditt eget gmail -konto härgMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/sendusername") = "[email protected]"gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "*********"'Uppdatera konfigurationsfältengMail.Configuration.Fields.Update

När det är klart kan du skapa din e -post och slutföra funktionen.

123456789 'ställ in e -postegenskaperna och filen som ska skickasMed gMail .Subject = "Skriv ämne här".From = "[email protected]".To = strTo.TextBody = strBodySluta med'för att skicka postengMail.SkickaAvsluta funktion

Du kan sedan ringa din funktion med följande kod

1234567 Sub SendEmail'skapa e -postmeddelandetDim strText som strängstrText = "God morgon. Hoppas att du mår bra - det här är ett testmeddelande"'fyll i argumenten för funktionen - lämna CC tomt så sätt ett komma som en platshållareCreateEmail ("[email protected]", "Test Email",, strText)Avsluta sub

Skickar en arbetsbok via GMail

För att skicka en arbetsbok som bilaga via GMail kan du skapa en funktion ungefär som den ovan med några tillägg.

Du måste lägga till kod för att välja arbetsboken, och sedan måste du bifoga den valda filen till e -postmeddelandet.

Vi kommer att använda Microsoft Office FileDialog kommandot för att välja filen som ska skickas och använd sedan Bifoga fil egenskapen för e -postmeddelandet för att lägga till filen som bilaga.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 Funktion SendWorkbook (strTo As String, strSubject As String, Valfri strCC As String, Valfri strBody As String) Som BooleanVid fel, gå till eh:'skapa ett CDO -objektDim gMail As CDO.MessageStäll in gMail = Ny CDO.Message'Aktivera SSL -autentiseringgMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = Sant'Gör SMTP -autentisering aktiverad = true (1)gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1'Ställ in SMTP -server och portinformationgMail.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'Ange ditt användarnamn och lösenord för ditt eget gmail -konto härgMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/sendusername") = "[email protected]"gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "*********"'Uppdatera konfigurationsfältengMail.Configuration.Fields.Update'välj filen som ska skickas med dialogrutan Microsoft -filDim strFileToSend som strängDim dlgFile As FileDialogDim strItem som variantDim nDlgResult så längeAnge dlgFile = Application.FileDialog (msoFileDialogFilePicker)'filter endast för excel- och csv -filerdlgFile.Filters.Lägg till "Excel -filer", " *.csv; *.xls; *.xlsx; *.xlsm"nDlgResult = dlgFile.ShowOm nDlgResult = -1 DåOm dlgFile.SelectedItems.Count> 0 DåFör varje strItem i dlgFile.SelectedItemsstrFileToSend = strItemNästa stegAvsluta omAvsluta om'ställ in e -postegenskaperna och filen som ska skickasMed gMail.Subject = "Skriv ämne här".From = "[email protected]".To = strTo.TextBody = strBody'lägg till den valda filen som en bilaga.AddAttachment strFileToSendSluta med'för att skicka postengMail.SkickaSendWorkbook = TrueAvsluta funktionva:SendWorkbook = FalsktAvsluta funktion

Om konfigurationsporten 25 inte fungerar kan du få ett fel - ”Transporten kunde inte ansluta till servern” Ändra porten till 25 och försök igen.

Funktionen ovan kan kallas med proceduren nedan.

123456789101112131415 Sub SendMail ()Dim strTo Som strängDim strSubject As StringDim strBody As String'fylla i variablerstrTo = "[email protected]"strSubject = "Hitta en finansfil bifogad"strBody = "lite text går här för e -postens brödtext"'ring funktionen för att skicka e -postmeddelandetOm SendWorkbook (strTo, strSubject,, strBody) = true dåMsgbox "Skapande av e -post lyckades"AnnanMsgbox "Skapandet av e -post misslyckades!"Avsluta omAvsluta Sub

Du kommer att bli ombedd att välja den fil du vill skicka. Denna kod är begränsad till Excel -filer på grund av att filtret är "*.csv; *.xls; *.xlsx; *.xlsm ” - men du kan också använda den här koden i Word och ändra ditt filter därefter.

Markera filen och klicka på Öppna. Koden kan ta en stund att köra - om du skickar ett e -postmeddelande får du följande meddelande.

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave