Как мне вставить несколько изображений разных диапазонов в сообщение Outlook

#excel #vba

#excel #vba

Вопрос:

Мне удалось создать письмо Outlook с изображением заданного диапазона. Однако попытка вставить 2 изображения разных диапазонов приводит к тому, что одно из изображений отображается правильно, в то время как другое приводит к тому, что «Изображение не может быть отображено».

Это то, что у меня есть на данный момент.

 Sub test()

Dim OApp As Object
Dim OMail As Object
Dim signature As String
Set OApp = CreateObject("Outlook.Application")
Set OMail = OApp.CreateItem(0)
'------------------------------------------------------------------
'MAIL BODY
'------------------------------------------------------------------
Dim mailBody As String
mailBody = _
  "<font size=3 font face=calibri color=black>Dear All,<br><br>" _
amp; "<font size=3 font face=calibri color=black>BLABLABLA.<br><br>"
'------------------------------------------------------------------
'CREATE MAIL IN OUTLOOK
'------------------------------------------------------------------
With OMail
    .To = "TEST@GMAIL.COM"
    .CC = ""
    .BCC = ""
    .Subject = "SUBJECT"
    .Display
    signature = .HTMLBody
    '------------------------------------------------------------------
    'IMAGE OF SELECTION [TOOLS/REFERENCES/MICROSOFT WORD OBJECT LIBRARY]
    '------------------------------------------------------------------
    Dim wdDoc As Word.Document
    Selection.CopyPicture Appearance:=xlScreen, Format:=xlPicture
    Set olApp = CreateObject("Outlook.Application")
    Set wdDoc = OMail.GetInspector.WordEditor
    wdDoc.Range.PasteAndFormat Type:=wdChartPicture
    With wdDoc
        .InlineShapes(1).Height = 170
    End With

    First = .HTMLBody
    '------------------------------------------------------------------
    'IMAGE OF SELECTION [TOOLS/REFERENCES/MICROSOFT WORD OBJECT LIBRARY]
    '------------------------------------------------------------------
    Sheets("X").Range("B2:CW132").CopyPicture Appearance:=xlScreen, Format:=xlPicture
    Set olApp = CreateObject("Outlook.Application")
    Set wdDoc = OMail.GetInspector.WordEditor
    wdDoc.Range.PasteAndFormat Type:=wdChartPicture
    With wdDoc
        .InlineShapes(1).Height = 370
    End With
    '------------------------------------------------------------------
    .HTMLBody = mailBody amp; vbNewLine amp; First amp; .HTMLBody amp; signature

End With
End Sub