【问题标题】:How to attach an HTML jpeg to email?如何将 HTML jpeg 附加到电子邮件?
【发布时间】:2021-10-09 11:23:07
【问题描述】:

我使用 Excel 来群发邮件客户端。我的 VBA 代码找不到广告的 HTML jpeg。

是imgur链接不好还是我的代码?

MailWindows()
    Dim OutApp As Object
    Dim OutMail As Object
    Dim cell As Range

    Application.ScreenUpdating = False
    Set OutApp = CreateObject("Outlook.Application")

    On Error GoTo cleanup
    For Each cell In Columns("B").Cells.SpecialCells(xlCellTypeConstants)
        If cell.Value Like "?*@?*.?*" Then

            Set OutMail = OutApp.CreateItem(0)
    
            On Error Resume Next
            With OutMail
                .To = cell.Value
                .Subject = "insert here"
.Attachments.Add Fname, 1, 0
                .HTMLBody = "<img src=""cid:"https://url.jpeg height=1650 width=1275>"
                .Display  
            End With
            On Error GoTo 0
            Set OutMail = Nothing
        End If
    Next cell

cleanup:
    Set OutApp = Nothing
    Application.ScreenUpdating = True
End Sub

【问题讨论】:

  • 检查您的报价。看到这里的代码变成橙色了吗?
  • 请尝试"&lt;img src=""cid:"https://url.jpeg"" height=1650 width=1275&gt;",并尝试定义Fname,它应该以某种方式与cell 范围相关(可能在同一行的以下单元格中)。除此之外,使用Dim cell As Range 也不好(甚至被 VBA 接受)。 cell 对 VBA 有明确的含义,如果代码变得更复杂,您或其他人在调试时可能会感到困惑。尝试使用Dim cel As Range,例如...
  • 以上建议没有解决您的问题吗?
  • 谢谢。它和 Dmitry 解决了它。

标签: html excel vba outlook jpeg


【解决方案1】:

除了引用问题之外,您还通过 cid (content-id) 引用图像,这意味着电子邮件客户端必须在同一邮件中查找 Content-ID MIME 标头设置为 https://url.jpeg 的附件。

如果您要引用外部图像,则必须是

.HTMLBody = "<img src=""https://url.com/someimage.jpeg"" height=1650 width=1275>"

如果引用嵌入图像,则需要实际添加附件并使用Attachment.PropertyAccessor.SetProperty 适当地设置PR_ATTACH_CONTENT_ID MAPI 属性

【讨论】:

  • 德米特里,非常感谢您的解决。我不敢相信我忘记了 .jpeg,而且我正在非常坚定地学习这一切。
  • 感谢大家的帮助!
  • @DavidZubick - 如果回复回答了您的问题,请将其标记为此类。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-25
  • 1970-01-01
  • 2010-12-09
  • 2012-10-30
  • 2013-12-17
相关资源
最近更新 更多