Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/29: Рейтинг темы: голосов - 29, средняя оценка - 4.55
 Аватар для Fatalmf
2 / 2 / 0
Регистрация: 23.10.2012
Сообщений: 33

Вставка текста с форматированием в тело письма

26.07.2013, 15:37. Показов 6344. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!
Есть такая задумка вставить текст с форматированием в тело письма (почтовый клиент Outlook), текст стандартный для всех писем.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Sub Êíîïêà82_Click()
    Dim stPut As String
    'Dim stEmailcc As String
    'Dim stEmailbcc As String
    'Dim stSubject As String
    Dim stbody As String
   
    stPut = CurrentProject.path & "\123.txt"
    Open stPut For Input As #1
Line Input #1, stbody
 
    DoCmd.SendObject acSendNoObject, , , , "stEmailcc", , "stSubject", stbody, ,
    
Close 1
End Sub
но в этом коде вставляется строка.
Подскажите может есть другие решения или здесь допилить что-то можно... рассмотрю любые варианты
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.07.2013, 15:37
Ответы с готовыми решениями:

Как вставить текст из Word в тело письма Outlook с форматированием
Всем привет! Мне нужно вставить текст из вордовского документа в письмо. я делаю это так: Documents.Open ptd & fld Set...

Вставка картинки в тело письма
Вопрос конечно простой, но прошу помочь. Как вставить в тело письма, отправляемого через форму не сайте, картинку из БД? Пробовал...

Вставка ip посетителя в тело письма.
Добрый день. Есть работающий php код, отправки письма с сайта на сервер: <?php $xxx =$_POST; $name=$_POST; $email=$_POST; ...

8
383 / 209 / 5
Регистрация: 29.05.2013
Сообщений: 337
29.07.2013, 03:01
Текст письма можно отформатировать HTML.
Visual Basic
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
Function CreateNewMemo()
'создает новое письмо с вложением для нескольких адресатов
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_ItemMail = OL_App.CreateItem(olMailItem) ' создаем новое письмо
With OL_ItemMail
  .To = " [email]osmor@mail.ru[/email]" 'адрес получателя
  .CC = " [email]osmor@mail.ru[/email]" 'копия
   .BodyFormat = olFormatHTML 'формат письма
   .Subject = "Отчет по продажам за " & CStr(Date) ' заголовок письма
' текст письма. Для красоты HTML
   .HTMLBody = "<body><div align='center'> <table width='50%' border='1'>" & _
   "<caption align='top'> Продажи по салонам за " & CStr(Date) & "</caption>" & _
   "<tr><th cope='col' width='60%'>Салон <th width='40%'>Cумма" & _
   "<tr><td>Алексеевская <td align='right'>25 021 <tr><td>Маросейка<td align='right'>28 452" & _
   "<tr><td>Охотный ряд <td align='right'>22 245<tr></table></div></body>"
'вложение. Если файл не существует, то будет ошибка
   .Attachments.Add "c:/Forum_ex.INF"
   .Attachments.Add "c:/FORUM_EX.MDX"
   .OriginatorDeliveryReportRequested = True 'Уведомление о доставке
   .ReadReceiptRequested = True 'Уведомление о прочтении
   .Save ' сохраним письмо
   .Send ' отправим письмо
End With 
End Function
(Замечание, предполагается что в программе установлена ссылка на MS Outlook)

Взято отсюда: hiprog.com
1
 Аватар для Fatalmf
2 / 2 / 0
Регистрация: 23.10.2012
Сообщений: 33
29.07.2013, 11:15  [ТС]
Цитата Сообщение от GenaY Посмотреть сообщение
Текст письма можно отформатировать HTML.
Visual Basic
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
Function CreateNewMemo()
'создает новое письмо с вложением для нескольких адресатов
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_ItemMail = OL_App.CreateItem(olMailItem) ' создаем новое письмо
With OL_ItemMail
  .To = " [email]osmor@mail.ru[/email]" 'адрес получателя
  .CC = " [email]osmor@mail.ru[/email]" 'копия
   .BodyFormat = olFormatHTML 'формат письма
   .Subject = "Отчет по продажам за " & CStr(Date) ' заголовок письма
' текст письма. Для красоты HTML
   .HTMLBody = "<body><div align='center'> <table width='50%' border='1'>" & _
   "<caption align='top'> Продажи по салонам за " & CStr(Date) & "</caption>" & _
   "<tr><th cope='col' width='60%'>Салон <th width='40%'>Cумма" & _
   "<tr><td>Алексеевская <td align='right'>25 021 <tr><td>Маросейка<td align='right'>28 452" & _
   "<tr><td>Охотный ряд <td align='right'>22 245<tr></table></div></body>"
'вложение. Если файл не существует, то будет ошибка
   .Attachments.Add "c:/Forum_ex.INF"
   .Attachments.Add "c:/FORUM_EX.MDX"
   .OriginatorDeliveryReportRequested = True 'Уведомление о доставке
   .ReadReceiptRequested = True 'Уведомление о прочтении
   .Save ' сохраним письмо
   .Send ' отправим письмо
