Excel это не сложно

Основные форумы => Вопросы по Excel и VBA => Тема начата: Юлия от 26.12.2011, 12:51:02



Название: Outlook и Excel
Отправлено: Юлия от 26.12.2011, 12:51:02
Доброго времени суток коллеги.
Есть сложность в решении одной задачи.

В прилагаемом файле, реализована возможность отправки писем  из  Excel с помощью  Outlook.
Проблема заключается  в следующем, как можно прописать чтобы в теле письма информация выходила в виде таблички.
В данный момент, информация выходит в столбик.
Кто будет пробовать, в столбце адреса поставьте свой.



Название: Re:Outlook и Excel
Отправлено: doober от 26.12.2011, 13:20:31
Тело письма в формат html и любое форматирование доступно
таблицу я надеюсь вы сможете создать  в html

With CreateObject("Outlook.Application")
 .Session.Logon
 With .CreateItem(0)
 .To = sFio
 .CC = "HZ_2@Nothing.ru"
 .Subject = "Фомат письма"
 .BodyFormat = 2
  .HTMLBody = "<html><body><div>" & _
"<h4><span style=""color: rgb(255, 0, 0); font-weight: bold;"">ПЕРВАЯ СТРОКА,красная и жирная
" & _
"</span></h4></div>" & _
"<h2>The <span style=""color: rgb(51, 204, 0);"">body </span>of this <span" & _
"style=""color: rgb(51, 102, 255);"">message will appear</span> in <span" & _
"style=""color: rgb(255, 0, 0);"">HTML</span>.</h2></body></html>"
 .Attachments.Add sFileName
 .display
 End With
 End With


Название: Re:Outlook и Excel
Отправлено: Юлия от 27.12.2011, 12:08:01
 Дело в том, что есть сложности с  html.

А еще вариант какой нибудь есть ?

Спасибо, за совет.


Название: Re:Outlook и Excel
Отправлено: doober от 28.12.2011, 12:52:28

============================
For i = 20 To 300
                If Range("N" & i).Value > vbNullString Then 'MsgBox " Адрес отсутствует"
                        FIO = Range("A" & i)
                        Dolzhn = Range("B" & i)
                        Podraz = Range("C" & i)
                        Mob = Range("D" & i)
                        Summa = Range("G" & i)
                        Limit = Range("I" & i)
                        Wsego = Range("L" & i)
                  
                   Dim Header As String
               Header = "<table border=""2"">" & _
               "<tr style=""text-align: center;""><td>ФИО</td><td>Должность</td><td>Подразделение</td>" & _
               "<td> № Мобильного</td><td>Сумма  по счету</td><td>Лимит</td><td>Всего к возмещению</td></tr>"
                    '' Составление сообщения
                     Msg = "<h4>Уважаемый(ая) " & FIO & "</h4>" & vbCrLf & vbCrLf
                     Msg = Msg & Header & "<tr style=""text-align: center;"" ><td>" & FIO & "</td>"
                     Msg = Msg & "<td>" & Dolzhn & "</td>"
                     Msg = Msg & "<td>" & Podraz & "</td>"
                     Msg = Msg & "<td>" & Mob & "</td>"
                     Msg = Msg & "<td>" & Summa & "</td>"
                     Msg = Msg & "<td>" & Limit & "</td>"
                     Msg = Msg & "<td>" & Wsego & "</td></tr></table>"
                    Set MItem = OutlookApp.CreateItem(olMailItem)
                    With MItem
                        .Display
                        .BodyFormat = 2
                        .To = EmailAdress
                        .Subject = Subj
                        .HTMLBody = "<html><body><div>" & Msg & "</div></body></html>"
                        .Send
                    End With
        
                End If
                Next i
====================
 Вот такая картинка письма получается
                    


Название: Re:Outlook и Excel
Отправлено: Юлия от 29.12.2011, 04:08:50
Уважаемый знаток, это то-что нужно.
Потрясающе.

Спасибо вам большое.