私はJPのコメントが正しい方向を指していると思いますが、あなたの質問はHTMLの知識が限られていると思われます。これはHTMLに関する完全なチュートリアルではありませんが、あなたが始めたことを願っています。
あなたがイミディエイトウィンドウに出力.HTMLBodyへのDebug.Printを使用する場合のようなものが表示されます:
< 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"> <頭>
たくさんのものはここにあります
</h EAD>ここで原料の<ボディ>
たくさん
</body>の</HTML>
はあなたが唯一の "<!DOCTYPE htmlの..." を取得する場合には作成したパッケージメッセージはHTMLのXML版をサポートしています。あなたが見るべき最低限は次のとおりです。
<のhtml> <ヘッド>ここにものがたくさん< /ヘッド> <体>ここ ものがたくさん</body>の</HTML>
の場合余分なメッセージをこの前または最後に置き、HTMLのルールを破っています。何が起こるかは、受信者の電子メールパッケージがいかに寛容であるかに依存します。 HTMLの規則に従うには、 "<本文"と "</body>"の間に余分なメッセージを配置する必要があります。
いくつかのメッセージを見てみると、どのくらい変化するかがわかります。いくつかは白い黒色のテキスト、黒色の白いテキストとその間のあらゆる変化があります。あなたのメッセージは、メッセージの作成者が行ったことに関わらず、読み込み可能でなければなりません。私の提案は、上部に1つのセルテーブルを作成し、フォントと背景の色を設定することです。以下を試して、それをあなたの要件に合わせてください:
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