VBA Надсилання електронних листів з Excel через Gmail

Цей підручник покаже вам, як надсилати електронні листи з Excel через Gmail за допомогою VBA.

Додавання довідки Microsoft CDO

Щоб дозволити програмі Excel надсилати електронну пошту через Gmail, спочатку потрібно додати бібліотеку посилань CDO до свого проекту Excel.

У редакторі VBA натисніть Інструменти, Посилання.

Знайдіть посилання Microsoft CDO і натисніть OK.

Надсилання електронного листа за допомогою GMail

Щоб надіслати електронний лист із Excel через Gmail, спочатку потрібно оголосити об’єкт CDO (Затемнити gMail як CDO.Message).

По -друге, вам потрібно буде налаштувати автентифікацію SSL для вашого повідомлення у вашому коді. Це означає, що вам потрібно налаштувати SMTP -сервер та інформацію про порт, щоб ваша електронна пошта працювала належним чином, а також встановити своє ім’я користувача та пароль.

У фрагменті коду нижче це те, що вам знадобиться на початку вашої функції Excel. Вам потрібен одержувач електронної пошти (strTo) і тема (strSubject), але CC і текст листа можуть бути необов'язковими змінами.

12345678910111213141516171819202122232425262728 Функція CreateEmail (strTo As String, strSubject As String, Optional strCC As String, Optional strBody As String)'створити об'єкт CDOЗатемнити gMail як CDO.MessageВстановити gMail = Новий CDO.Message'Увімкнути аутентифікацію SSLgMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = Істина'Зробити увімкнено автентифікацію SMTP = true (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"Тут встановіть своє ім'я користувача та пароль для власного облікового запису GmailgMail.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 команду, щоб вибрати файл для надсилання, а потім скористайтеся AddAttachment властивість електронної пошти додавати файл як вкладення.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 Функція SendWorkbook (strTo As String, strSubject As String, Optional strCC As String, Optional strBody As String) Як BooleanПри помилці перейти:'створити об'єкт CDOЗатемнити gMail як CDO.MessageВстановити gMail = Новий CDO.Message'Увімкнути аутентифікацію SSLgMail.Configuration.Fields.Item _("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = Істина'Зробити увімкнено автентифікацію SMTP = true (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"Тут встановіть своє ім'я користувача та пароль для власного облікового запису GmailgMail.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'виберіть файл для надсилання у діалоговому вікні файлу MicrosoftЗатемнити strFileToSend As StringЗатемнити dlgFile як FileDialogЗатемнити strItem як варіантDim nDlgResult As LongВстановити dlgFile = Application.FileDialog (msoFileDialogFilePicker)'фільтр тільки для файлів Excel і CSVdlgFile.Filters.Add "Файли Excel", " *.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 = НеправдаФункція завершення

Якщо порт конфігурації 25 не працює, ви можете отримати помилку - "Транспорт не вдалося підключитися до сервера" Змініть порт на 25 і повторіть спробу.

Наведену вище функцію можна викликати за допомогою наведеної нижче процедури.

123456789101112131415 Sub SendMail ()Dim strTo As StringЗатемнити strSubject As StringDim strBody As String'заповнювати змінніstrTo = "[email protected]"strSubject = "Будь ласка, знайдіть прикріплений фінансовий файл"strBody = "сюди надходить деякий текст"'виклик функції, щоб надіслати електронний листЯкщо SendWorkbook (strTo, strSubject,, strBody) = true, тоПовідомлення "Успіх створення електронної пошти"ІнакшеMsgbox "Не вдалося створити електронну пошту!"Закінчити, якщоEnd Sub

Вам буде запропоновано вибрати файл, який потрібно надіслати. Цей код обмежений файлами Excel через фільтр “*.csv; *.xls; *.xlsx; *.xlsm ” - однак, ви також можете використовувати цей код у програмі Word і відповідно змінювати фільтр.

Виберіть файл і натисніть Відкрити. Код може зайняти деякий час для запуску - якщо ваша пошта надіслана успішно, ви отримаєте таке повідомлення.

Ви допоможете розвитку сайту, поділившись сторінкою з друзями

wave wave wave wave wave