Excel+Outlook: Отправка в теле письма таблицы - VB

Узнай цену своей работы

Формулировка задачи:

Привет!
Столкнулся с проблемой, которую самостоятельно "победить" не смог .

Вводная

:
Excel'ный документ с набором макросов и данных.

Что хотелось получить

:
Необходимо сформировать тело письма, в которое надо вставить определенный Range таблицы (10x10 ячеек) и добавить текст ниже таблицы (не связано с таблицей).
Как я пытался сделать:

С выделенной строкой пытаюсь "шаманить", но ничего не получается.
Думал, что можно на халяву указать примерно так, .Body = Worksheets("DATA").Range("A1:Z48").Text, а потом в довесок еще докинуть текстовых данных. Но низяяяяя....
Формировать строку в виде последовательности тегов html'ных этого Range, я не осилю
Помогите, pls.
Укажите в каком направлении копать или примером.
Спасибо!

Решение задачи: «Excel+Outlook: Отправка в теле письма таблицы»

textual
Листинг программы
Sub Рассылка1()
  
    Dim objOutlookApp As Object, objMail As Object
    Dim lr As Long, lLastR As Long
  
    Application.ScreenUpdating = False
    On Error Resume Next
    Set objOutlookApp = CreateObject("Outlook.Application")
    If Err.Number <> 0 Then Set objOutlookApp = Nothing: Set objMail = Nothing: Exit Sub
    objOutlookApp.Session.Logon

    lLastR = Cells(Rows.Count, 1).End(xlUp).Row 
    For lr = 2 To lLastR
        Set objMail = objOutlookApp.CreateItem(0)   
        With objMail
            .to = Cells(lr, 1).Value 
            .Subject = Cells(lr, 2).Value 
            .body = Cells(lr, 3).Value
            .Attachments.Add Cells(lr, 4).Value
            .Send 'Display,
            End With
            Next lr

    Set objOutlookApp = Nothing: Set objMail = Nothing
    Application.ScreenUpdating = True
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4 из 5
Похожие ответы