Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.08.2014, 10:19   #1
Parklane1488
Пользователь
 
Регистрация: 21.08.2014
Сообщений: 15
По умолчанию Отправка писем в Outlook'e

Всем добрый день!

Есть макрос, который делит полотно Excel на 60 файлов(режет допустим по филиалам, или можно указывать, чтобы резал по названиям тарифов)
Этот макрос делит на отдельные файлы и сохраняет в нужную мне папку.

Дальше стоит задача отправить все эти файлики разным адресатам(ответственные адресаты у каждого филиала всегда одни и теже)

Как можно сделать, чтобы макрос ссылался на список названий филиалов и адресатов, чтобы автоматически после отработки первой части макроса(который делит на филиалы) эти файлы отправлялись по почте?

Свой макрос и пару примеров с порезанными филиалами прилагаю
В макросе создал список названий файлов и адресатов.
Путь к файлам будет будет каждый раз меняться(название папки с текущей датой) Возможно отталкиваться как-то от текущей даты, когда макрос выполнятся.
Заранее спасибо

P.S. может мой макрос кому пригодится
Вложения
Тип файла: rar Поделенные файлы.rar (422.7 Кб, 9 просмотров)
Тип файла: rar Делилка.rar (301.5 Кб, 13 просмотров)
Parklane1488 вне форума Ответить с цитированием
Старый 22.08.2014, 12:05   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

отдельный файл сохранили на диск?
отправить активную в данные момент книгу - одна строка кода:
Код:
ActiveWorkbook.SendMail recipients:="Jean Selva"
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 22.08.2014, 12:16   #3
Parklane1488
Пользователь
 
Регистрация: 21.08.2014
Сообщений: 15
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
отдельный файл сохранили на диск?
отправить активную в данные момент книгу - одна строка кода:
Код:
ActiveWorkbook.SendMail recipients:="Jean Selva"
Не, мне нужно не активную книгу отправить, а все те файлики, которые первый макрос порезал
Parklane1488 вне форума Ответить с цитированием
Старый 22.08.2014, 12:37   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

первый макрос порезал?
на диск каждый файл был записал методом КонкретнаяКнига.Save
сделайте следующей строчкой КонкретнаяКнига.SendMail
а следующей КонкретнаяКнига.Close
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 22.08.2014, 12:59   #5
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

где-то здесь
Код:
   tmpbook.SaveAs Filename:=fn & " " & tmpcoll & ".xlsx"  ' сохранение книги(каждый филиал в своей книге)
   Filename = fn & " " & tmpcoll & ".xlsx"                ' получаю путь к только что созданному файлу, просто чтобы захуярить его в лог-файл
   tmpbook.Close                                          ' закрываю
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 25.08.2014, 14:32   #6
Alex84
Новичок
Джуниор
 
Регистрация: 25.08.2014
Сообщений: 2
По умолчанию

Приветствую!

Нужна помощь. Задача сделать рассылку из Excel через Outlook для каждого из ста адресата в отдельности, данные по которым находятся в одной таблице
Например первому адресату соответствует
почтовый адрес в ячейке А1, Текс письма в ячейке В1, Тема письма в ячейке С1, и ссылка на вложение в ячейке D1.
второму адресату соответствует
почтовый адрес в ячейке А2, Текс письма в ячейке В2, Тема письма в ячейке С2, и ссылка на вложение в ячейке D2.
и так далее.

Вот, я пробовал данный макрос, все замечательно, но рассылает только на одного получателя, пробовал устанавливать диапазон адресатов, которые в листе Excell .To = Range("A1:A4").Value, но ничего не вышло.

Как-то можно доработать данный макрос?

Sub SendMail()
Dim OutApp As Object
Dim OutMail As Object
Dim cell As Range

Application.ScreenUpdating = False
Set OutApp = CreateObject("Outlook.Application")
OutApp.Session.Logon
On Error GoTo cleanup
Set OutMail = OutApp.CreateItem(0)
On Error Resume Next
With OutMail
.To = Range("A1:A4").Value
.Subject = Range("B1").Value
.Body = Range("C1").Value
.Attachments.Add Range("D1").Value
.Send
End With

On Error GoTo 0
Set OutMail = Nothing

cleanup:
Set OutApp = Nothing
Application.ScreenUpdating = True
End Sub
Alex84 вне форума Ответить с цитированием
Старый 25.08.2014, 16:05   #7
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Так будет работать правильно
Код:
With OutMail
.To = Join(WorksheetFunction.Transpose(Range("A1:A4")), ",")
.Subject = Range("B1").Value
.Body = Range("C1").Value
.Attachments.Add Range("D1").Value
.Send
End With
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 25.08.2014, 16:26   #8
Parklane1488
Пользователь
 
Регистрация: 21.08.2014
Сообщений: 15
По умолчанию

А как прописать, чтобы он смотрел на другой лист со списком адресатов?
Как задать нужный лист?
Parklane1488 вне форума Ответить с цитированием
Старый 25.08.2014, 16:41   #9
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Например ,так
Код:
' Вместо Range ("A1:A4")
ThisWorkbook.Worksheets("Ваше имя листа").Range ("A1:A4")
'Или
Set Sh=ThisWorkbook.Worksheets("Ваше имя листа")
Sh.Range ("A1:A4")
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 25.08.2014, 16:46   #10
Alex84
Новичок
Джуниор
 
Регистрация: 25.08.2014
Сообщений: 2
По умолчанию

Вроде бы пытается отправить, но в отправленных и исходящих Outlook писем нет. Может что-то не так я сделал?

Прикрепляю скрин того как выглядят данные в Excel и сам макрос.


Alex84 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
перебор писем в OutLook'e mad_max.86@gmail.r Microsoft Office Access 7 12.05.2012 22:44
Отбор писем по теме в Outlook. GoreProgrammist Microsoft Office Excel 8 28.03.2011 17:48
Сортировка писем Outlook с помощью VBA. GoreProgrammist Microsoft Office Excel 0 28.09.2009 14:14
MS Excel и MS Outlook (2003) отсылка писем IceB Microsoft Office Excel 1 02.07.2007 13:32
Microsoft Office Outlook : отправка писем gaybiza Софт 1 18.11.2006 00:14