【发布时间】:2019-05-01 19:05:44
【问题描述】:
我想发送一封由 Excel VBA 生成的个性化电子邮件。
电子邮件包含个性化文本,后跟包含图像的 html 文件。
我尝试了以下代码,但没有显示图像。
Sub Mail_Outlook_With_Html_Doc()
Dim OutApp As Object
Dim OutMail As Object
Dim strbody As String
Dim oFSO As Object
Dim oFS As Object
Dim sText As String
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFS = oFSO.OpenTextFile("C:\....\invite.htm")
Do Until oFS.AtEndOfStream
sText = oFS.ReadAll()
Loop
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
'strbody = personalized email body generated here
On Error Resume Next
With OutMail
.display
.To = ToAdd
.CC =
.BCC = ""
.Subject = "Test Email"
.ReadReceiptRequested = True
' the html file is appended here to the personalized email body generated
.HTMLBody = strbody & sText
.Send
End With
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
End Sub
上面提到的invite.htm 包含发送电子邮件时不可见的图像。既不在发送的电子邮件中,也不在收到的电子邮件中。
【问题讨论】:
-
我认为您的 .htm 文件可能存在问题。图片是本地参考吗?我逐字记录了您的代码并设置了 .HTMLBody = "" 并且加载图像没有问题。它还使用通用字符串代替 strBody 和 HTML sn-p 代替 sText。
-
.html 文件中有多个图像。还有一些文本被格式化成两列的表格。这有什么改变吗?
标签: html excel vba image outlook