title: Paste Excel range as picture into email body
body: <p>My aim is to paste a range as an image into an Outlook email. I turned on the references in the VBA editor for MS Excel, Word and Outlook 15.0 as my latest version on my network.</p>
  
  <p>I've spent hours looking through previously answered similar questions.</p>
  
  <p>I cannot save the image as a temporary file/use html to reference the attachment as a solution due to other users not having access to specific drives where it would be temporarily saved if they ran the code on their own machines.</p>
  
  <p>If I remove the email body section the image pastes fine however if I have both pieces of code in together, the email body writes over the image. I do however need the image to be pasted within the email body text.</p>
  
  <pre><code>Sub CreateEmail()
  
  Dim OlApp As Object
  Dim OlMail As Object
  Dim ToRecipient As Variant
  Dim CcRecipient As Variant
  Dim PictureRange As Range
  Dim OApp As Object, OMail As Object, signature As String
  
  Set OlApp = CreateObject("Outlook.Application")
  Set OlMail = OlApp.createitem(olmailitem)
  
  ExtractName = ActiveWorkbook.Sheets("macros").Range("C11").Value
  
  ToRecipient = ActiveWorkbook.Sheets("macros").Range("K11")
  OlMail.Recipients.Add ToRecipient
  
  CC_Check = ActiveWorkbook.Sheets("macros").Range("k10")
  If CC_Check = "" Then GoTo Skip_CC
  
  CcRecipient = ActiveWorkbook.Sheets("macros").Range("K10")
  
  OlMail.Recipients.Add CcRecipient
  
  OlMail.Subject = ExtractName
  signature = OlMailbody
  With OlMail
  Set PictureRange = ActiveWorkbook.Sheets("DCTVV").Range("A2:D13")
  PictureRange.Copy
  OlMail.Display
  
  'This section pastes the image             
  
  Dim wordDoc As Word.Document
  Set wordDoc = OlMail.GetInspector.WordEditor
  wordDoc.Range.PasteAndFormat wdChartPicture
  
  'This section is the email body it needs inserting into
  
  OlMail.body = "Text here," &amp; vbNewLine &amp; vbNewLine &amp; _
          "Today's report is attached." &amp; vbNewLine &amp; _
          "IMAGE NEEDS TO BE PASTED HERE" _
        &amp; vbNewLine &amp; vbNewLine &amp; "More text here" _
        &amp; vbNewLine &amp; vbNewLine &amp; "Kind regards,"
  .signature
  
  End With
  Set OMail = Nothing
  Set OApp = Nothing
  OlMail.Attachments.Add ("filepath &amp;attachment1")
  OlMail.Attachments.Add ("filepath &amp;attachment2")
  'OlMail.Attachments.Add ("filepath &amp;attachment3")
  
  OlMail.Display 
  
  End Sub
  </code></pre>