【发布时间】:2018-10-30 22:25:20
【问题描述】:
我创建了一个表格,该表格将以 HTML 格式放置在 Outlook 电子邮件的正文中。我正在努力将值放入适当的列中。我一直在玩“td”标签,但没有成功。所有值现在彼此相邻,它们之间没有空格,因此不是正确的表格格式。请帮忙!
我的代码:
Public Sub HypMail4()
Dim OutApp As Object
Dim OutMail As Object
Dim strbody As String
Set Out App = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
strbody = ""
strbody = strbody & _
"<html>" & "<table>" & "<font color = ""red""><b>" & Range("A1") &
Range("B1") & Range("C1") & Range("D1") & Range("E1") & "</font></b>" & "
</th>" & _
"<tr>" & Range("A2") & Range("B2") & Range("C2") & Range("D2") & Range("E2")
& "</tr>"
strbody = strbody & _
"<tr>" & Range("A3") & Range("B3") & Range("C3") & Range("D3") & Range("E3")
& "</tr>"
strbody = strbody & _
"<tr>" & Range("A4") & Range("B4") & Range("C4") & Range("D4") & Range("E4")
& "</tr>" & "</table>" & "</html>"
On Error Resume Next
With OutMail
.To = "zzz@example.com"
.CC = ""
.BCC = ""
.Subject = "Test"
.HTMLBody = strbody
.Send
End With
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
End Sub
【问题讨论】:
-
您的代码中没有
<td>标记。您应该阅读 HTML 表格的正确语法:w3schools.com: HTML Tables。还要删除On Error Resume Next,否则您将永远不会注意到发生错误。此行只是隐藏了所有错误消息,但错误仍然发生。 -
我试图放置 td 标签,但它似乎弄乱了输出。任何建议什么应该有 td 什么不应该?还要把它们放在哪里?非常感谢!
标签: excel vba html-table html-email