Всем привет. Прошу Вашей помощи в решении такой задачи:
В таблице присутствуют названия организаций, а напротив текстовое значение в зависимости от времени - это либо Опоздание, либо Вовремя. Необходимо, чтобы при значении Опоздание автоматически высылалось письмо человеку/
Думая над этой проблемой, логически додуманы несколько проблем: - хотелось бы, чтобы макрос срабатывал автоматически при открытии файла excel, но в связи с этим возникает проблема, что необходимо сделать какой-нибудь счетчик, может быть, чтобы не отправлялось кучу писем каждый раз
-У каждого есть своя почта. Возможно нужно как-то присвоить данным ячейкам почты людей, в зависимости от того, кто там записан, чтобы макрос знал кому надо отправлять письмо (человек ответственный за транспортную компанию)?
Код
Option Explicit
Sub Send_Mail()
Dim objOutlookApp As Object, objMail As Object
Dim sTo As String, sSubject As String, sBody As String, sAttachment As String
Application.ScreenUpdating = False
On Error Resume Next
Set objOutlookApp = GetObject(, "Outlook.Application")
Err.Clear
If objOutlookApp Is Nothing Then
Set objOutlookApp = CreateObject("Outlook.Application")
End If
objOutlookApp.Session.Logon
Set objMail = objOutlookApp.CreateItem(0)
If Err.Number <> 0 Then Set objOutlookApp = Nothing: Set objMail = Nothing: Exit Sub
sTo = "AddressTo@mail.ru"
sSubject = "Автоотправка"
sBody = "Привет от Excel-VBA"
sAttachment = "C:\Temp\Книга1.xls"
With objMail
.To = sTo
.CC = ""
.BCC = ""
.Subject = sSubject
.Body = sBody
'.HTMLBody = sBody
.Attachments.Add sAttachment
.Send 'Display
End With
Set objOutlookApp = Nothing: Set objMail = Nothing
Application.ScreenUpdating = True
End Sub
- хотелось бы, чтобы макрос срабатывал автоматически при открытии файла excel, но в связи с этим возникает проблема, что необходимо сделать какой-нибудь счетчик, может быть, чтобы не отправлялось кучу писем каждый раз
-У каждого есть своя почта. Возможно нужно как-то присвоить данным ячейкам почты людей, в зависимости от того, кто там записан, чтобы макрос знал кому надо отправлять письмо (человек ответственный за транспортную компанию)?
автоматически высылалось письмо человеку
Макрос предоставленный мной, делаю пересылку только 1 получателю, который указан мной, и определенной ячейки. а мне нужно, что бы макрос определял автоматически по значению и желательно делал все, что написано выше, но увы не знаю как это осуществить.... )
bladerrr1,создайте лист с фамилиями и адресами электрической почты главное чтобы фамилии на листе с адресами были написаны так же как и на листе с итогами Никакой счётчик не нужен, наоборот нужно будет немного притормозить если письмо без вложений, так же нужен признак - отправлено письмо или нет.этому адресату. Ну и желательна возможность ручной отправки конкретному получателю независимо от признака.
bladerrr1 написал: У каждого есть своя почта. Возможно нужно как-то присвоить данным ячейкам почты людей, в зависимости от того, кто там записан
вот там же, где Вы взяли этот код есть так же код массовой рассылки с забором адресов из ячеек. Но в Вашем файле нет даже намека на какие-то адреса для отправки. Поэтому совершенно неясно какой помощи ожидаете в этом случае. найти почту по фамилии в интернете? Создайте нормальный список рассылки(без применения сводных) и все будет проще. Для авторассылки при открытии файла можно использовать событие в ЭтаКнига - Workbook_Open.
test1@mail.ru test2@mail.ru test3@mail.ru Можно взять для примера Без сводных таблиц не получится ибо оттуда берутся показатели основные. К тому же мне нужен отбор, по определенному значению, а там способ такой не показан....
Для примера можно взять что угодно. Вы скажите где хранятся адреса? В каком диапазоне ячеек и каким получателям они соответствуют. Сделайте что-то вроде: Столбец А Столбец В Иванов test1@mail.ru Петров test2@mail.ru Сидоров test3@mail.ru
bladerrr1 написал: файл сразу становится большим весом, если Вам не сложно скопируйте с одного в другой пжлста.
Если я вставлю лист с адресами и вес файла превысит предельный размер для примера, то как я выложу его сюда?
У Вас в файле мульён скрытых листов. Для примера они не нужны. Оставьте один-два с которых подтянутся данные за пару дней. Сохраните файл в двоичном формате (xlsb) - размер будет существенно меньше.
Кроме создания страницы соответствия Организация - E-mail объясните по какому принципу должны формироваться поля тема, текст и вложение. В Вашем макросе Вы вставляете эти значения вручную, но при автоматической отправке нужно знать по какому принципу Вы их заполняете.