我覺得日本的評論點你在正確的方向,但我認爲從HTML知識有限你的問題的結果。這不是關於HTML的完整教程,但我希望它能讓你開始。
如果使用Debug.Print輸出.HTMLBody眼前的窗口,你會看到類似這樣的:
< DOCTYPE HTML PUBLIC 「 - // W3C // DTD XHTML 1.0過渡// EN」 「http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd」> < html xmlns =「http://www.w3.org/1999/xhtml」> < head>
很多東西在這裏
</h EAD> <體>
很多的東西在這裏
</BODY> </HTML>
你只會得到 「<!DOCTYPE HTML ...」 如果包創建的消息支持HTML的XML版本。你應該看到最小值爲:
< HTML> <頭「很多東西在這裏< /頭」<體>的 東西很多在這裏</BODY> </HTML>
如果你將額外的信息放在前面或結尾處,然後你打破了HTML的規則。發生什麼將取決於如何寬恕接收者的電子郵件包。爲了符合HTML規則,您必須在「< body>」和「</body>」之間放置額外的消息。
如果您仔細查看幾條消息,您會看到它們可以變化多少。有些將是白色的黑色文字,黑色的一些白色文字以及兩者之間的各種變化。無論消息的作者做了什麼,你的消息都必須是可讀的。我的建議是在頂部創建一個單元格表格,然後設置字體和背景顏色。請嘗試以下操作,然後根據您的要求進行調整:
Dim AddedMsg As String
Dim Pos As Long
' Create message to be inserted
' =============================
' Start a table with white background and blue text
AddedMsg = "<table border=0 width=""100%"" style=""Color: #0000FF"" bgColor=#FFFFFF>"
' Add row with single cell
AddedMsg = AddedMsg & "<tr><td><p>Cool stuff you must see!!</p></td></tr>"
' End table
AddedMsg = AddedMsg & "</table>"
' Code to add message once you have checked there is an HTML body
'================================================================
Pos = InStr(1, LCase(.HTMLBody), "<body")
If Pos = 0 Then
' This should be impossible.
Call MsgBox("<Body> element not found in HTML body", vbCritical)
' Code to handle impossible situation
End If
Pos = InStr(Pos, .HTMLBody, ">")
If Pos = 0 Then
' This should be impossible.
Call MsgBox("Terminating > for <Body> element not found in HTML body", vbCritical)
' Code to handle impossible situation
End If
'Insert your message
.HTMLBody = Mid(.HTMLBody, 1, Pos) & AddedMsg & Mid(.HTMLBody, Pos + 1)
請嘗試更新'.HTMLBody'。您需要稍微不同的語法:'itmNew.HTMLBody = myMessage&「
」&itmNew.HTMLBody' – JimmyPena