Excel это не сложно
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
28.03.2024, 16:11:59

Войти
Интересные и полезные статьи по работе с Excel и VBA можно найти в разделе ХИТРОСТИ
33 233 Сообщений в 5 454 Тем от 6 750 Пользователей
Последний пользователь: Alex1210
*
Перейти на сайт Хитрости Надстройка MulTEx Обучающие тренинги Наша группа ВКонтакте
Правила форума Начало Помощь Поиск Календарь Войти Регистрация Выйти
+  Excel это не сложно
|-+  Основные форумы
| |-+  Вопросы по Excel и VBA
| | |-+  Outlook и Excel
Страниц: [1]   Вниз
Печать
Автор Тема: Outlook и Excel  (Прочитано 19094 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Юлия
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 21


Просмотр профиля
« : 26.12.2011, 12:51:02 »

Доброго времени суток коллеги.
Есть сложность в решении одной задачи.

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

Записан
doober
Глобальный модератор
Ветеран
*****

Репутация: +67/-0
Офлайн Офлайн

Сообщений: 634


Просмотр профиля E-mail
« Ответ #1 : 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
Записан
Юлия
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 21


Просмотр профиля
« Ответ #2 : 27.12.2011, 12:08:01 »

 Дело в том, что есть сложности с  html.

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

Спасибо, за совет.
Записан
doober
Глобальный модератор
Ветеран
*****

Репутация: +67/-0
Офлайн Офлайн

Сообщений: 634


Просмотр профиля E-mail
« Ответ #3 : 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
====================
 Вот такая картинка письма получается
                    
« Последнее редактирование: 28.12.2011, 12:54:25 от doober » Записан
Юлия
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 21


Просмотр профиля
« Ответ #4 : 29.12.2011, 04:08:50 »

Уважаемый знаток, это то-что нужно.
Потрясающе.

Спасибо вам большое.
Записан
Страниц: [1]   Вверх
Печать
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2011, Simple Machines Valid XHTML 1.0! Valid CSS!
Яндекс.Метрика Рейтинг@Mail.ru