Отправка отчетов по электронной почте

Несмотря на широкую распростаненность и популярность Excel отправка электронных писем из него весьма не типична и не удобна. Без MS Outlook очень ограниченна. Есть некоторые устаревшие методы полноценной отправки, правда они не оставляют копий таких писем, требуют указания в коде программы личных данных почты и паролей, что может быть небезопасно. Поэтому рассмотрим только один подходящий пример отправки письма через используемый нами Mozilla Thunderbird (в VBA нет понятия почтового клиента по умолчанию в отличие от OOO, поэтому отправка из него настолько затруднена).

Sub SMail()
Dim addrRassl
' Пишем адрес, на который хотим отправить, можно указать несколько через массив или 'оставить поле пустым
addrRassl = "example@mail.ru"
Dim oShell
Dim oThisBook As Workbook
Set oThisBook = ThisWorkbook
'Определяем полный адрес вызова программы почтового клиента
'На вашем компьютере (в вашей системе) он может быть другим
' Указываем тему сообщения с текущей датой и делаем вложенным текущий документ
oShell = "C:\Program Files (x86)\Mozilla Thunderbird\thunderbird.exe -compose to=" & addrRassl _
& ",subject=""Отчет Не привязанные позиции"" " & Left(Now, 10) & ",body=,attachment='file:///" & oThisBook.FullName & "'"
' Вызываем почтовый клиент
Shell oShell
End Sub

Комментарии

Популярные сообщения из этого блога

Запуск макросов в автоматическом режиме по расписанию

Пакетная обработка отчетов