If you use the Outlook Word Editor as follows to create the message the default signature is retained and you process the message body as if working in Word from VBA.
You will need to add the code function to start Outlook as indicated
Private Sub CommandButton1_Click()
Dim TempFilePath As String
Dim xOutApp As Object
Dim xOutMail As Object
Dim olInsp As Object
Dim wdDoc As Object
Dim oRng As Object
Dim xHTMLBody As String
Dim xRg As Range
On Error Resume Next
Set xRg = Application.InputBox("Please select the data range:", "KuTools for Excel", Selection.Address, , , , , 8)
If xRg Is Nothing Then Exit Sub
With Application
.Calculation = xlManual
.ScreenUpdating = False
.EnableEvents = False
End With
Set xOutApp = OutlookApp() 'requires code from http://www.rondebruin.nl/win/s1/outlook/openclose.htm to start Outlook correctly
Set xOutMail = xOutApp.CreateItem(0)
With xOutMail
Call createJpg(ActiveSheet.Name, xRg.Address, "DashboardFile")
TempFilePath = Environ$("temp") & "\"
Set olInsp = .GetInspector
Set wdDoc = olInsp.WordEditor 'access the message body for editing
.To = ""
.Cc = ""
'.Bcc = ""
.Subject = "MONEY FOR " & Format(Date, "MM/DD/YYYY")
.Attachments.Add TempFilePath & "DashboardFile.jpg", 1
.Display
Set oRng = wdDoc.Range
oRng.Collapse 1
oRng.Text = "Hi Jo," & vbCr & vbCr & "Below are the numbers for today. Let me know if you have any questions." & vbCr & vbCr
oRng.Collapse 0
wdDoc.InlineShapes.AddPicture FileName:=TempFilePath & "DashboardFile.jpg", Range:=oRng
oRng.End = oRng.End + 1
oRng.Collapse 0
oRng.Text = vbCr & vbCr & "Thanks," & vbCr
End With
End Sub