Страницы: 1
RSS
Рассылка данных с Excel через Outlook, автоматическая рассылка данных с Excel через Outlook по заданным параметрам
 
Подскажите пожалуйста, реально ли реализовать автоматическую рассылку данных с Excel через Outlook, по заданным параметрам?
Прикрепляю файл "Пример".
Нужно чтоб при значении в ячейках "C36", "G36", "I36" и "K36", болше 1000, автоматически (при сохранении документа) создавалось электронное письмо с определенными получателями, темой и текстом в котором указаны значения из сохраненой вкладки документа и ячеек  "C36", "G36", "I36" и "K36".
И после создания письмо само отправляется.
 
Ссылка1
Ссылка2
Ссылка3
 
Это не то.
Можно сделать как я описал, или нет?
 
Первую часть сделайте сами, это примитивная задача.

Считаю, что основное в этой теме, это код отправки письма. С ним помогу.
Вот скрипт отправки письма, в текст засовываете данные, в соответствующие поля адресатов и.т.д.
Также пример добавления вложения.
sSignTxt - подпись
sBodyTxt  - тело письма

Код
Dim OEmail, KEmail As String
Set objOL = CreateObject("Outlook.Application")
Set objmail = objOL.CreateItem(0)
With objmail
.SentOnBehalfOfName = "Профиль Ваш в Аутлуке"
.To = OEmail & "xxx@mail.ru"
.CC = KEmail & "yyy@mail.ru"
.Body = sBodyTxt & sSignTxt
.Subject = " Отчёт за " & Format(Now, "DD.MM.YYYY")
.Attachments.Add "E:\Screens\Screen_1.png"
.Display
' .Send - это чтобы сразу отправить
Изменено: ProFessor - 13.04.2018 16:57:09
Вся проблема сложных программ, целых томов кодов и состоит в несоблюдении принципа лезвия Оккама: «Не следует множить сущее без необходимости». Вся гениальность в простоте.
 
ProFessor, спасибо. Только для меня и первая часть сложно. Я пока не понимаю как это сделать. Помогите пожалуйста, прикрутить это к файлу примера.
 
Попробовал первую часть сам сделать, но ни как не получается. Можете помочь?
 
Этот код вставляешь добавляешь в "Эта книга". Это первая часть. Объединив их получите сам код.
P.S. Если не удаётся объединить, то не мучайте себя и заплатите ребятам рублей 200 в разделе работа, они за пару минут Вам это соберут.


Код
Private Sub Workbook_AfterSave(ByVal Success As Boolean)

If Success Then
            If CDbl(ThisWorkbook.Sheets("Лист1").Range("C36")) > 1000 And _
            CDbl(ThisWorkbook.Sheets("Лист1").Range("G36")) > 1000 And _
            CDbl(ThisWorkbook.Sheets("Лист1").Range("I36")) > 1000 And _
            CDbl(ThisWorkbook.Sheets("Лист1").Range("K36")) > 1000 Then
                       ' Формируем письмо
            End If
End If

End Sub
Изменено: ProFessor - 16.04.2018 08:51:10
Вся проблема сложных программ, целых томов кодов и состоит в несоблюдении принципа лезвия Оккама: «Не следует множить сущее без необходимости». Вся гениальность в простоте.
Страницы: 1
Наверх