Ez az oktatóanyag megmutatja, hogyan küldhet e -maileket az Excelből a Gmail segítségével a VBA segítségével.
A Microsoft CDO referencia hozzáadása
Ahhoz, hogy az Excel e -mailt küldhessen a Gmailben, először hozzá kell adnia a CDO referenciakönyvtárat az Excel -projekthez.
A VBA szerkesztőben kattintson az Eszközök, referenciák elemre.
Keresse meg a Microsoft CDO -referenciát, majd kattintson az OK gombra.
E -mail küldése GMail -en keresztül
Ha e -mailt szeretne küldeni az Excelből Gmail -en keresztül, először be kell jelentenie egy CDO -objektumot (Dim gMail mint CDO.Message).
Másodszor, konfigurálnia kell az üzenet SSL hitelesítését a kódjában. Ez azt jelenti, hogy be kell állítania az SMTP -kiszolgálót és a port részleteit, hogy az e -mailjei megfelelően menjenek keresztül, valamint be kell állítania felhasználónevét és jelszavát.
Az alábbi kódrészletben erre van szüksége az Excel funkció elején. Szüksége van egy e -mail címzettre (strTo) és egy tárgyra (strSubject), de a CC és az e -mail törzse opcionális változók.
12345678910111213141516171819202122232425262728 | Funkció CreateEmail (strTo As String, strSubject As String, Opcionális strCC String, Opcionális strBody As String)'hozzon létre egy CDO objektumotDim gMail CDO.Message névenSet gMail = New CDO.Message'Engedélyezze az SSL hitelesítéstgMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = Igaz'SMTP hitelesítés engedélyezése = true (1)gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1'Állítsa be az SMTP szerver és a port részleteitgMail.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") = 2Itt állítsa be felhasználónevét és jelszavát saját gmail fiókjáhozgMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/sendusername") = "[email protected]"gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "*********"'Frissítse a konfigurációs mezőketgMail.Configuration.Fields.Frissítés |
Ha ez megtörtént, létrehozhatja e -mail címét, és befejezheti a funkciót.
123456789 | 'állítsa be az e -mail tulajdonságait és a küldendő fájltA gMail .Subject = "Tárgy ide írása" segítségével.From = "[email protected]".To = strTo.TextBody = strBodyVége ezzel'küldeni a leveletgMail.KüldésVége funkció |
Ezután hívhatja funkcióját a következő kóddal
1234567 | Sub SendEmail'hozza létre az e -mail törzsétDim strText karakterlánckéntstrText = "Jó reggelt. Remélem jól vagy - ez egy teszt e -mail"'töltse ki a függvény argumentumait - hagyja üresen a CC -t, és tegyen vesszőt helyőrzőkéntCreateEmail ("[email protected]", "Teszt e -mail",, strText)Vége al |
Munkafüzet küldése GMail -en keresztül
Ha egy munkafüzetet mellékletként szeretne elküldeni a GMail -en keresztül, létrehozhat egy, a fentihez hasonló funkciót néhány kiegészítéssel.
A munkafüzet kiválasztásához kódot kell hozzáadnia, majd csatolnia kell a kiválasztott fájlt az e -mailhez.
Mi a Microsoft Office -t fogjuk használni FileDialog paranccsal válassza ki a küldeni kívánt fájlt, majd használja a AddAttachment az e -mail tulajdonsága, hogy csatolja a fájlt.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 | Funkció SendWorkbook (strTo As String, strSubject As String, Opcionális strCC String, Opcionális strBody As String) BooleanHiba történt:'hozzon létre egy CDO objektumotDim gMail CDO.Message névenSet gMail = New CDO.Message'Engedélyezze az SSL hitelesítéstgMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = Igaz'SMTP hitelesítés engedélyezése = true (1)gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1'Állítsa be az SMTP szerver és a port részleteitgMail.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") = 2Itt állítsa be felhasználónevét és jelszavát saját gmail fiókjáhozgMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/sendusername") = "[email protected]"gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "*********"'Frissítse a konfigurációs mezőketgMail.Configuration.Fields.Frissítés'válassza ki a küldeni kívánt fájlt a Microsoft fájl párbeszédpanelenA strFileToSend karakterlánc halványításaDim dlgFile FileDialog névenDim strItem mint változatDim nDlgResult As LongÁllítsa be a dlgFile = Application.FileDialog (msoFileDialogFilePicker)'szűrő csak excel és csv fájlokhozdlgFile.Filters.Ad "Excel fájlok", " *.csv; *.xls; *.xlsx; *.xlsm"nDlgResult = dlgFile.ShowHa nDlgResult = -1 AkkorHa dlgFile.SelectedItems.Count> 0 AkkorMinden strItem -hez a dlgFile.SelectedItems -banstrFileToSend = strItemKövetkező strItemVége HaVége Ha'állítsa be az e -mail tulajdonságait és a küldendő fájltA gMail segítségével.Subject = "Írja ide a témát".From = "[email protected]".To = strTo.TextBody = strBody'add hozzá a kiválasztott fájlt mellékletként.AddAttachment strFileToSendVége ezzel'küldeni a leveletgMail.KüldésSendWorkbook = IgazKilépés funkcióeh:SendWorkbook = HamisVége funkció |
Ha a 25 -ös konfigurációs port nem működik, akkor hibaüzenetet kaphat - „A szállítás nem tudott csatlakozni a szerverhez” Cserélje ki a portot 25 -re, és próbálja újra.
A fenti funkció az alábbi eljárással hívható meg.
123456789101112131415 | Sub SendMail ()Dim strTo Mint karakterláncDim strSubject karakterlánckéntDim strBody mint karakterlánc'töltse ki a változókatstrTo = "[email protected]"strSubject = "Kérjük, csatolja a pénzügyi fájlt"strBody = "néhány szöveg ide kerül az e -mail törzséhez"'hívja a funkciót az e -mail elküldéséhezHa a SendWorkbook (strTo, strSubject,, strBody) = igaz akkorMsgbox "Sikeres e -mail létrehozás"MásMsgbox "Az e -mail létrehozása sikertelen!"Vége, haEnd Sub |
A rendszer kéri, hogy válassza ki a küldeni kívánt fájlt. Ez a kód az Excel fájlokra korlátozódik, mivel a szűrő „*.csv; *.xls; *.xlsx; *.xlsm ” - ezt a kódot azonban a Wordben is használhatja, és ennek megfelelően módosíthatja a szűrőt.
Válassza ki a fájlt, majd kattintson a Megnyitás gombra. A kód futtatása eltarthat - ha a leveleket sikeresen elküldte, akkor a következő üzenetet kapja.