В большинстве случаев использование MailEnvelope действительно хорошо работает в Excel.
Потренируйтесь с этим кодом, запустите его и установите флажок отправлено в Outlook.
Sub EmAiLtoDave()
'Working in Excel 2002-2013
Dim Sendrng As Range
On Error GoTo StopMacro
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
Set Sendrng = Range("A1:E26")
Sendrng.Select
'Create the mail and send it
With Sendrng
ActiveWorkbook.EnvelopeVisible = True
With .Parent.MailEnvelope
' Set the optional introduction field thats adds
' some header text to the email body.
.Introduction = "Hi"
With .Item
.To = "SomeBody@Somewhere.com"
.CC = ""
.BCC = ""
.Subject = "EOD SWAPTION CHECK: " & Range("A1")
.Send
End With
End With
End With
StopMacro:
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
ActiveWorkbook.EnvelopeVisible = False
End Sub