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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.11.2010, 15:32   #1
fitushka
Новичок
Джуниор
 
Регистрация: 09.11.2010
Сообщений: 1
По умолчанию Отпрака нескольких Отчетов в одном письме

Добрый день. СТолкнулся со следующей проблемой (сам извернуться не могу): есть Report1 и Report2, нужно отправить их по почте в ОДНОМ письме. В формате snapshot.

Двумя письмами отправить не проблема:

Function SendReports()
DoCmd.SendObject acReport, "Report1", "SnapshotFormat(*.snp)", "mail@yandex.ru", "", "", "", "", False, ""
DoCmd.SendObject acReport, "Report2", "SnapshotFormat(*.snp)", "mail@yandex.ru", "", "", "", "", False, ""
End Function

Пытался обойти через неведомые дали:

Sub SendMail()
DoCmd.OpenReport "Report1", acViewPreview 'открываем, иначе в коллекции отчетов не будет
DoCmd.OpenReport "Report2", acViewPreview

Dim oOutlook As Outlook.Application 'запускаем аутлук
Set oOutlook = Outlook.Application
Dim oMail As Outlook.MailItem 'создаем письмо
Set oMail = oOutlook.CreateItem(olMailItem)
Dim oAttach As Object 'переменная с приложениями к письму
Set oAttach = oMail.Attachments

With oMail
.To = "mail@yandex.ru" 'адрес e-mail для отправки письма, если несколько адресов e-mail, пишем, отделяя их точкой с запятой - ";"
.CC = "" 'копия
.Subject = "Отчеты" 'это тема письма
'.Body = "Это текст письма" 'вариант отправки определённого текста
'.Body = ActiveDocument.Selection 'вариант отправки выделенного текста
.Attachments.Add Reports.Item(1) 'КАМЕНЬ ЗДЕСЬ!: отчеты висят в оперативной памяти (если висят) и как и приаттачить непонятно. Можно было бы сохранить их на диск и подтянуть оттуда, но как их сохранять я тоже не нашел.
.Attachments.Add Reports.Item(2)
.OriginatorDeliveryReportRequested = True 'уведомление о доставке письма
.ReadReceiptRequested = True 'уведомление о прочтении письма
.Save ' сохраним письмо
' .Display 'показать окно письма, то есть показать открытую программу Outlook
.Send 'отправить письмо
End With

End Sub

Буду благодарен за любой дельный совет (кроме "воспользуйся гуглом")

Последний раз редактировалось fitushka; 10.11.2010 в 15:36. Причина: корявые руки
fitushka вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как отправит на E-mail Несколько файлов в одном письме? dolphin705 Работа с сетью в Delphi 11 14.07.2010 23:11
сообщения: в одном, или в нескольких? AnTe О форуме и сайтах клуба 34 28.11.2009 17:39
Фильтрация нескольких таблиц одновременно на одном листе при заданных условиях KNatalia Microsoft Office Excel 11 08.11.2009 21:47
Объеденение полей запроса в для отображения нескольких полей в одном списке mrCreator Microsoft Office Access 3 08.08.2009 00:53
изменение нескольких переменных в одном методе. goog Общие вопросы по Java, Java SE, Kotlin 5 01.03.2009 20:46