![]() |
Word 97 Macro to Create Outlook '03 Email With Text Format
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 |
Word 97 Macro to Create Outlook '03 Email With Text Format
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 ... 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 |
All times are GMT +1. The time now is 03:38 PM. |
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 2.4.0
Copyright ©2004-2006 OutlookBanter.com