There's no simple solution in your scenario of mixed versions. The Body property has no formatting features. HTMLBody takes a fully formatted HTML string, but to get that HTML content from your Word document, you'd have to save the Word document as an HTML file, then read the text of that file into HTMLBody. Even then, it wouldn't handle embedded images correctly.
Your best option would be to upgrade to Office 2003 (Word and Outlook need to be from the same SKU) or better yet, 2007. Or, consider using the third-party Redemption library. See
http://www.outlookcode.com/article.aspx?id=31 for more information.
--
Sue Mosher, Outlook MVP
Author of Microsoft Outlook 2007 Programming:
Jumpstart for Power Users and Administrators
http://www.outlookcode.com/article.aspx?id=54
"John Ciccone" wrote in message news

Perhaps this should be in the Word discussion group, but I use a Word 97
macro that creates an email with Outlook 2003.
That email uses the contents of the current Word document as the body of the
email.
Test formatting is lost in the process. Any way to maintain (bold,
underline, colour, etc.)?
Thank you.
PS: The macro is from http://word.mvps.org/FAQs/InterDev/SendMail.htm:
Sub SendDocumentInMail()
Dim bStarted As Boolean
Dim oOutlookApp As Outlook.Application
Dim oItem As Outlook.MailItem
On Error Resume Next
'Get Outlook if it's running
Set oOutlookApp = GetObject(, "Outlook.Application")
If Err 0 Then
'Outlook wasn't running, start it from code
Set oOutlookApp = CreateObject("Outlook.Application")
bStarted = True
End If
'Create a new mailitem
Set oItem = oOutlookApp.CreateItem(olMailItem)
With oItem
'Set the recipient for the new email
.To = "
'Set the recipient for a copy
.CC = "
'Set the subject
.Subject = "New subject"
'The content of the document is used as the body for the email
.Body = ActiveDocument.Content
.Send
End With
If bStarted Then
'If we started Outlook from code, then close it
oOutlookApp.Quit
End If
'Clean up
Set oItem = Nothing
Set oOutlookApp = Nothing
End Sub