Найти тему
ExceLifeHack

Отправить письмо из Excel, через Gmail, ЯндексПочта и @mail

Оглавление

Создать интеграцию Microsoft Excel с Outlook, легко, средствами VBA. Можно ли отправлять письма другими почтовыми сервисами? Например, через Gmail, самый популярный в мире почтовый сервис, от Google.

Ответ - можно, используя настройки SMTP, IMAP, POP.

Макросы, приложенные к данной статье дают возможность отправить отдельный лист или книгу с помощью CDO.

CDO является библиотекой объектов, которая предоставляет интерфейс Messaging Application Programming Interface (MAPI), позволяет отправлять и получать сообщения.

Решение для MS Office без Outlook.

Алгоритм подключения макроса

  1. Копируйте код в Личную книгу макросов или в файл своей надстройки;
  2. Добавьте в код адрес нужной почты и пароль:
  • .Item(msConfigURL & "/sendusername") = "ДОБАВЬТЕ ВАШУ ПОЧТУ"
  • .Item(msConfigURL & "/sendpassword") = "ДОБАВЬТЕ ПАРОЛЬ"
  • .From = "ДОБАВЬТЕ ВАШУ ПОЧТУ" ' От кого = username почты

3. Подключите в редакторе VBA (Alt+F11) библиотеку Microsoft CDO для Windows 2000:

-2
Microsoft CDO для Windows 2000
Microsoft CDO для Windows 2000

Код макроса на GitHub

Скачать файл с макросами

Копируйте код на русской раскладке клавиатуры, чтобы сохранить комментарии.

Особенности настройки почты:

Как настроить доступ к Gmail в сторонних почтовых клиентах

Если вы используете двухэтапную проверку, следуйте инструкции:

Пароль при установленной двухэтапной проверке

Разрешение для приложений при установленной двухэтапной проверки
Разрешение для приложений при установленной двухэтапной проверки

А как же наши дорогие Яндекс.Почта и @Mail?

Чтобы их использовать, удалите или закомментируйте в коде макроса строки .Item(msConfigURL & "/smtpserver") кроме:

Яндекс.Картинки
Яндекс.Картинки

.Item(msConfigURL & "/smtpserver") = "smtp.yandex.ru"

 Яндекс.Картинки
Яндекс.Картинки

Item(msConfigURL & "/smtpserver") = "smtp.mail.ru"

В заключение, удобный макрос для открытия почты Gmail из Excel:

Sub ActivateGmail() ' Активация почты Gmail
' Открыть почту
SearchStr = "explorer ""https://mail.google.com/mail/u/0/#inb..."""
Shell SearchStr
Application.Wait Now + TimeValue("00:00:03")
'Создать письмо
SendKeys ("C"), True
End Sub

Чтобы сразу открывалось окно нового сообщения, в настройках включите Быстрые клавиши.

Измените SearchStr = "explorer ""https://mail.google.com/mail/u/0/#inb...""" на ваш почтовый клиент и удалите SendKeys ("C"), True.

Спасибо, что дочитали до конца!

Было полезно? Ставьте лайк, пишите, что думаете в комментариях и подписывайтесь на канал, если еще не сделали этого.

Интересное по теме Excel:

  • Функции Excel: ВПР (вертикальный просмотр)
  • Как переместить строку или столбец в Сводной таблице Excel
  • Как напечатать заголовки таблицы Excel на каждой странице
  • Как отобразить листы в файлах Excel, выгруженных из 1С
  • "Умные" таблицы в Excel
  • Мгновенное заполнение
  • Быстрое перемещение строк и столбцов