Excel VBA Outlook错误:“链接的图片无法显示……”
我有代码用于组装并发送,或在邮件中显示图片,但图片不会显示。我已经阅读了十几篇关于这个错误的博客,以及在HTML正文中如何使用CID,看起来我的代码是正确的。我还尝试调整Outlook的信任中心设置,寻找但未找到会阻止Outlook显示图片的注册表项。我也尝试把邮件发给同事,他们也看不到图片。任何帮助都将不胜感激!以下是我的代码:
Sub SendGreatEmail()
Dim OutlookApp As Object
Dim MailItem As Object
Set OutlookApp = CreateObject("Outlook.Application")
Set MailItem = OutlookApp.CreateItem(0) ' 0 corresponds to olMailItem
RecipientEmail = ""
EmailSubject = "GREAT JOB TODAY! Queue Answer Rate Over 92%!"
imagePath = "C:\Avaya Report\Smiling Bulldozer.jpg" '
ImageName = "Bulldozer"
EmailBody = "<html><body><img src='cid:" & ImageName & "' width='400' height='300'></body></html>"
With MailItem
.Attachments.Add imagePath, 1, 1, ImageName
.To = RecipientEmail
.Subject = EmailSubject
.HTMLBody = EmailBody
.Display ' Use .Send to send without viewing, .Display to view before sending
End With
Set MailItem = Nothing
Set OutlookApp = Nothing
End Sub
解决方案
如果将 cid 作为图片源,附件也必须同时设置 PR_ATTACH_CONTENT_ID:
将以下行
.Attachments.Add imagePath, 1, 1, ImageName
替换为
set attach = .Attachments.Add(imagePath, 1, 1, ImageName)
attach.PropertyAccessor.SetProperty "http://schemas.microsoft.com/mapi/proptag/0x3712001F", ImageName
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。