Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Excel VBA: Диапазон ячеек листа отправить почтой? / 5 сообщений из 5, страница 1 из 1
20.03.2018, 09:47
    #39617247
MAULER
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel VBA: Диапазон ячеек листа отправить почтой?
Здравствуйте.

В интернете много примеров, где происходит отправка письма, с простым текстом.

Как бы мне отправить в качестве тела письма не просто текст, а например, табличку, с границами и определённой заливкой?
Т.е. грубо говоря " Range "

Я в курсе, что есть свойство .HTMLBody , но это слишком затратно, каждую ячейку "причесывать" HTML-тегами, я просто замучаюсь.

Есть ли какой-то более изящный или может "коробочный" способ вложить форматированную табличку в письмо?

Совсем недавно мне подсказали на этом форуме очень ценный прием, при помощи которого можно сохранять форматирование и границы диапазонов Range("zzz").Value(11) Кто бы догадывался, что Value - это массив, а 11-ый элемент, это XML-описание диапазона?!

Может быть есть какой то подобный элемент, который хранит HTML-вариант диапазона? Или я много хочу? ))
...
Рейтинг: 0 / 0
20.03.2018, 12:51
    #39617434
MAULER
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel VBA: Диапазон ячеек листа отправить почтой?
Код: 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.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
'Отправка заданного диапазона почтой
Sub Send_Mail(Address As String)
    
    Dim AWorksheet As Worksheet
    Dim sndRange As Range
    Dim rng As Range
        
    With Application
        .ScreenUpdating = False
        .EnableEvents = False
    End With
    
    Set sndRange = Range(Address)
    Set AWorksheet = ActiveSheet
    
    With sndRange
        
        .Parent.Select
        Set rng = ActiveCell
        
        .Select
                
        ActiveWorkbook.EnvelopeVisible = True
        With .Parent.MailEnvelope
            .Introduction = "Тема письма"
            With .Item
                .To = "user@server.ru"
                .CC = ""
                .BCC = ""
                .Subject = "Таблица с оформлением"
                .Send
            End With
        End With
           
        rng.Select
           
    End With
    
    AWorksheet.Select
    
    With Application
        .ScreenUpdating = True
        .EnableEvents = True
    End With
    
    ActiveWorkbook.EnvelopeVisible = False
    
End Sub
...
Рейтинг: 0 / 0
20.03.2018, 21:22
    #39617848
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel VBA: Диапазон ячеек листа отправить почтой?
MAULER Range("zzz").Value(11) Кто бы догадывался, что Value - это массив, а 11-ый элемент, это XML-описание диапазона?!


OMG
...
Рейтинг: 0 / 0
20.03.2018, 21:28
    #39617849
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel VBA: Диапазон ячеек листа отправить почтой?
...
Рейтинг: 0 / 0
21.03.2018, 17:07
    #39618398
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel VBA: Диапазон ячеек листа отправить почтой?
MAULERкоторый хранит HTML-вариант диапазона?нет, к сожалению. Надо делать преобразование. В этой статье я показывал как это можно сделать: Вставить в письмо Outlook таблицу Excel с форматированием
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Excel VBA: Диапазон ячеек листа отправить почтой? / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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