Този урок ще ви покаже как да изпращате имейли от Excel чрез Gmail с помощта на VBA.
Добавяне на Microsoft CDO Reference
За да позволите на Excel да изпраща имейл през Gmail, първо трябва да добавите референтната библиотека CDO към вашия Excel проект.
В редактора на VBA щракнете върху Инструменти, Препратки.
Потърсете Microsoft CDO Reference и щракнете върху OK.
Изпращане на имейл чрез GMail
За да изпратите имейл от Excel чрез Gmail, първо трябва да декларирате CDO обект (Затъмнете gMail като CDO.Message).
Второ, ще трябва да конфигурирате SSL удостоверяването за вашето съобщение във вашия код. Това означава, че трябва да настроите SMTP сървър и подробности за порта, за да може електронната ви поща да премине правилно, както и да настроите вашето потребителско име и парола.
В кодовия фрагмент по -долу това е, от което се нуждаете в началото на функцията на Excel. Нуждаете се от получател на имейл (strTo) и тема (strSubject), но CC и тялото на имейла могат да бъдат незадължителни променливи.
12345678910111213141516171819202122232425262728 | Функция CreateEmail (strTo As String, strSubject As String, Незадължително strCC As String, Незадължително strBody As String)'създайте CDO обектЗатъмнете gMail като CDO.MessageЗадайте gMail = Нов CDO.Message„Активиране на SSL удостоверяванеgMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = Вярно„Направете SMTP удостоверяване разрешено = вярно (1)gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1'Задайте подробности за SMTP сървъра и порта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„Задайте вашето потребителско име и парола за собствения си gmail акаунт тукgMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/sendusername") = "[email protected]"gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "*********"'Актуализирайте конфигурационните полетаgMail.Configuration.Fields.Update |
След като това стане, можете да създадете своя имейл и да завършите функцията.
123456789 | 'задайте свойствата на имейла и файла за изпращанеС gMail .Subject = "Пишете тема тук".From = "[email protected]".To = strTo.TextBody = strBodyКрай с', за да изпратите пощатаgMail.SendКрайна функция |
След това можете да извикате функцията си със следния код
1234567 | Sub SendEmail'създайте тялото на имейлаЗатъмнете strText като низstrText = "Добро утро. Надявам се, че сте добре - това е пробен имейл"'попълнете аргументите на функцията - оставете CC празно, така че поставете запетая като заместителCreateEmail ("[email protected]", "Тестов имейл",, strText)Край под |
Изпращане на работна книга чрез GMail
За да изпратите работна книга като прикачен файл чрез GMail, можете да създадете функция, подобна на горната, с няколко допълнения.
Трябва да добавите код, за да изберете работната книга, а след това трябва да прикачите избрания файл към имейла.
Ще използваме Microsoft Office FileDialog команда, за да изберете файла за изпращане и след това използвайте Добави прикачен файл свойството на имейла да добавя файла като прикачен файл.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 | Функция SendWorkbook (strTo As String, strSubject As String, Незадължително strCC As String, Незадължително strBody As String) Като BooleanПри грешка отидете, а:'създайте CDO обектЗатъмнете gMail като CDO.MessageЗадайте gMail = Нов CDO.Message„Активиране на SSL удостоверяванеgMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = Вярно„Направете SMTP удостоверяване разрешено = вярно (1)gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1'Задайте подробности за SMTP сървъра и порта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„Задайте вашето потребителско име и парола за собствения си gmail акаунт тукgMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/sendusername") = "[email protected]"gMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "*********"'Актуализирайте полетата за конфигуриранеgMail.Configuration.Fields.Update'изберете файла за изпращане с диалоговия прозорец на файла на MicrosoftDim strFileToSend As StringDim dlgFile As FileDialogDim strItem As VariantDim nDlgResult As LongЗадайте dlgFile = Application.FileDialog (msoFileDialogFilePicker)'филтър само за excel и csv файловеdlgFile.Filters.Add "Excel Files", " *.csv; *.xls; *.xlsx; *.xlsm"nDlgResult = dlgFile.ShowАко nDlgResult = -1 ТогаваАко dlgFile.SelectedItems.Count> 0 ТогаваЗа всеки strItem в dlgFile.SelectedItemsstrFileToSend = strItemСледваща strItemКрай АкоКрай Ако'задайте свойствата на имейла и файла за изпращанеС gMail.Subject = "Пишете тема тук".From = "[email protected]".To = strTo.TextBody = strBody'добавете избрания файл като прикачен файл.AddAttachment strFileToSendКрай с', за да изпратите пощатаgMail.SendSendWorkbook = ВярноИзлезте от функциятаа:SendWorkbook = FalseКрайна функция |
Ако конфигурационният порт 25 не работи, може да получите грешка - „Транспортът не успя да се свърже със сървъра“ Променете порта на 25 и опитайте отново.
Горната функция може да бъде извикана чрез процедурата по -долу.
123456789101112131415 | Sub SendMail ()Dim strTo As StringDim strSubject As StringDim strBody As String'попълнете променливиstrTo = "[email protected]"strSubject = "Моля, намерете прикачен финансов файл"strBody = "тук има текст за тялото на имейла"'извикайте функцията, за да изпратите имейлаАко SendWorkbook (strTo, strSubject,, strBody) = true тогаваMsgbox „Успех при създаването на имейл“ИначеMsgbox "Създаването на имейл не бе успешно!"Край, акоEnd Sub |
Ще бъдете помолени да изберете файла, който искате да изпратите. Този код е ограничен до Excel файлове поради филтъра „*.csv; *.xls; *.xlsx; *.xlsm ” - обаче можете да използвате този код и в Word и съответно да промените филтъра си.
Изберете файла и щракнете върху Отваряне. Кодът може да отнеме известно време, за да се изпълни - ако пощата ви бъде изпратена успешно, ще получите следното съобщение.