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



А вот первый вопрос пока в силе...
...
Рейтинг: 0 / 0
Как присвоить отчету другое имя при отправке его по почте?
    #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
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как присвоить отчету другое имя при отправке его по почте?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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