0

I have an HTML email signature. It didn't show all the time, because sometimes people reply in plain text. So my replies are also in Plain Text.

So I found a macro on the internet that sends all my emails in HTML. Apparently you shouldn't do this, but since I send all new emails in HTML I can't see why not.

However, now, instead of being plain text, they are HTML, but always in Times New Roman, and the signature does not show the logo, just the text but not formatted. Does anyone know how to resolve this issue?

Thanks in advance

5
  • I generally just switch the reply back to HTML and then replace the signature, it will pick up the correct html sig Commented Apr 2, 2015 at 12:55
  • I know but I got bored of that. So I found a Macro. That works sometimes, and at other times it requires me to do the same. The unfortunate thing is it also requires me to change my font back to Arial... so much for the shortcut lol
    – Eoin
    Commented Apr 3, 2015 at 10:34
  • I think it may be because the switch format command in VBA doesn't apply the correct template to the email. TNR will be the default font with no template. Commented Apr 3, 2015 at 14:14
  • Worth investigating. I'm not currently using a template as such, but I assume that's not what you mean.
    – Eoin
    Commented Apr 8, 2015 at 14:38
  • No, Outlook uses a built-in template to format HTML messages. When you switch from text to html, it doesn't apply the template so you have to change the formatting yourself. Commented Apr 9, 2015 at 8:18

1 Answer 1

1

I ended up using this article to update my Macro.

http://www.howto-outlook.com/howto/replyinhtml.htm

Sub ForceReplyInHTML()

    '=================================================================
    'Description: Outlook macro to reply to a message in HTML
    '             regardless of the current message format.
    '             The reply will use your HTML signature as well.
    '
    'author : Robert Sparnaaij
    'version: 1.0
    'website: http://www.howto-outlook.com/howto/replyinhtml.htm
    '=================================================================

        Dim objOL As Outlook.Application
        Dim objSelection As Outlook.Selection
        Dim objItem As Object
        Set objOL = Outlook.Application

        'Get the selected item
        Select Case TypeName(objOL.ActiveWindow)
            Case "Explorer"
                Set objSelection = objOL.ActiveExplorer.Selection
                If objSelection.Count > 0 Then
                    Set objItem = objSelection.Item(1)
                Else
                    Result = MsgBox("No item selected. " & _
                                "Please make a selection first.", _
                                vbCritical, "Reply in HTML")
                    Exit Sub
                End If

            Case "Inspector"
                Set objItem = objOL.ActiveInspector.CurrentItem

            Case Else
                Result = MsgBox("Unsupported Window type." & _
                            vbNewLine & "Please make a selection" & _
                            " or open an item first.", _
                            vbCritical, "Reply in HTML")
                Exit Sub
        End Select

        Dim olMsg As Outlook.MailItem
        Dim olMsgReply As Outlook.MailItem
        Dim IsPlainText As Boolean

        'Change the message format and reply
        If objItem.Class = olMail Then
            Set olMsg = objItem
            If olMsg.BodyFormat = olFormatPlain Then
                IsPlainText = True
            End If
            olMsg.BodyFormat = olFormatHTML
            Set olMsgReply = olMsg.Reply
            If IsPlainText = True Then
                olMsg.BodyFormat = olFormatPlain
            End If
            olMsg.Close (olSave)
            olMsgReply.Display

        'Selected item isn't a mail item
        Else
            Result = MsgBox("No message item selected. " & _
                        "Please make a selection first.", _
                        vbCritical, "Reply in HTML")
            Exit Sub
        End If

        'Cleanup
        Set objOL = Nothing
        Set objItem = Nothing
        Set objSelection = Nothing
        Set olMsg = Nothing
        Set olMsgReply = Nothing

    End Sub

I recreated the macro three times, one for forward, one for reply, one for reply all, I renamed them at the top Sub ForceReplyInHTML to create the three differing Macros.

I also used the related articles in that link to create myself buttons and sign my macros. In the final stage I used the Modify button to change the icons of my Macros to make it easier to remember which one did which.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .