sending rtf,doc,text as message body in outllook 2003 in vb.net

D

Digit Solver

Hi,

I am trying to send a document using vb.net and outlook and words, The type
of file i would like to send are (rtf, doc, txt) as the message body in the
outlook message. Any one with experince in this area the help will be surely
appreciated.

I have added the code below i get some type of hresult type error when i run
this.





Public Sub SendDocMsg(ByVal subjectp As String, ByVal pEmail As String, _
ByVal fileDirLocation As String)

recipient = pEmail
subject = subjectp

Dim oLApp As Object
Dim oItem As Object
Dim oDoc As Object


On Error GoTo errorHandler


'Create a new mailitem
' oOutlook = New Outlook.Application
oLApp = CreateObject("Outlook.Application")
oItem = oLApp.CreateItem(0)
oDoc = CreateObject("Word.Application")
oDoc.Visible = True
oDoc.Documents.Open(fileDirLocation)


With oItem

'Set the recipient for the new email
.To = mRecipient

'Set the recipient for a copy
'.CC = "(e-mail address removed)"

'Set the subject
.Subject = mSubject

'The content of the document is used as the body for the email
.Body = oDoc.ActiveDocument.Content

.Send()
End With


errorHandler:
MsgBox(Err.Number & " " & Err.Description)
'Clean up
oItem = Nothing
oLApp = Nothing
oDoc = Nothing

End Sub ' SendMsg
 
S

Sue Mosher [MVP-Outlook]

Body takes only a plain text string, no formatting. For an HTML message, set HTMLBody to the fully tagged HTML content, e.g. from an .htm file. For RTF, see http://www.outlookcode.com/d/formatmsg.htm for various options.

Do you also have Word 2003 installed?

--
Sue Mosher, Outlook MVP
Author of Configuring Microsoft Outlook 2003

and Microsoft Outlook Programming - Jumpstart for
Administrators, Power Users, and Developers
 
D

Digit Solver

Yes, i have words installed but when i used the oDoc.ActiveDocument.contents
i get a HRESULT error for some reason i don't know why.
 
S

Sue Mosher [MVP-Outlook]

Here's a better way to create a message with the Word document contents as the message body:

Dim env as Office.MsoEnvelope = oDoc.ActiveDocument.MailEnvelope
Dim oItem as Outlook.MailItem
oItem = CType(env.Item, Outlook.MailItem)
With oItem
'Set the recipient for the new email
.To = mRecipient

'Set the recipient for a copy
.CC = "(e-mail address removed)"

'Set the subject
.Subject = mSubject

' next statement will trigger security prompt
.Send()
End With

The message format will always be HTML automatically.
--
Sue Mosher, Outlook MVP
Author of Configuring Microsoft Outlook 2003

and Microsoft Outlook Programming - Jumpstart for
Administrators, Power Users, and Developers


Digit Solver said:
Yes, i have words installed but when i used the oDoc.ActiveDocument.contents
i get a HRESULT error for some reason i don't know why.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top