|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.08.2015, 13:40 | #1 |
Новичок
Джуниор
Регистрация: 21.08.2015
Сообщений: 2
|
Макрос для массовой рассылки почты из таблицы Excel с вложением
Доброго дня! У меня уже налажена система заполнения документа из таблицы Excel, теперь очень хочется, чтобы это все рассылалось потребителям на почту.
Я нашла макрос который без проблем создает письма, только вот почему-то вложения не хочет прикреплять. Подскажите по какой причине это может быть? Sub Send_Mail_Mass() Dim objOutlookApp As Object, objMail As Object Dim lr As Long, lLastR As Long Application.ScreenUpdating = False On Error Resume Next Set objOutlookApp = CreateObject("Outlook.Application") If Err.Number <> 0 Then Set objOutlookApp = Nothing: Set objMail = Nothing: Exit Sub objOutlookApp.Session.Logon lLastR = Cells(Rows.Count, 1).End(xlUp).row For lr = 2 To lLastR Set objMail = objOutlookApp.CreateItem(0) With objMail .To = Cells(lr, 9) .Subject = Cells(lr, 12) .Body = Cells(lr, 13) .Attachments.Add Cells(lr, 14) .Display End With Next lr Set objOutlookApp = Nothing: Set objMail = Nothing Application.ScreenUpdating = True End Sub |
21.08.2015, 13:46 | #2 |
Форумчанин
Регистрация: 27.10.2014
Сообщений: 248
|
добавьте код
Код:
Код:
Последний раз редактировалось 27102014; 21.08.2015 в 13:51. |
21.08.2015, 14:07 | #3 |
Новичок
Джуниор
Регистрация: 21.08.2015
Сообщений: 2
|
В том-то и дело, что если создавать письма этим макросом , то вложения с тем путем , нормально попадают в письмо.
Думаю, просто закатать этот макрос под цикл. Но все равно интересно, что с тем макросом не так 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 = CreateObject("Outlook.Application") objOutlookApp.Session.Logon Set objMail = objOutlookApp.CreateItem(0) If Err.Number <> 0 Then Set objOutlookApp = Nothing: Set objMail = Nothing: Exit Sub sTo = Range("I2").Value ' sSubject = Range("L2").Value sBody = Range("M2").Value sAttachment = Range("N2").Value With objMail .To = sTo .CC = "" .BCC = "" .Subject = sSubject .Body = sBody .Attachments.Add sAttachment .Display ', End With Set objOutlookApp = Nothing: Set objMail = Nothing Application.ScreenUpdating = True End Sub |
21.08.2015, 15:59 | #4 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Если надоест разбираться с макросами, - можете попробовать готовое решение для рассылки через Аутлук:
http://excelvba.ru/programmes/FillDocuments можно динамически формировать тему и текст письма, прикреплять разные файлы (в т.ч. и динамически создаваемые по шаблонам), можно задать временно интервал между отправляемыми письмами. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Нужна программа для массовой рассылки e-mail сообщений. | tanyuschahappy | Софт | 7 | 24.10.2015 02:20 |
Макрос для конвертации таблицы Excel | Yarr | Microsoft Office Excel | 1 | 13.08.2010 10:47 |
Макрос для формирования таблицы в Excel | konistra | Microsoft Office Excel | 6 | 28.05.2010 23:32 |