Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как присвоить отчету другое имя при отправке его по почте? / 4 сообщений из 4, страница 1 из 1
13.01.2018, 23:34
    #39583813
Wipeout2097
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как присвоить отчету другое имя при отправке его по почте?
Народ, доброго времени суток! Отправляем отчет в формате RTF через Send Object. Открывается форма создания письма Outlook, в которой отчет под своим именем (как он обозван в Аксессе) висит как файл-вложение в формате RTF. Как в этом нехитром процессе изменить имя этого отчета, чтобы во вложении он назывался не так, как называется в Аксессе?
...
Рейтинг: 0 / 0
14.01.2018, 00:40
    #39583823
Wipeout2097
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как присвоить отчету другое имя при отправке его по почте?
И с ходу еще одна проблема... Только сейчас увидел, что OutputTo сохраняет отчет в RTF для всех записей из своего источника строк... Да нафиг такое надо то?! Как задать что-то типа Where Condition?
...
Рейтинг: 0 / 0
14.01.2018, 01:09
    #39583825
Wipeout2097
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как присвоить отчету другое имя при отправке его по почте?
Так, ладно, вторую проблему победил. Выход следующий: источник строк отчета
Код: sql
1.
SELECT *.Таблица1 FROM Таблица1 WHERE Таблица1.КодЗаписи = Forms![Форма_из_которой_нажимается_кнопка_экспорта].[Код_записи]



А вот первый вопрос пока в силе...
...
Рейтинг: 0 / 0
14.01.2018, 01:41
    #39583829
Wipeout2097
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как присвоить отчету другое имя при отправке его по почте?
Так, в общем решение нашел.
1. Опираем отчет на источник срок, указанный выше (чтобы он отображал только ту запись, данные из которой мы хотим экспортировать в Ворд).
2. Делаем по тихому(без всяких диалоговых окон) OutputTo отчета в папку Temp (созданную рядышком с MDB, т.е. с адресом Application.CurrentProject.Path & "\Temp\" с нужным нам именем Application.CurrentProject.Path & "\Temp\" & NFile, где NFile - нужное мне имя (ну, например AAA.rtf).
3. Запускаем вот эту процедуру (где-то слямзил, не помню где, а то б выложил ссылку. Но автору этого творчества огромный респект!) с параметром NFile:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
Public Sub CreateNewMemo(Fname As String)
'создает новое письмо с вложением для нескольких адресатов
Dim OL_App As Outlook.Application
Dim OL_ItemMail As Outlook.MailItem
Dim RecipientTask As Recipient
Dim OL_Pattern As Outlook.RecurrencePattern

Set OL_App = CreateObject("Outlook.Application") ' получаем объект Outlook

Set OL_NameSpace = OL_App.GetNamespace("MAPI")
' получаем ссылку на папку черновики
Set OL_FolderMail = OL_NameSpace.GetDefaultFolder(olFolderDrafts)

Set OL_ItemMail = OL_App.CreateItem(olMailItem) ' создаем новое письмо
With OL_ItemMail
  .To = "" 'адрес получателя
  .CC = "" 'копия
  .BodyFormat = olFormatHTML ' задание формата письма HTML,
                              ' для простого текстового письма этот параметр задавать не надо
   .Subject = "ШТ" ' заголовок письма
   .Attachments.Add Application.CurrentProject.Path & "\Temp\" & Fname
   .OriginatorDeliveryReportRequested = True 'Уведомление о доставке
   .ReadReceiptRequested = True 'Уведомление о прочтении
   .Display (True)
   '.Save ' сохраним письмо
   '.Send ' отправим письмо
   Kill Application.CurrentProject.Path & "\Temp\" & Fname
End With
End Sub



И Вуаля! Появляется желаемое окошко OutLook'а, где файл-вложение с нужным мне именем! Причем выполнение кода оснановлено (окно в режиме Modal). Далее мы либо отправляем письмо, либо отказываемся от его отправления. После этого с помощью Kill удаляем файл из папки Temp. В общем как-то так... Мало ли, кому пригодиться...
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как присвоить отчету другое имя при отправке его по почте? / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]