The particular function does not allow for the message to be automatically sent - merely displayed. If you want to send it, via Outlook, then try the following instead. Outlook must be configured to send mail immediately or it goes to the Outbox.
Sub SendMyWorkBook()
Dim olApp As Object
Dim olMail As Object
Dim strFileName As String
Dim bStarted As Boolean
ActiveWorkbook.Save
strFileName = ActiveWorkbook.FullName
Set olApp = GetObject(, "Outlook.Application")
If Err <> 0 Then
Set olApp = CreateObject("Outlook.Application")
bStarted = True
End If
Set olMail = olApp.CreateItem(0)
With olMail
.To = "someone AT somewhere.com" 'email address
'.CC = "someoneelse AT somewhere.com"
'.BCC = "someoneelse AT somewhere.com"
.Subject = "Monthly Report" 'Message subject
.Body = "Report updated " & Format(Date, "d MMMM yyyy") 'message body
.Attachments.Add strFileName
.Send
End With
If bStarted Then
olApp.Quit
End If
'Clean up
Set olMail = Nothing
Set olApp = Nothing
End Sub