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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.02.2011, 17:34   #1
NoLL
Пользователь
 
Регистрация: 11.11.2010
Сообщений: 24
По умолчанию Excel and Outlook разссылка.

Здравствуйте!

Перед созданием темы:
Воспользовался гуглом.
Воспользовался поиском - или не то, что требуется или под Outlook 2003 у меня же Outlook Express
Так же, все сколь-нибудь похожие примеры пытался применить. Но безрезультатно.

Задача следующая:
Мне нужно на 25 адресов отправлять от 2-х и больше экселевские файлов (название файлов для каждого из адресатов уникальное)

То есть каждому из 25 адресатов отсылать от 2-х и больше файлов (для примера я взял 3)

Адресаты, как и названия файлов, вбиты в массивы.
Так как получатели и названия файлов будут меняться. И что бы не лезть каждый раз в VBA, можно было редактировать в экселе. Да и для цикла удобнее.

Как отправить только один файл я додумался, как сделать: ActiveWorkbook.sendmail Recipients:=test@mail.ru, Subject:="subject of message"
Но для сообщения, в котором должны быть добавлены 3 файла такой способ, в корне не подходит.

Професионналы взываю к вашей помощи.

Скидываю пример файла. Как все это дело должно выглядеть.
Вложения
Тип файла: zip book.zip (5.3 Кб, 13 просмотров)
NoLL вне форума Ответить с цитированием
Старый 11.02.2011, 15:22   #2
NoLL
Пользователь
 
Регистрация: 11.11.2010
Сообщений: 24
По умолчанию

Неужели нет решения моей проблеммы?
NoLL вне форума Ответить с цитированием
Старый 11.02.2011, 16:13   #3
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

А отправка через CDO не подходит.
Это проще чем MAPI юзать
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 11.02.2011, 16:36   #4
NoLL
Пользователь
 
Регистрация: 11.11.2010
Сообщений: 24
По умолчанию

Цитата:
Сообщение от doober Посмотреть сообщение
А отправка через CDO не подходит.
Это проще чем MAPI юзать
К сожалению, условия моей роботы не позволяют мне использовать другие почтовые клиенты. Проще закончить Сизифов труд, чем победить бюрократию(((
А работа рутинная и постоянная. Отправка через аутлук экспрес 2-3 экселивских файлика на 50 адресатов. Я в отчаянии.
NoLL вне форума Ответить с цитированием
Старый 11.02.2011, 16:44   #5
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

CDO это не почтовый клиент,отправка внутренними.так сказать,средствами.
Посмотрите здесь MAPI
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 11.02.2011, 17:28   #6
NoLL
Пользователь
 
Регистрация: 11.11.2010
Сообщений: 24
По умолчанию

Цитата:
Сообщение от doober Посмотреть сообщение
CDO это не почтовый клиент,отправка внутренними.так сказать,средствами.
Посмотрите здесь MAPI

Спасибо огромное !!! Слов нет. Там как раз почти мой случай. После небольшой адаптации все работает на ура!!!!
NoLL вне форума Ответить с цитированием
Старый 11.02.2011, 18:08   #7
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Цитата:
Воспользовался гуглом.
кто из нас правильно вопрос ему задал
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 11.02.2011, 18:43   #8
NoLL
Пользователь
 
Регистрация: 11.11.2010
Сообщений: 24
По умолчанию

Цитата:
Сообщение от doober Посмотреть сообщение
кто из нас правильно вопрос ему задал
Задает правильные вопросы тот, кто знает больше. А я просто незнал, чего я незнал))
NoLL вне форума Ответить с цитированием
Старый 14.02.2011, 15:19   #9
NoLL
Пользователь
 
Регистрация: 11.11.2010
Сообщений: 24
По умолчанию

Добрый день.

Код таки переделал под себя и он работает. Но возникла ещё одна проблема. Как сделать так, что бы макрос генерировал запрос о прочтении письма? Вот собственно код:

Код:
Sub mailsend
Dim oMSG As Object
Dim oConfig As Object
Dim CFields As Object
Dim strBody As String

'On Error GoTo er

Set oMSG = CreateObject("CDO.Message")
Set oConfig = CreateObject("CDO.Configuration")
Set CFields = oConfig.Fields
Set oMSG.Configuration = oConfig

CFields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
CFields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "server"
CFields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
CFields("http://schemas.microsoft.com/cdo/configuration/sendusername") = "Login"
CFields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "Password"
'CFields("urn:schemas:mailheader:content-language") = "windows-1251"
CFields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
CFields.Update

strBody = ""

With oMSG
  .To = "somebody@mail.com
  .CC = vbNullString
  .BCC = vbNullString
  '.From = MrSender
  .Subject = "textsubject"
  .BodyPart.Charset = "windows-1251"
  .AddAttachment "C:/log.txt" 'путь к вложенному файлу
  .HTMLBody = strBody
  .textbody = strBody
  .Send
End With

Set CFields = Nothing
Set oConfig = Nothing
Set oMSG = Nothing

'er:
'MsgBox "Ошибка:" & Format$(Err.Number) & vbCr & Err.Description, vbCritical
End Sub[/B]

Последний раз редактировалось NoLL; 14.02.2011 в 15:30.
NoLL вне форума Ответить с цитированием
Старый 14.02.2011, 16:08   #10
NoLL
Пользователь
 
Регистрация: 11.11.2010
Сообщений: 24
По умолчанию

Нашел в интернете:
Const cdoSendUsingPickup = 1
Const cdoSendUsingPort = 2 'Must use this to use Delivery Notification
Const cdoAnonymous = 0
Const cdoBasic = 1 ' clear text
Const cdoNTLM = 2 'NTLM
'Delivery Status Notifications
Const cdoDSNDefault = 0 'None
Const cdoDSNNever = 1 'None
Const cdoDSNFailure = 2 'Failure
Const cdoDSNSuccess = 4 'Success
Const cdoDSNDelay = 8 'Delay
Const cdoDSNSuccessFailOrDelay = 14 'Success, failure or delay

With objMsg
Set .Configuration = objConf
.To = "test@paulsadowski.com"
.From = "me@my.com"
.Subject = "This is a CDO test message"
.TextBody = strBody
'use .HTMLBody to send HTML email.
.Addattachment "c:\temp\Scripty.zip"
.Fields("urn:schemas:mailheaderis position-notification-to") = "me@my.com"
.Fields("urn:schemas:mailheader:ret urn-receipt-to") = "me@my.com"
.DSNOptions = cdoDSNSuccessFailOrDelay
.Fields.update
.Send
End With

Проверил. Работает.

Модераторы закройте тему пожалуйста.
NoLL вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Диапазон из Excel в Outlook klimov0512 Microsoft Office Excel 0 31.01.2011 13:25
Вызов макроса excel из outlook analyst Microsoft Office Excel 1 10.06.2010 12:32
Проверять работу Excel из Outlook kolebatel Microsoft Office Excel 6 28.05.2009 11:50
Сбор отчетов из Outlook в Excel zazuza Microsoft Office Excel 4 17.04.2009 19:13
Excel и Outlook Barabanoff Microsoft Office Excel 6 25.07.2008 08:14