VBA Изпращане на имейли от Excel чрез Gmail

Този урок ще ви покаже как да изпращате имейли от 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 и съответно да промените филтъра си.

Изберете файла и щракнете върху Отваряне. Кодът може да отнеме известно време, за да се изпълни - ако пощата ви бъде изпратена успешно, ще получите следното съобщение.

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave