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

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

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

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

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

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

Может быть есть какой то подобный элемент, который хранит HTML-вариант диапазона? Или я много хочу? ))
...
Рейтинг: 0 / 0
Excel VBA: Диапазон ячеек листа отправить почтой?
    #39617434
MAULER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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
Excel VBA: Диапазон ячеек листа отправить почтой?
    #39617848
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MAULER Range("zzz").Value(11) Кто бы догадывался, что Value - это массив, а 11-ый элемент, это XML-описание диапазона?!


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


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