Solved

Outlook XP - HTML format

Posted on 2004-04-12
9
525 Views
Last Modified: 2010-04-08
In Outlook XP, when we reply to a plain text email, our reply is also formatted in plain text by default.  When we reply we want our html stationery, logo and digital signature to display automatically.  We understand that some recipients will automatically strip our email back to plain text, but we still want to send it in html.  At the moment we have to manually edit each incoming text message, and change the format to html, so that our normal (html) reply will work.  Is there a way to ensure that our replies to text messages are automatically converted to HTML format?
0
Comment
Question by:genders
  • 3
  • 2
  • 2
  • +1
9 Comments
 
LVL 65

Expert Comment

by:rockiroads
ID: 10811610
Not sure about XP, but in 2000, you can select (in Tools/Options/Mail Format)

Always use word to edit messages

how does that work for u
0
 
LVL 65

Expert Comment

by:rockiroads
ID: 10811622
The other way, works only for individual messages is to click on Format and select HTML, this will allow you to reply in HTML
0
 
LVL 23

Expert Comment

by:slink9
ID: 10811960
By default Outlook replies in the original format since it is known that the recipient can read that format.  You will have to change each message as you reply to it.
0
 
LVL 23

Expert Comment

by:slink9
ID: 10811963
If you need to read that from another source look at http://email.calpoly.edu/documentation/outlook_tips.html
0
Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 
LVL 7

Expert Comment

by:rosesolutions1
ID: 10818922
While it is true that OL doesn't give you an easy way to do this, it is quite straightforward.

If you have OL 2002 or later, you can create some VBA code and have it take the place of the reply button.
Best way is probably to have your code create a new message (hence inheriting your stationary, HTML format, signature etc), and copy in the info needed to make it a reply (ie. the addressee, subject line, suitably modified, and possibly the old text...) - that will be less work and less fragile that starting with a reply and trying to apply everything.

Want some code to get you going?
0
 

Author Comment

by:genders
ID: 10820136
Thanks everyone - sorry for the delay, my ISP died for a few hours!
rosesolutions1, I would appreciate some code, please.  I have done a fair bit of VBA coding in Word, Excel & Access, but have never done it in Outlook, and don't even know how to start.
0
 
LVL 7

Accepted Solution

by:
rosesolutions1 earned 500 total points
ID: 10823377
Open the VBA editor in Outlook by pressing Alt-F11, and paste the following code in.
Then create a toolbar button inside a mailitem (just open one, and customise the toolbar) to run this 'macro'.


Sub SpecialReply()
Dim myitem As MailItem

Dim strTo As String
Dim strCC As String
Dim strFrom As String
Dim strSubject As String
Dim strBody As String

'Get information about the message you are replying to
Set myitem = ActiveInspector.CurrentItem 'auto fails if called straight from explorer
strTo = myitem.To
strCC = myitem.CC
strFrom = myitem.SenderEmailAddress
strSubject = myitem.Subject
strBody = myitem.HTMLBody 'although it is plain text, this will keep the formatting
myitem.Close olDiscard

'Populate a new reply
Set myitem = CreateItem(olMailItem) 'should create a new of whatever your default is
myitem.Display
myitem.To = strFrom & "; " & strTo 'you might want to get fancier here to omit yourself - but remember the scenario where there are multiple recipients
myitem.CC = strCC
If Left(strSubject, 4) = "Re: " Then
    myitem.Subject = strSubject
Else
    myitem.Subject = "Re: " & strSubject
End If
myitem.HTMLBody = myitem.HTMLBody & vbCrLf & strBody 'append, so signature block etc are included - use htmlbody to preserve html formatting from signature etc

End Sub
0
 
LVL 7

Expert Comment

by:rosesolutions1
ID: 10823686
Ok - so thats the bulk of the business logic. Now some wrapping so you can call it either from the Outlook main app, or from inside a mail item [just like the built in replyall function], and gancefully deal with most of the wierd things users might accidentally do...


Sub ReplyAllOverride()
'this is the reply all scenario - can also simplify to handle simple reply, and I suppose forward

'Test if an inspector is active (ie the mail item is open)
Set myOlInsp = ActiveInspector
If TypeName(myOlInsp) = "Nothing" Then 'there is no inspector
'if there is an inspector, continue... otherwise, open one or cancel proc
    Set myOlExp = ActiveExplorer
    Set myOlSel = myOlExp.Selection
    If myOlSel.Count = 1 Then 'could be zero or multiples...
        Set myitem = myOlSel.Item(1)
        myitem.Display
    Else
        Exit Sub 'could expand to handle multiples one day...
    End If
End If
'if the item wasnt open already, it is now...
Set myitem = ActiveInspector.CurrentItem 'auto fails if called straight from explorer

If TypeName(myitem) <> "MailItem" Then Exit Sub 'we'll only handle mailitems

If myitem.BodyFormat = olFormatHTML Then 'already html - let outlook defaults do their thing
    Set myreply = myitem.reply
    myitem.Close olDiscard
    myreply.Display 'done
Else
    'Get information about the message you are replying to
    strTo = myitem.To
    strCC = myitem.CC
    strFrom = myitem.SenderEmailAddress
    strSubject = myitem.Subject
    strBody = myitem.HTMLBody 'although it is plain text, this will keep the formatting
    myitem.Close olDiscard
   
    'Populate a new reply
    Set myitem = CreateItem(olMailItem) 'should create a new of whatever your default is
    myitem.Display
    myitem.To = strFrom & "; " & strTo 'you might want to get fancier here to omit yourself...
    myitem.CC = strCC
    If Left(strSubject, 2) = "Re" Then
        myitem.Subject = strSubject
    Else
        myitem.Subject = "Re: " & strSubject
    End If
    myitem.HTMLBody = myitem.HTMLBody & vbCrLf & strBody 'append, so signature block etc are included - use htmlbody to preserve html formatting from signature etc
End If

End Sub
0
 

Author Comment

by:genders
ID: 10829264
Thanks rosesolutions1.
0

Featured Post

What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

Join & Write a Comment

Resolve DNS query failed errors for Exchange
Follow this checklist to learn more about the 15 things you should never include in an email signature from personal quotes, animated gifs and out-of-date marketing content.
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
To add imagery to an HTML email signature, you have two options available to you. You can either add a logo/image by embedding it directly into the signature or hosting it externally and linking to it. The vast majority of email clients display l…

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now