Tento tutoriál vám ukáže, jak odesílat e -maily z Excelu přes Gmail pomocí VBA.
Přidání Microsoft CDO Reference
Chcete -li povolit aplikaci Excel odesílat e -maily prostřednictvím služby Gmail, musíte do projektu aplikace Excel nejprve přidat referenční knihovnu CDO.
V editoru VBA klikněte na Nástroje, Reference.
Vyhledejte Microsoft CDO Reference a klikněte na OK.
Odeslání e -mailu přes GMail
Chcete -li odeslat e -mail z aplikace Excel přes Gmail, musíte nejprve deklarovat objekt CDO (Dim gMail as CDO.Message).
Za druhé, budete muset ve svém kódu nakonfigurovat ověřování SSL pro vaši zprávu. To znamená, že musíte nastavit SMTP server a podrobnosti o portu, aby váš e -mail prošel správně, a také nastavit své uživatelské jméno a heslo.
V níže uvedeném fragmentu kódu byste to potřebovali na začátku funkce Excelu. Potřebujete příjemce e -mailu (strTo) a předmět (strSubject), ale CC a tělo e -mailu mohou být volitelné proměnné.
12345678910111213141516171819202122232425262728 | Funkce CreateEmail (strTo jako řetězec, strSubject jako řetězec, volitelný strCC jako řetězec, volitelný strBody jako řetězec)'vytvořte objekt CDODim gMail As CDO.MessageNastavit gMail = New CDO.Message'Povolit ověřování SSLgMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True'Povolit ověřování SMTP povoleno = true (1)gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1'Nastavte podrobnosti o SMTP serveru a portu.'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„Zde zadejte své uživatelské jméno a heslo pro svůj vlastní účet GmailgMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/sendusername") = "[email protected]"gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "*********"'Aktualizujte konfigurační polegMail.Configuration.Fields.Update |
Jakmile to bude hotové, můžete vytvořit svůj e -mail a dokončit funkci.
123456789 | 'nastavte vlastnosti e -mailu a soubor k odeslání.'S gMail .Subject = "Sem napište předmět".From = "[email protected]".To = strTo.TextBody = strBodyKonec s'poslat poštugMail.SendKoncová funkce |
Svou funkci pak můžete zavolat pomocí následujícího kódu
1234567 | Sub OdeslatE -mail'vytvořte tělo e -mailu.'Dim strText jako řetězecstrText = "Dobré ráno. Doufám, že se máte dobře - toto je testovací e -mail"'vyplňte argumenty funkce - ponechte CC prázdné, takže jako zástupný symbol vložte čárkuCreateEmail ("[email protected]", "Test Email",, strText)Konec sub |
Odeslání sešitu přes GMail
Chcete -li poslat sešit jako přílohu prostřednictvím GMail, můžete vytvořit funkci velmi podobnou té výše uvedené s několika dodatky.
Chcete -li sešit vybrat, musíte přidat kód a poté musíte vybraný soubor připojit k e -mailu.
Budeme používat Microsoft Office FileDialog vyberte soubor k odeslání a poté použijte Přidat přílohu vlastnost e -mailu přidat soubor jako přílohu.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 | Funkce SendWorkbook (strTo As String, strSubject As String, Optional strCC As String, Optional strBody As String) As BooleanPři chybě přejděte na:'vytvořte objekt CDODim gMail As CDO.MessageNastavit gMail = New CDO.Message'Povolit ověřování SSLgMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True'Povolit ověřování SMTP povoleno = true (1)gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1'Nastavte podrobnosti o SMTP serveru a portu.'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„Zde zadejte své uživatelské jméno a heslo pro svůj vlastní účet GmailgMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/sendusername") = "[email protected]"gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "*********"'Aktualizujte konfigurační polegMail.Configuration.Fields.Update'vyberte soubor, který chcete odeslat, v dialogovém okně souboru MicrosoftDim strFileToSend As StringDim dlgFile As FileDialogDim strItem As VariantDim nDlgVýsledek jako dlouhýNastavit dlgFile = Application.FileDialog (msoFileDialogFilePicker)'filtr pouze pro soubory aplikace Excel a CSVdlgFile.Filters.Add "Excel Files", " *.csv; *.xls; *.xlsx; *.xlsm"nDlgResult = dlgFile.ShowPokud nDlgResult = -1 PakPokud dlgFile.SelectedItems.Count> 0 PakPro každý strItem v dlgFile.SelectedItemsstrFileToSend = strItemDalší strItemKonec IfKonec If'nastavte vlastnosti e -mailu a soubor k odeslání.'S gMail.Subject = "Sem napište předmět".From = "[email protected]".To = strTo.TextBody = strBody'přidat vybraný soubor jako přílohu.AddAttachment strFileToSendKonec s'poslat poštugMail.SendSendWorkbook = TrueFunkce ukončeníaha:SendWorkbook = FalseKoncová funkce |
Pokud konfigurační port 25 nefunguje, může se zobrazit chyba - „Transport se nepodařilo připojit k serveru“ Změňte port na 25 a zkuste to znovu.
Výše uvedenou funkci lze vyvolat pomocí níže uvedeného postupu.
123456789101112131415 | Sub SendMail ()Dim strTo As StringDim strSubject jako řetězecDim strBody As String'naplňte proměnnéstrTo = "[email protected]"strSubject = "V příloze naleznete finanční soubor"strBody = "sem patří text pro tělo e -mailu"'zavoláním funkce odešlete e -mailPokud SendWorkbook (strTo, strSubject,, strBody) = true pakMsgbox „Úspěšné vytvoření e -mailu“JinýMsgbox "Vytvoření e -mailu se nezdařilo!"Konec pokudEnd Sub |
Budete požádáni, abyste vybrali soubor, který chcete odeslat. Tento kód je omezen na soubory aplikace Excel kvůli filtru „*.csv; *.xls; *.xlsx; *.xlsm “ - tento kód však můžete použít i ve Wordu a podle toho upravit svůj filtr.
Vyberte soubor a klikněte na Otevřít. Spuštění kódu může chvíli trvat - pokud je vaše pošta úspěšně odeslána, zobrazí se následující zpráva.