There are a few provisos to editing the Outlook message body and the first is not to write to the .Body as that wipes out the signature you want to keep. You also need to open Outlook correctly, for which the function identified and linked at the top of the following macro is ideal. Then you can create a message with your signature pasted content and text
Private Sub Alta1_Click()
'Graham Mayor - https://www.gmayor.com - Last updated - 05 Feb 2019
'Requires the code from
'http://www.rondebruin.nl/win/s1/outlook/openclose.htm
'to start Outlook correctly
Dim OutApp As Object
Dim OutMail As Object
Dim olInsp As Object
Dim wdDoc As Object
Dim oRng As Object
On Error Resume Next
Set OutApp = OutlookApp()
Set OutMail = OutApp.CreateItem(0)
With OutMail
.BodyFormat = 2
.To = ""
.CC = ""
.Subject = "Altahullion 1 fault"
Set olInsp = .GetInspector
Set wdDoc = olInsp.WordEditor
Set oRng = wdDoc.Range(0, 0)
If Time < TimeValue("12:00:00") Then
oRng.Text = "Good Morning," & vbCr & vbCr & _
"Please see the fault below:"
ElseIf Time > TimeValue("12:00:00") And Time < TimeValue("17:00:00") Then
oRng.Text = "Good Afternoon," & vbCr & vbCr & _
"Please see the fault below:" & vbCr & vbCr
Else
oRng.Text = "Good Evening," & vbNewLine & vbNewLine & _
"Please see the fault below:" & vbCr & vbCr
End If
oRng.collapse 0
oRng.Paste
.Display
End With
Set OutApp = Nothing
Set OutMail = Nothing
Set olInsp = Nothing
Set wdDoc = Nothing
Set oRng = Nothing
End Sub