Добрый день! Клиентское БД в Exel (одна из колонок БД это - e'mail). Задача: Сделать макрос, что бы нажатием кнопки производилась рассылка писем по всем e'mail из имеющейся базы. В письме должен быть прикреплен файл и в конце письма должна быть подпись. "С Уважением ВВП"
Задача реализована частично. Подскажите где ошибка.
Добрый день! Клиентское БД в Exel (одна из колонок БД это - e'mail). Задача: Сделать макрос, что бы нажатием кнопки производилась рассылка писем по всем e'mail из имеющейся базы. В письме должен быть прикреплен файл и в конце письма должна быть подпись. "С Уважением ВВП"
Задача реализована частично. Подскажите где ошибка.SanchesLi
Michael_S, Спасибо! Это немножко не то, что я имел ввиду, но смысл понял и думаю так даже лучше. Вопрос по рассылке писем остается открытым. Скрипт не дает ошибок, но и не работает. Письма не отправляет. Не могу понять что я упустил.
Michael_S, Спасибо! Это немножко не то, что я имел ввиду, но смысл понял и думаю так даже лучше. Вопрос по рассылке писем остается открытым. Скрипт не дает ошибок, но и не работает. Письма не отправляет. Не могу понять что я упустил.SanchesLi
всплывает System Error &H80010105 (-2147417851) - Ошибка сервера
Так это уже ошибка на уровне ОС, чего-то вы там намудрили либо с коннектами, либо с файлами на диске (которые сохраняете и прикладываете - скажем, readonly-атрибут или еще что), либо с OLE-моделью внешнего приложения...
всплывает System Error &H80010105 (-2147417851) - Ошибка сервера
Так это уже ошибка на уровне ОС, чего-то вы там намудрили либо с коннектами, либо с файлами на диске (которые сохраняете и прикладываете - скажем, readonly-атрибут или еще что), либо с OLE-моделью внешнего приложения...AndreTM
AndreTM, Вот я тоже думаю, может настройки outlook неправильные, либо какой модуль не подключен. Но суть такая, что если в строке .To = прописывать электронные адреса списком то нормально отправляет, а если таким способом - беря адрес из ячейки, то выдает ошибку - Automation Error. Возможно есть другое решение этой задачи?
AndreTM, Вот я тоже думаю, может настройки outlook неправильные, либо какой модуль не подключен. Но суть такая, что если в строке .To = прописывать электронные адреса списком то нормально отправляет, а если таким способом - беря адрес из ячейки, то выдает ошибку - Automation Error. Возможно есть другое решение этой задачи?SanchesLi
Sub Рассылка_писем() Dim objOL As Object Dim objMail As Object Dim sTo As String Dim lr As Long, lLastR As Long
Set objOL = CreateObject("Outlook.Application")
lLastR = Cells(Rows.Count, 7).End(xlUp).Row 'цикл от второй строки(начало данных с адресами) до последней ячейки таблицы For lr = 5 To lLastR aa_ = Cells(lr, 7) Set objMail = objOL.CreateItem(0) With objMail .To = aa_ 'вставляются значения ячеек - email адреса .CC = "" 'указывается получатель копии письма .Body = "" 'указывается текст письма" .Subject = "" 'указывается тема письма .Attachments.Add "" 'указывается полный путь к файлу .Send End With Next lr
Set objMail = Nothing Set objOL = Nothing End Sub
[/vba] [moder]Оформляйте коды тегами[/moder]
_Boroda_, Спасибо! Задача решена. Вопрос закрыт!
Решение:
[vba]
Код
Sub Рассылка_писем() Dim objOL As Object Dim objMail As Object Dim sTo As String Dim lr As Long, lLastR As Long
Set objOL = CreateObject("Outlook.Application")
lLastR = Cells(Rows.Count, 7).End(xlUp).Row 'цикл от второй строки(начало данных с адресами) до последней ячейки таблицы For lr = 5 To lLastR aa_ = Cells(lr, 7) Set objMail = objOL.CreateItem(0) With objMail .To = aa_ 'вставляются значения ячеек - email адреса .CC = "" 'указывается получатель копии письма .Body = "" 'указывается текст письма" .Subject = "" 'указывается тема письма .Attachments.Add "" 'указывается полный путь к файлу .Send End With Next lr
Set objMail = Nothing Set objOL = Nothing End Sub
[/vba] [moder]Оформляйте коды тегами[/moder]SanchesLi
Сообщение отредактировал Pelena - Четверг, 03.09.2015, 06:12