2016-09-29 82 views
0

我在MS Access中使用此代碼來打開保存的HTML Outlook模板。代碼在電子郵件正文中搜索「SALUTATION」,並用我的表單中的控件數據替換它。代碼丟失Outlook電子郵件模板格式

它工作得很好,但我失去了格式化文本,多個鏈接和一些圖像的電子郵件格式。

如何更改我的代碼以保持原始格式?

Private Sub Command139_Click() 
Dim myOlApp As Outlook.Application 
Dim MyItem As Outlook.MailItem 
Dim value As String 
    value = Me.Salutation & " " & Me.LastName 
     Set myOlApp = CreateObject("Outlook.Application") 
    Set MyItem = myOlApp.CreateItemFromTemplate("C:\Users\Meiaer\AppData\Roaming\Microsoft\Templates\ELMOVM.oft") 
     MyItem.Display 
    With MyItem 
     .To = Me.EMAIL_ADDRESS 
     MyItem.Body = Replace(MyItem.Body, "SALUTATION", value) 
    End With 
Set MyItem = Nothing 
Set myOlApp = Nothing 
End Sub 

謝謝

回答

0

你需要編輯MyItem.HTMLBody,不MyItem.Body(這是郵件正文的明文表示)。

https://technet.microsoft.com/en-us/library/ff868941(v=office.14).aspx

+0

這是最後大感迷惑它MyItem.HTMLBody =替換(MyItem.HTMLBody, 「敬禮」,值)「我想: 「MyItem.HTMLBody =替換(MyItem.Body,「稱呼「,value)' and 'MyItem.Body = Replace(MyItem.HTMLBody,」SALUTATION「,value)' 但我從未想過要試試'MyItem.HTMLBody = Replace(MyItem.HTMLBody,」SALUTATION「,value )' –

+0

@UWWannaBe:值得一讀:[調試VBA代碼](http://www.cpearson.com/excel/DebuggingVBA.aspx)。 - 如果答案解決了你的問題,你可以[接受](http://stackoverflow.com/help/someone-answers)它,這也標誌着問題已解決。 – Andre