2015-09-05 46 views
1

想要替換一些字符串在Outlook中的郵件文件.have寫下面的代碼 但常量文件有表,如果我使用MyItem.HTMLBody不顯示。有沒有其他的選擇?oft outlook vba字符串替換不工作oft郵件與表

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 

回答

0

首先,確保您將替換操作的結果作爲有效的HTML標記。

其次,Outlook使用Word來呈現HTML標記,而不是支持所有的HTML標記/元素。瞭解更多關於在MSDN中的以下文章支持和不支持HTML元素,屬性和級聯樣式表屬性:

確保結果的HTML標記在Word中呈現正常。

最後,確保將BodyFormat屬性設置爲HTML。正文文本格式決定了用於顯示消息文本的標準。 Microsoft Outlook提供三種正文文本格式選項:純文本,RTF(RTF)和HTML。請注意,當BodyFormat屬性從RTF切換到HTML時,所有文本格式都將丟失,反之亦然。