This was a challenge but finally got something working. Adapted from https://stackoverflow.com/questions/...ent-email-body.
Code:
Sub RTFemail()
Dim doc As Object, sel As Object
Dim oWord As Object, oDoc As Object, wRng As Object
'~~> Establish a Word application object
On Error Resume Next
Set oWord = GetObject(, "Word.Application")
'~~> If not found then create new instance
If Err.Number <> 0 Then
Set oWord = CreateObject("Word.Application")
End If
Err.Clear
On Error GoTo 0
'~~> Open the RTF file
Set oDoc = oWord.Documents.Open(FileName:="C:\Test.rtf", ConfirmConversions:=False, _
ReadOnly:=False, AddToRecentFiles:=False, PasswordDocument:="", _
PasswordTemplate:="", Revert:=False, WritePasswordDocument:="", _
WritePasswordTemplate:="", Format:=0, XMLTransform:="", _
Encoding:=1200)
'~~> Get the complete text and copy it
Set wRng = oDoc.Range
wRng.Copy
'~~> Close word Doc
oDoc.Close
Dim appOutLook As Outlook.Application
Dim MailOutLook As Outlook.MailItem
Set appOutLook = CreateObject("Outlook.Application")
Set MailOutLook = appOutLook.CreateItem(olMailItem)
With MailOutLook
.To = "email address"
.BodyFormat = olFormatRichText
.Display
End With
'~~> Paste it in active email
Set doc = appOutLook.ActiveInspector.WordEditor
Set sel = doc.Application.Selection
sel.Paste
'~~> Clean up
Set wRng = Nothing: Set oDoc = Nothing: Set oWord = Nothing
End Sub