End With 
End Function
(Замечание, предполагается что в программе установлена ссылка на MS Outlook)

Взято отсюда: hiprog.com
Спасибо!
Я нарыл этот вариант на выходных, надо конечно с html кодом помучатся но как говорится все будет по красоте.
Авот более ленивый вариант форматирование сахраняется на уровне текстового документа со всеми абзацами шрифтами и т.д.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub Кнопка82_Click()
    Dim stPut As String
    Dim stbody As String
    On Error Resume Next
    stPut = CurrentProject.path & "\MailText.txt" 'чтоб не было привязки к местонахождению
    Open stPut For Input As #1
 
    stbody = Input(1515, #1) 'Важно! первое число должно быть равное количеству символов в файле +- 3 символа
    DoCmd.SetWarnings False
    DoCmd.SendObject acSendNoObject, , , [e-mail], , , Тема, stbody
    DoCmd.SetWarnings True
 
Close #1
End Sub
Думаю на этом тема закрыта!
2
1 / 1 / 0
Регистрация: 28.02.2018
Сообщений: 35
17.04.2019, 13:56
Fatalmf, добрый день, подскажите начинающему валенку по коду в последнем сообщении:
я так понимаю - #1 это имя файла?
могу вставить нужное имя?
где он должен лежать?
"Open stPut For Input As #1" это вызов?
0
Эксперт MS Access
 Аватар для Eugene-LS
12358 / 5865 / 1501
Регистрация: 05.10.2016
Сообщений: 16,473
17.04.2019, 14:03
Цитата Сообщение от Sagitta1969 Посмотреть сообщение
могу вставить нужное имя?
Вам нужно чтение текстового файла?
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Public Function TextReadFromFile(sTXTPath$) As String
'Чтение текстового файла в переменную
Dim fso As Object
Dim ts As Object
'--------------------------------------------------------------------------
On Error GoTo TextReadFromFile_Err
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set ts = fso.OpenTextFile(sTXTPath, 1, True): TextReadFromFile = ts.ReadAll: ts.Close
    Set ts = Nothing: Set fso = Nothing
 
TextReadFromFile_Bye:
    Exit Function
 
TextReadFromFile_Err:
    MsgBox "Ошибка " & Err.Number & vbCrLf & Err.Description & vbCrLf & _
    "в процедуре: TextReadFromFile", vbCritical, "Error in module modTextOutput"
    Resume TextReadFromFile_Bye
End Function
Функция вернёт тело файла по указанному в аргументе пути ...
1
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
17.04.2019, 14:03
Цитата Сообщение от Sagitta1969 Посмотреть сообщение
#1 это имя файла?
Нет. Это параметр инструкции Open: номер файла. Ближайший свободный номер файла можно узнать функцией FreeFile.

Имя скачиваемого файла это первый параметр Open. В Вашем примере "Open stPut For Input As #1" путь к файлу вместе с именем файла находится в пользовательской переменной stPut
1
Эксперт MS Access
 Аватар для Eugene-LS
12358 / 5865 / 1501
Регистрация: 05.10.2016
Сообщений: 16,473
17.04.2019, 14:14
Цитата Сообщение от Eugene-LS Посмотреть сообщение
Функция вернёт тело файла по указанному в аргументе пути ...
Страна должна знать своих героев!
По материалам:
http://excelvba.ru/code/SaveTextToFile
http://excelvba.ru/code/encode
...
Хорошая привычка: записывать откуда код стырил
0
1 / 1 / 0
Регистрация: 28.02.2018
Сообщений: 35
17.04.2019, 14:59
спасибо огромное,
покурил гугл..
почитал... ничего не понял но сделал...
правда с начала хотел выдергивать текст из ворда...
но и из текста тоже норм..
еще раз сеньк
0
Эксперт MS Access
 Аватар для Eugene-LS
12358 / 5865 / 1501
Регистрация: 05.10.2016
Сообщений: 16,473
17.04.2019, 17:08
Цитата Сообщение от Sagitta1969 Посмотреть сообщение
правда с начала хотел выдергивать текст из ворда...
Можно и из Word, но это совсем другая история, и код будет подлиннее.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.04.2019, 17:08
Помогаю со студенческими работами здесь

Вставка Html страницы в тело письма
Здравствуйте, с днем СИСАДМИНА ВСЕХ Подскажите плз, может кто нибудь сталкивался... Есть html файл, нужно вставить в письмо не...

Вставка в Word текста из TextBox с форматированием
Не подскажите, как сделать так, чтобы текст из textbox вставлялся в Word, сохраняя при этом форматирование (шрифт, начертание и т.п.),...

Копирование текста в тело письма Outlook
Доброго дня. Проблема с макросом, который открывает файл ворд копирует текст и вставляет в уже созданное окно сообщения OUTLOOK. Sub...

При отправке письма тело письма $message не отображается
вот функция атачя $sfile - содержание файла function send($sfile,$filename) { $message = 'attach файил' $boundary...

Вставка текста в теле письма в центре и в конце строки. smtplib
Всем привет! Второй день бьюсь. Пытаюсь автоматизировать отправку писем. С помощью библиотек smtplib и email все настроил, письма...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru