![HTML 电子邮件签名并不总是显示](https://linux22.com/image/1445808/HTML%20%E7%94%B5%E5%AD%90%E9%82%AE%E4%BB%B6%E7%AD%BE%E5%90%8D%E5%B9%B6%E4%B8%8D%E6%80%BB%E6%98%AF%E6%98%BE%E7%A4%BA.png)
我有一个 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
以创建三个不同的宏。
我还使用该链接中的相关文章创建了自己的按钮并签署了我的宏。在最后阶段,我使用“修改”按钮更改了宏的图标,以便更容易记住哪个宏执行了哪个宏。