我在office 2013中使用了以下代码:
With OutMail
.Attachments.Add fName
.HTMLBody = .HTMLBody & "<br><B>" & ChartName & :</B><br>" _ & "<img src='" & fName(i) & "' width='800' height='400'><br>" _
.Display
End With
其中fName是png文件的完整路径,Chartname只是图形的标题。
这一直工作得很好,但现在在office 2016 / O365中,这段代码将一个空的html表粘贴到外循环电子邮件中,并且看不到任何图形或图片。如果有任何关于如何解决这个问题的建议,我们将不胜感激。
发布于 2017-07-27 13:43:24
您的.HTMLBody线路上有错误。试着这样做:
.HTMLBody = .HTMLBody & "<br><B>" & ChartName & ":</B><br>" & "<img src='" &
fName(i) & "' width='800' height='400'><br>"
我添加了一个引号并删除了不需要的_
。
发布于 2017-07-27 17:48:28
创建一个附件并使用Attachment.PropertyAccessor
设置PR_ATTACH_CONTENT_ID
属性(DASL名称"http://schemas.microsoft.com/mapi/proptag/0x3712001F"
)。
然后,您的HTML (MailItem.HTMLBody
属性)需要通过cid引用该图像附件:
img src="cid:xyz"
其中xyz是PR_ATTACH_CONTENT_ID
属性的值。
使用OutlookSpy查看现有邮件(单击IMessage按钮)。
attachment = mailitem.Attachments.Add("c:\temp\MyPicture.jpg")
attachment.PropertyAccessor.SetProperty("http://schemas.microsoft.com/mapi/proptag/0x3712001F", "MyId1")
mailitem.HTMLBody = "<html><body>Test image <img src=""cid:MyId1""></body></html>"
https://stackoverflow.com/questions/45352499
复制