HTML 电子邮件签名并不总是显示

HTML 电子邮件签名并不总是显示

我有一个 HTML 电子邮件签名。它并不总是显示,因为有时人们会以纯文本形式回复。所以我的回复也是纯文本。

所以我在网上找到了一个宏,它可以用 HTML 格式发送我的所有电子邮件。显然你不应该这样做,但由于我以 HTML 格式发送所有新电子邮件,所以我不明白为什么不行。

但是现在,它们不再是纯文本,而是 HTML,但始终是 Times New Roman,并且签名不显示徽标,只有文本,但没有格式化。有人知道如何解决这个问题吗?

提前致谢

答案1

我最终使用这篇文章来更新我的宏。

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

我重新创建了三次宏,一个用于转发,一个用于回复,一个用于回复全部,我在顶部重命名它们Sub ForceReplyInHTML以创建三个不同的宏。

我还使用该链接中的相关文章创建了自己的按钮并签署了我的宏。在最后阶段,我使用“修改”按钮更改了宏的图标,以便更容易记住哪个宏执行了哪个宏。

相关内容