То, что в настоящее время происходит в вашем коде, - команда вставки изображения, удаляющая HTML-код уже в теле письма.Если вы сначала вставите, а затем измените текущий HTMLbody (изображение) на свой String HTML, вы получите желаемые результаты.Примечание: вам может понадобиться поэкспериментировать с этим, чтобы удовлетворить ваши точные потребности форматирования электронной почты.
Редактировать: Я включил полный Sub теперь ниже.Я также добавил .display
перед добавлением строки BODY к вставленному изображению.Между тестированием и публикацией я удалил .display
, но позже понял, что это необходимо для ссылки на значение .htmlbody
.
Sub SendCA_list()
Dim oApp As Object
Set oApp = CreateObject("Outlook.Application")
Dim oMail As Object
Set oMail = oApp.CreateItem(0)
Dim rng As Range
Set rng = Range("Table4[[#All],[Department]:[Status]]")
rng.Copy 'copy required table
Dim p As Picture
Set p = ActiveSheet.Pictures.Paste 'paste and cut the table to make it picture
p.Cut
Dim strbody As String
With oMail
.Subject = "Request for CAs - ISO Audit"
strbody = "<BODY style='font-size:12pt;font-family:HP Simplified'>" & "Hi,<br><br>Please see attached the ISO Internal Audit Report and the open AIs (in the table below).<br><br>Best Regards,<br>Shira<br><br></BODY>"
Dim wordDoc As Object
Set wordDoc = oMail.GetInspector.WordEditor
wordDoc.Range.Paste
.Display
.htmlbody = strbody & .htmlbody
End With
End Sub