Форум программистов, компьютерный форум, киберфорум
Наши страницы
VBA
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.52/100: Рейтинг темы: голосов - 100, средняя оценка - 4.52
Erazer
0 / 0 / 0
Регистрация: 26.11.2012
Сообщений: 4
1

Автоматическая отправка e-mail с Excel или с Access

28.10.2008, 11:48. Просмотров 20355. Ответов 10
Метки нет (Все метки)

Друзья помогите решить задачу!!!!!
Есть три колонки:
-список работников
-электронный адрес
-соответственно дни рождения.
Возможно ли написать макрос для автоматического отправления поздравления по соответствующему адресу, если День Рождения у этого работника "сегодня".
Колонка День Рождения сравнивается с =TODAY()
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.10.2008, 11:48
Ответы с готовыми решениями:

Access VBA отправка электронной почты посредствам Thunderbird с указанием исходящего e-mail
Добрый день. Есть код работающий код VBA который отправляет электронку через Thunderbird. Вот...

Отправка SQL кода из Excel в Access
Есть SQL код на обновление определенной строки и надо что-бы в него подставлялись значения в Excel...

Автоматическая отправка писем с формы.
Привет всем. Помогите, плз. Есть следующая проблемма. Необходимо сделать так, чтобы при создании...

Автоматическая отправка E-mail
Всем добрый день. Уважаемые форумчане помогите разобраться. Сделал форму отправки Email. Вот код...

Автоматическая отправка динамического IP на e-mail
Здравствуйте. Мне нужна программа которая посылает динамический IP на почту каждый раз при его...

10
dint
2 / 2 / 1
Регистрация: 23.10.2008
Сообщений: 27
28.10.2008, 13:31 2
возможно прописываешь что надо сравнить с систеным временем компьютера или совпадает отправлешь емаил
0
Erazer
0 / 0 / 0
Регистрация: 26.11.2012
Сообщений: 4
28.10.2008, 14:20 3
Цитата Сообщение от dint Посмотреть сообщение
возможно прописываешь что надо сравнить с систеным временем компьютера или совпадает отправлешь емаил
Спасибо за ответ, но где здесь автоматическая отправка меила?!
С датой понятно, но как зделать чтоб в этот день отправился емеил!?
0
dint
2 / 2 / 1
Регистрация: 23.10.2008
Сообщений: 27
28.10.2008, 22:53 4
у тебя есть какая то база данных где храниться дни рождения... беруться данные из этой базы данных и скажем в 00 00минут каждого нового дня прогонять еться вся база, согласен это очень медленный вариант, можно сделать заделить каждый месяц и получать сперса месяц а потом день это будет по быстрей написать прстую функцию стравнения котора стравние два int числа где береться одно из базы данных а другое системное
0
28.10.2008, 22:53
Erazer
0 / 0 / 0
Регистрация: 26.11.2012
Сообщений: 4
29.10.2008, 18:25 5
Цитата Сообщение от dint Посмотреть сообщение
у тебя есть какая то база данных где храниться дни рождения... беруться данные из этой базы данных и скажем в 00 00минут каждого нового дня прогонять еться вся база, согласен это очень медленный вариант, можно сделать заделить каждый месяц и получать сперса месяц а потом день это будет по быстрей написать прстую функцию стравнения котора стравние два int числа где береться одно из базы данных а другое системное
!!!НАДО ЧТОБИ Access или Excel сам отправлял e-mail если дата совпадает!!!!!
С датой нет проблем. КАК автоотправку сделать?????????
0
Mil
0 / 0 / 0
Регистрация: 09.05.2015
01.11.2008, 18:39 6
Цитата Сообщение от Erazer Посмотреть сообщение
!!!НАДО ЧТОБИ Access или Excel сам отправлял e-mail если дата совпадает!!!!!
С датой нет проблем. КАК автоотправку сделать?????????
Здравствуй,
у меня задача - автоматичесокое создание эл.сообщения из excel (но без отправки),
но я зависла над полем "From...", не знаю как впихнуть нужный адрес в это поле

думаю, если кто-ниб подсказал как это сделать, то настройка на дату отправки - это не проблема...

Application.Dialogs(xlDialogSendMail).Show "адрес", "тема сообщения", True
0
Кнопикс
2 / 2 / 0
Регистрация: 06.11.2008
Сообщений: 10
06.11.2008, 06:02 7
Добрый день
вот примерно набросал Вашу задачу вариантов отправки сообщения несколько, можно конечно использовать OutLook, но проще и быстрее отправлять сообщения средствами библиотеки CDO. Её конечно надо подключить к проекту для начала. Пример для Excel Данные о знакомых хранятся прямо в коде программы, но вариантов куча можно получать откуда хочешь. Для полной автоматизации процесса повесь запуск этой процедуры на событие открытия книги
С Уважением
Кнопикс

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
Public Type Customerlnfo 'пользовательский тип данных для формирования данных о Дне рождения
 
 Name As String * 20
 EmAdr As String * 20
 Txt As String * 15
 BerthDay As Date
 
 End Type
 
Public Const UserKolvo As Integer = 3 'Количество лиц внесённых в Вашу базу
'Вариант получения данных может быть любой хранение на листе Excel
'в базе данных Access в текстовом файле итд
'
 
 Sub AutoPozdrav()
 
Dim i As Integer
Dim PozdrFlag As Boolean
 
