Excel VBA Outlook错误:“链接的图片无法显示……”

前端开发 2026-07-11

我有代码用于组装并发送,或在邮件中显示图片,但图片不会显示。我已经阅读了十几篇关于这个错误的博客,以及在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导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章