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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.08.2012, 00:55   #1
88ra
Пользователь
 
Регистрация: 09.09.2009
Сообщений: 24
По умолчанию Не обнуляется .AddAttachment в CDO

Доброй ночи!
может кто не спит)
Делаю рассылку в цикле клиентам методом CDO.Message с вложением, название которого совпадает с кодом клиента. Все хорошо, только 2-му клиенту отправляется файл 1-го и 2-го, следующему уже 3 файла и т.д.

Как обнулять mailObj.AddAttachment после отправки каждого письма???
88ra вне форума Ответить с цитированием
Старый 06.08.2012, 07:00   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А посмотри есть ли у IBodyPart метод Release или у IMessage метод Clear
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.08.2012, 00:32   #3
88ra
Пользователь
 
Регистрация: 09.09.2009
Сообщений: 24
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А посмотри есть ли у IBodyPart метод Release или у IMessage метод Clear
подскажите пожалуйста, где посмотреть?
Я отправляю не через outlook...

Set mailObj = CreateObject("CDO.Message")
mailFrom = "...."....ru"
mailSubj = "тема..."

в цикле:

mailObj.To = mailAddr
mailObj.From = mailFrom
mailObj.Subject = mailSubj
mailObj.HTMLBody = mailBody
mailObj.AddAttachment mailAttach

Без вложения, все работает...
проблема решилась внесением создания письма в цикл, но так дольше
88ra вне форума Ответить с цитированием
Старый 07.08.2012, 07:44   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Посмотреть конечно же в хелпе. Какие методы у сего интерфейса.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.08.2012, 09:33   #5
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Цитата:
Сообщение от 88ra Посмотреть сообщение
проблема решилась внесением создания письма в цикл, но так дольше
Еще бы. Вы в один объект CDO.Message циклом заряжали аттачи методом Add(добавить).
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 08.08.2012, 15:53   #6
88ra
Пользователь
 
Регистрация: 09.09.2009
Сообщений: 24
По умолчанию

Цитата:
Сообщение от kuklp Посмотреть сообщение
Еще бы. Вы в один объект CDO.Message циклом заряжали аттачи методом Add(добавить).
понятно. а думал может аттач можно перезаписать в одном объекте.
88ra вне форума Ответить с цитированием
Старый 08.08.2012, 15:59   #7
88ra
Пользователь
 
Регистрация: 09.09.2009
Сообщений: 24
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Посмотреть конечно же в хелпе. Какие методы у сего интерфейса.
в хэлпе excel этого нет, это ж к MS относится, как я понял, но и там не выдает ничего
88ra вне форума Ответить с цитированием
Старый 08.08.2012, 16:35   #8
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Цитата:
в хэлпе excel этого нет
Подключите в References модуль Microsoft CDO и в Object Browser станут доступны все свойства и методы объекта. Да и в редакторе станет работать намного проще.
И там наглядно видно, что у Message есть коллекция Attachments, которая и содержит вложения. Ваш метод лишь добавляет объект в коллекцию. так что очищается как обычно:
Код:
mailObj.Attachments.DeleteAll
p.s. При разработке удобнее проставить ссылки в References, а потом уже в готовом коде привязать объекты без этих ссылок. Особенно если объект не самый используемый.
Правильно поставленная задача - три четверти решения.

Последний раз редактировалось DiemonStar; 08.08.2012 в 16:37.
DiemonStar вне форума Ответить с цитированием
Старый 08.08.2012, 18:05   #9
88ra
Пользователь
 
Регистрация: 09.09.2009
Сообщений: 24
По умолчанию

Цитата:
Сообщение от DiemonStar Посмотреть сообщение
Подключите в References модуль Microsoft CDO . ...
.
Ага!!! спасибо!!! буду разбираться
88ra вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обнуляется переменная Leonid183 Visual C++ 0 27.10.2011 16:06
Отправка почты c использованием CDO Sergey112233 Microsoft Office Excel 6 28.07.2011 10:49
Персонализированная рассылка почты CDO Эрнесто Microsoft Office Excel 1 07.07.2011 22:58
Обнуляется переменная Hippie Помощь студентам 1 09.01.2010 20:22
Socket обнуляется переменнaя KoBRaAndrey Работа с сетью в Delphi 4 06.01.2010 21:30