oft outlook vba string替换不用于表的邮件

时间:2015-09-05 11:49:31

标签: vba email outlook

想要替换Outlook邮件文件中的一些字符串。编写了以下代码 但是如果我使用MyItem.HTMLBody,那么文件有表格没有显示。还有其他选择吗?

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim myOlApp As Outlook.Application
    Dim MyItem As Outlook.MailItem
    Dim up As Object
    Dim ation As Object
    Dim hsbcval As Object

    up = TextBox1.Text
    ation = TextBox2.Text
    hsbcval = TextBox3.Text

    myOlApp = CreateObject("Outlook.Application")
    MyItem = myOlApp.CreateItemFromTemplate("D:\this.oft")
     MyItem.HTMLBody = Replace(MyItem.HTMLBody, "IDSPUPZ", up)
     MyItem.HTMLBody = Replace(MyItem.HTMLBody, "HANMZ", ation)
     MyItem.HTMLBody = Replace(MyItem.HTMLBody, "HSBCVALZ", hsbcval)
    MyItem.Display()
End Sub

1 个答案:

答案 0 :(得分:0)

首先,确保您通过替换操作获得有效的HTML标记。

其次,Outlook使用Word来呈现HTML标记,而不支持所有HTML标记/元素。在MSDN的以下文章中阅读有关受支持和不受支持的HTML元素,属性和级联样式表属性的更多信息:

确保结果HTML标记正确地在Word中呈现。

最后,确保将BodyFormat属性设置为HTML。正文文本格式确定用于显示消息文本的标准。 Microsoft Outlook提供三种正文文本格式选项:纯文本,富文本(RTF)和HTML。请注意,当BodyFormat属性从RTF切换到HTML时,所有文本格式都将丢失,反之亦然。