Как отправить электронное письмо, если ячейка изменена в Excel, Требуется способ при котором изменение в ячейке Excel приводит к автоматической отправке почтового сообщения в Outlook
Коллеги добрый день Требуется способ при котором происходит автоматическая рассылка почтового сообщения, на заранее указанный адрес, при изменении в определенном диапазоне ячеек. Пример: Журнал работ. 10 работников имеют отдельные страницы в этом журнале. При внесении данных в столбец Задание, в каком либо листе у какого-либо работника ему происходит автоматическая рассылка сообщения на почту работник@работа.ру
В основном на форуме темы подобные этой обсуждают вариант когда письмо отсылается при превышении заданного параметра Вот здесь например. Мне же требуется рассылка если произошло ЛЮБОЕ изменение В ЗАДАННОМ ДИАПАЗОНЕ на листе. При этом рассылка идет именно на тот адрес, который указан у того, для кого предназначен данный лист заданий. Также необходимо, чтобы при внесении на этом же листе изменений в другом диапазоне, Отчет о выполнении, случалась рассылка на другой адрес, на адрес начальства. Пожалуйста, помогите разобраться именно с таким вариантом.
составьте таблицу соответсвия адресов изменяемых ячеек а почтовых адресов получателей уведомления а для отправки используйте макрос (поищите по форуму, несколько сотен раз об этом писали уже)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
написал: составьте таблицу соответсвия адресов изменяемых ячеек а почтовых адресов получателей уведомления а для отправки используйте макрос (поищите по форуму, несколько сотен раз об этом писали уже)
Спасибо за оперативность. Можно ссылочку на тему по такому макросу? Появилась запись - улетело письмо "У вас новое задание"
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [d17]) Is nothing Then SendMail
End Sub
Sub SendMail()
Dim objOL As Object, objMail As Object
Set objOL = CreateObject("Outlook.Application")
Set objMail = objOL.CreateItem(0)
With objMail
.To = "FIO@Domen.com"
.Subject = "Новое задание"
.Body = Format(Now, "DD.MM.YYYY hh:mm:ss"): .Send
End With
Set objMail = Nothing: Set objOL = Nothing
End Sub
все что выше поместите в модуль листа. пользуйтесь)
[URL=#]?[/URL] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Private Sub Worksheet_Change( ByVal Target As Range) If Not Intersect(Target, [d17]) Is nothing Then SendMail End Sub Sub SendMail() Dim objOL As Object , objMail As Object Set objOL = CreateObject( "Outlook.Application" ) Set objMail = objOL.CreateItem(0) With objMail . To = "FIO@Domen.com" .Subject = "Новое задание" .Body = Format(Now, "DD.MM.YYYY hh:mm:ss" ): .Send End With Set objMail = Nothing : Set objOL = Nothing End Sub
все что выше поместите в модуль листа. пользуйтесь)
Спасибо большое. Пожалуйста, подскажите, где здесь отслеживаемый диапазон, в котором произошло изменение, который нужно указывать? Или это то, что в каждом листе нужно просто прописать указывая уникальный емайл? Я понимаю так, что это код автоматической отправки письма? Как таблица соответствия диапазона и почтового адреса связана с этим кодом?
Сергей Голубков написал: Как таблица соответствия диапазона и почтового адреса связана с этим кодом?
таблицы нет в природе или возможно есть, но о ней знаете только вы один. вам на форум экстрасенсов - они напишут код с привязкой к вашей таблице, им даже задачу можно не обьяснять - угадают по факту обращения на их магический форум, а решение вышлют вам на электронный адрес (который тоже не нужно сообщать - там все легко угадывают)
Сергей Голубков написал: Как таблица соответствия диапазона и почтового адреса связана с этим кодом?
таблицы нет в природе или возможно есть, но о ней знаете только вы один. вам на форум экстрасенсов - они напишут код с привязкой к вашей таблице, им даже задачу можно не обьяснять - угадают по факту обращения на их магический форум, а решение вышлют вам на электронный адрес (который тоже не нужно сообщать - там все легко угадывают)
Игорь, понимая ваше раздражение. Я ноль в том, что касается кода в Excel, поэтому прошу прощения за нудность. В первом сообщении прикреплен файл пример таблицы из которой будет происходить рассылка. Адрес электронной почты работник@работа.ру и начальник@работа.ру. По условиям диапазоном являются столбцы Задание - письмо на почту работника и Отчет о выполнении - письмо на почту начальника
это не раздражение, это недоумение перемешанное с удивлением: "не уже-ли не понятно, если неизвестно где находятся данные и как они организованы, то не возможно к ним корректно обратиться, можно только угадать"
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
написал: это не раздражение, это недоумение перемешанное с удивлением: "не уже-ли не понятно, если неизвестно где находятся данные и как они организованы, то не возможно к ним корректно обратиться, можно только угадать"
Да, спасибо за пояснение. Я указал что данные находятся в прикрепленной табличке Пример_Журнал работ, как образец. Что есть 2 диапазона: Задание и Отчет о Выполнении и что есть 2 типа адресов почты работник и начальник.