Я нашел решения для поста очень полезными
Копирование диапазона Excel как изображения в Outlook
Однако я надеялся, что кто-то может помочь расширить решение, когда дело доходит до использования
wdDoc.Range.PasteAndFormat Type:=wdChartPicture in .HTMLBody
Я хочу вставить картинку после «Доброе утро, цифры обновлены на рисунке ниже», но перед таблицей и «С уважением»:
Public Sub Example()
Dim rng As Range
Dim olApp As Object
Dim Email As Object
Dim Sht As Excel.Worksheet
Dim wdDoc As Word.Document
Set Sht = ActiveWorkbook.Sheets("Summary")
Set rng = Sht.Range("A4:M12")
rng.CopyPicture Appearance:=xlScreen, Format:=xlPicture
With Application
.EnableEvents = False
.ScreenUpdating = False
End With
Set olApp = CreateObject("Outlook.Application")
Set Email = olApp.CreateItem(0)
Set wdDoc = Email.GetInspector.WordEditor
With Email
.To = ""
.CC = ""
.BCC = ""
.Subject = ""
.HTMLBody = "Good Morning,<br><br>Figures updated in Image below:<br><br>"
wdDoc.Range.PasteAndFormat Type:=wdChartPicture
.HTMLBody = .HTMLBody & "<table>" _
& "<TH>" & ThisWorkbook.Worksheets("Summary").Range("E14").Value & "</h1>" _
& "<TH>" & ThisWorkbook.Worksheets("Summary").Range("F14").Value & "</h1>" _
& "<TR><TD>" & ThisWorkbook.Worksheets("Summary").Range("E15").Value & "</td>" _
& "<TD>" & ThisWorkbook.Worksheets("Summary").Range("F15").Value & "</td>" _
& "</table>" _
& "<br>Kind Regards<br>"
.Display
End With
With Application
.EnableEvents = True
.ScreenUpdating = True
End With
Set Email = Nothing
Set olApp = Nothing
End Sub