This example creates an Outlook object from Word (though this could be from any application which permits COM to be used) and then sends a mail with the message body being mostly derived from a bookmark.
Make sure that the References include your appropriate version of the Outlook object model.
Public Sub OutlookEMail()
Dim oOutlook As Outlook.Application
Dim oMAPI As Outlook.NameSpace
Dim oFolder As Outlook.MAPIFolder
Dim oMailItem As Outlook.MailItem
Dim oRecipient As Outlook.Recipient
On Error Resume Next
' Create an instance of an Outlook Application
Set oOutlook = New Outlook.Application
If Not oOutlook Is Nothing Then
' Get the MAPI NameSpace object
Set oMAPI = oOutlook.Session
If Not oMAPI Is Nothing Then
' Log in to the MAPI session
oMAPI.Logon , , True, True
' Create a pointer to the Outbox folder
Set oFolder = oMAPI.GetDefaultFolder(olFolderOutbox)
If Not oFolder Is Nothing Then
' Create a new item in the Outbox folder
Set oMailItem = oFolder.Items.Add(olMailItem)
If Not oMailItem Is Nothing Then
With oMailItem
.Subject = "Test offline mail"
.Body = "This is a test message containing the text" & _
"within the bookmark, 'bmkTextForMailing', range:" & vbCrLf & _
ActiveDocument.Bookmarks("bmkTextForMailing").Range.Text
' Create the recipients
Set oRecipient = .Recipients.Add("malcolm.smith@dragondrop.com")
oRecipient.Type = olTo
Set oRecipient = .Recipients.Add("ukhorseracing@hotmail.com")
oRecipient.Type = olCC
.Send
Set oRecipient = Nothing
Set oMailItem = Nothing
End With
End If
Set oFolder = Nothing
End If ' oFolder check
oMAPI.Logoff
End If
Set oMAPI = Nothing
End If
Set oOutlook = Nothing
End Sub
If there are any suggestions for updates then please drop me a mail at malcolm.smith@dragondrop.com.