Страницы: 1
RSS
Персонализация письма в VBA
 
Здравствуйте!

У меня уже есть макрос, который высылает эксель файл адресату из ячейки. Только мне хотелось бы в обращении указать имя получателя, опять таки из ячейки из самого файла. Чтоб обращение не было безликим.

Вот код, хотелось бы после слова Добрый вечер, вставить имя из ячейки D2 Sheets("Main")
Код
Dim OutApp As Object
   Dim OutMail As Object
   Dim xOutMsg As String
   Dim Recipient As Range
   
   On Error Resume Next
   
   Set OutApp = CreateObject("Outlook.Application")
   Set OutMail = OutApp.CreateItem(0)
   With OutMail
   .Display
   End With
 
   Recipient = Sheets("Main").Range(D2).Value
   xOutMsg = "<p style='font-family:ARIAL;font-size:22'><b>Добрый день,  </b><br/>Прошу рассмотреть мою заявку на заказ в приложении.</p>"
   Signature = OutMail.HTMLBody
   
   With OutMail
       .To = Sheets("Main").Cells(2, 4).Value & ";" & Sheets("md").Cells(1, 10).Value 'адрес получателя
       .Subject = "Ответ: Заявка на заказ " & ActiveWorkbook.Sheets("md").Cells(5, 10) & "_" & TekData 'тема письма
       .HTMLBody = xOutMsg & Signature    'текст письма Sheets("md").Cells(3, 10).Value
       .Attachments.Add ActiveWorkbook.FullName
       .Display
   End With
   'With OutMail
   '.send
   'End With
   

   On Error GoTo 0
   Set OutMail = Nothing
   Set OutApp = Nothing
   Application.ScreenUpdating = Tru
'ActiveWorkbook.Close
End Sub

Я сделала вот так:  
Код
xOutMsg = "<p style='font-family:ARIAL;font-size:22'><b>Добрый день, & Recipient & </b><br/>Прошу рассмотреть мою заявку на заказ в приложении.</p>"

Но это просто выдало слово реципиент как текст((
И понятно, ведь OutMsg - задан как строка.
Изменено: Salta-301 - 14.05.2020 21:08:43
 
может так?
Код
xOutMsg = "<p style='font-family:ARIAL;font-size:22'><b>Добрый день, " & Range("D2").Value & "</b><br/>Прошу рассмотреть мою заявку на заказ в приложении.</p>"
 
Здравствуйте, посмотрите на этот файл, может что-то в нем пригодится. Отравляет выделенный диапазон ячеек, адресату из списка, только адреса измените на действительные, а то там сгенерированная абракадабра.
 
Niko.x87, спасибо большое, но это не помогло)
У вас классный код, но он сильно не похож на мой(

pantel1987, тоже не сработало((
 
Цитата
Salta-301 написал:
вставить имя из ячейки D2 Sheets("Main")
...
xOutMsg = "<p style='font-family:ARIAL;font-size:22'><b>Добрый день, & Recipient &
Может так (?), если это должен быть Html (?)
Код
xOutMsg = "<html><body><p style=""font-family:'Arial';font-size:22pt;""><b>" & _
          Sheets("Main").Range("D2").Text & "</b><br>" & _
          Sheets("Main").Range("D3").Text & "</p></body></html>"
 
ocet p, Вы знаете, это круто!
Оно сработало!
 
... если сработало, это хорошо, рад что помог.
 
Так pantel1987 был быстрее :)
А в Вашем коде нужно было лишь добавить пару кавычек:
Код
xOutMsg = "<p style='font-family:ARIAL;font-size:22'><b>Добрый день," & Recipient & "</b><br/>Прошу рассмотреть мою заявку на заказ в приложении.</p>"
 
Вариант с кавычками пробовала, оказался не рабочим, - не выводил весь текст
 
Ну что положили в переменную Recipient, то и выводить должно.
Положили бы
Код
Recipient = Sheets("Main").Range("D2").Text & "</b><br>" & _
          Sheets("Main").Range("D3").Text
- получили бы то, за что сказали спасибо.
Но только с этим .Text нужно аккуратно, можете ##### получить если вдруг числа в такое визуально превратятся.
Изменено: Hugo - 15.05.2020 17:09:01
Страницы: 1
Наверх