首页 文章

VBA:在 Lotus Notes 中使用 HTML 突出显示文本

提问于
浏览
1

通过在带有 VBA 的 Lotus Notes 中使用 HTML,我很难对文本进行简单的突出显示。

我使用了以下属性<span style=background:yellow;mso-highlight:yellow><style="background-color:yellow">,但没有成功,而我几乎要放弃了。是否可以在 Lotus Notes 上执行此简单操作?

附件是我的代码和结果截图:

  • VBA 代码

子 SendLocalExtensionEmail()

Dim nMailBody As String
Dim nMailSubject As String
Dim nMailRecipient As Variant
Dim nMail As Object
Dim nSession As Object
Dim nDatabase As Object
Dim nMime As Object
Dim nMailStream As Object
Dim nChild As Object
Dim nSomeMailBodyText As String
Dim amountOfRecipients As Integer
msg_var = "<font face=Arial> <p style=font-size:10pt>" & _
          "Dear Sir/ Madam, 
" & _ "
" & _ "MANY LINES OF TEXT" & _ "<font color=red><span style=background:yellow;mso-highlight:yellow>" & _ "Please revert within 5 working days" & _ "</font></span>" & _ "Best Regards,
" & _ "</font>"
nSomeMailBodyText = msg_var
    nMailRecipient = ""
    nMailSubject = "A great email"

    Set nSession = CreateObject("Notes.NotesSession")
    Set nDatabase = nSession.GetDatabase("", "")
    Call nDatabase.OPENMAIL
    Set nMail = nDatabase.CreateDocument

    nMail.SendTo = "hello@world.com"
    nMail.Subject = "hello@world.com"

    nSession.ConvertMIME = False
    Set nMime = nMail.CreateMIMEEntity
    Set nMailStream = nSession.CreateStream

    'vBody containung the text in Html
    Call nMailStream.WriteText(nSomeMailBodyText)
    Call nMailStream.WriteText("<br>")

    '-------------------------------------------------------------------

    Set nChild = nMime.CreateChildEntity
    Call nChild.SetContentFromText(nMailStream, "text/html;charset=iso-8859-1", ENC_NONE)
    Call nMailStream.Close
    nSession.ConvertMIME = True
    Call nMail.Save(True, True)
    'Make mail editable by user
    CreateObject("Notes.NotesUIWorkspace").EDITDOCUMENT True, nMail
    'Could send it here
End Sub
  • 和我的结果的输出:

输出结果

请帮助 !我很好奇知道那里发生了什么。

1 回答

  • 1

    酸性测试是如果将 HTML 发送给 Notes 用户,则 HTML 是否有效。如果它满足您的要求,那么 Notes 客户端可以处理它,并且您的代码没有发送您认为应该的内容。如果不是这样,则 Notes 无法处理该 HTML 构造,您需要找到另一种方法来完成您想要的事情。

    通过使用 Telnet 到端口 25 上的 Domino 服务器来测试 HTML,并将其寻址到测试用户。 教程中有很多个涉及基本技术。他们中的大多数人都没有提到(a)将消息的内容键入文件并将其粘贴到 telnet 窗口比键入消息要容易得多-紧接着是几行换行符和带有点字符的行,另一个换行符;以及(b)邮件的内容包括标准标头和 mime 标头,因此,如果您不知道这些内容,则必须了解一些有关它们的工作原理。

    除了阅读相关的 RFC 20455322之外,学习 qbout 标头的最佳方法是简单地检查收到的邮件的来源-e.g. ,通过 gmail 中的“显示原始邮件”,或在 Notes 中查看-显示-页面来源。 Notes 非常宽容。不需要“收件人:”,“主题:”和“日期:”标题。收件人将由“ RCPT TO”命令确定,该命令在您输入消息之前出现。您肯定需要一个 content-type 标头,指定 text/html; charset=iso-8859-1。不要忘记在最后一个标题行和实际邮件内容之间插入空白行。 (请注意,为此,您不必担心设置多部分消息并处理节边界的问题,因此,如果要在收到消息的源之后进行建模,则只需寻找一个简单的消息即可.content-type: text/html;charset=something标头在第一个空白 line.)之前

相关问题