Dim UserInfo(UserKolvo) As Customerlnfo 'определям переменную и задаём данные
 
 
UserInfo(1).Name = "Иван Петрович"
UserInfo(1).EmAdr = "IP@mail.ru"
UserInfo(1).BerthDay = #10/1/1962#
UserInfo(1).Txt = "Уважаемый "
 
UserInfo(2).Name = "Максим"
UserInfo(2).EmAdr = "Maks@mail.ru"
UserInfo(2).BerthDay = #3/8/1978#
UserInfo(2).Txt = "Дорогой"
 
UserInfo(3).Name = "Таня"
UserInfo(3).EmAdr = "dmalexeev@mail.ru"
UserInfo(3).BerthDay = #11/6/1982#
UserInfo(3).Txt = "Милая"
 
PozdrFlag = False 'флаг чтоб знать что кого то поздравили
 
'перебираем в цикле всех лиц из базы
'и сравниваем день и месяц их рождения с днём и месяцем текущей даты
For i = 1 To UserKolvo
If Day(UserInfo(i).BerthDay) = Day(Date) And Month(UserInfo(i).BerthDay) = Month(Date) Then '
Call Otpravka(UserInfo(i).Name, UserInfo(i).EmAdr, UserInfo(i).Txt)
PozdrFlag = True
End If
Next i
 
If PozdrFlag = False Then
MsgBox "Сегодня поздравлять некого"
End If
 
End Sub
 
'наиболее простой быстрый вариант отправки сообщений использование библиотеки CDO
'
'
 
 Function Otpravka(Name As String, Adr As String, Text As String)
 
Dim MSG As Object
Dim Config As Object
Dim CFields As Object
Dim strBody As String
'создаем объект Message это наше письмо
Set MSG = CreateObject("CDO.Message")
'создаем объект Configuration это настройки соединения
Set Config = CreateObject("CDO.Configuration")
Set CFields = Config.Fields
Set MSG.Configuration = Config
CFields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
CFields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.mail.ru" 'адрес SMTP сервера
CFields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
CFields("http://schemas.microsoft.com/cdo/configuration/sendusername") = "Ваш@mail.ru" 'Login
CFields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "********" 'пароль
CFields("urn:schemas:mailheader:content-language") = "windows-1251"' кодировка письма чтобы писать по русски
CFields.Update
MSG.To = Adr 'адрес получателя
MSG.From = "Ваш@mail.ru" 'адрес отправителя
MSG.Subject = "С днём Рожденья" + Name ' тема письма
 
 
MSG.BodyPart.Charset = "windows-1251" ' кодировка письма чтобы писать по русски
'формируем текст который будет телом письма
strBody = Text + vbNewLine & _
Name + vbNewLine & _
" Поздравляю с Днём рождения" + vbNewLine & _
"Желаю счастья в личной жизни " & _
"Пух"
 
 
MSG.HTMLBody = strBody 'тело письма
MSG.Send 'отправляем
'обнуляем переменные
Set CFields = Nothing
Set Config = Nothing
Set MSG = Nothing
 
 
End Function
0
Erazer
0 / 0 / 0
Регистрация: 26.11.2012
Сообщений: 4
11.11.2008, 11:12 8
Кнопиксу Р Е С П Е К Т!!!
Спасибо, буду ща пробовать!
надеюсь получится
0
Анрей__
0 / 0 / 0
Регистрация: 16.02.2009
Сообщений: 1
19.02.2009, 17:35 9
подскажите пожалуйста, как указать адрес получателя из ячейки Excell?
0
Mictian
3 / 3 / 0
Регистрация: 13.03.2014
Сообщений: 32
17.05.2009, 00:29 10
А как можно прикрутить этот код к кнопке ? Есть к примеру таблица, в ней есть поле с электронным адресом, как сделать так, что-бы при нажатии кнопки автоматически отправлялось письмо на этот адрес, что в поле ?
0
Toxa33rus
3882 / 881 / 122
Регистрация: 16.04.2009
Сообщений: 1,790
17.05.2009, 12:36 11
Правый клик на полоске с кнопками "Файл Правка Вид....", из списка включите "Элементы управления". Появится окошко со всякими штучками и в том числе и с кнопкой. Щелкаете на кнопку и рисуете ее на таблице там где она у Вас будет расположена. Когда начнете рисовать то появится еще маленькое окошко с треугольной линейкой (называется "Режим конструктора"), оно нам потом понадобится.
После того как нарисовали кнопку, делайте по ней даблклик. Откроется редактор кода и там уже "прикрутите" нужный код к нажатию кнопки.
Закройте редактор и на окошке "Режим конструктора" нажмите на линейку что б она погасла, при этом у кнопки исчезнут точки по краям.
Все. Можно нажимать и рассылать спам.
0
17.05.2009, 12:36
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.05.2009, 12:36

Автоматическая отправка отчетов по mail-smtp
Добрый день.Проблема такая: Требуется отправлять почтовое сообщение при событии с определенным...

Автоматическая отправка mail (Php, MySQL, Javascript)
Всем доброго времени суток! Прошу прощения, если тема уже обсуждалась, но найти не смогла :-( ...

Access Обьединение отчетов в один и отправка по e-mail
Привет, всем. Есть довольно сложная задача, надеюсь? что для вас она будет не столь сложная как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.