首页 > 解决方案 > 如何使用 Excel VBA 从 Thunderbird 发送电子邮件正文中的图像?

问题描述

如何使用 Excel VBA 从 Thunderbird 发送电子邮件正文中的图像?

thundnd = "C:\Program Files (x86)\Mozilla Thunderbird\thunderbird.exe " & "-compose " & Chr(34) & _
  "to='" & email & "'," & "subject='" & subj & "'," & "body='" & body & "'," & "format=1," & Chr(34)    
            
Call Shell (thundnd, vbNormalFocus)

我想发送一张图片,不是在附件中,而是在电子邮件的 HTML 正文中。

在 VBA 中,我使用EncodeBase64 对字符串中的图像进行编码。
结果,我在 72 个字符后跳转到下一行。

/9j/4AAQSkZJRgABAQEAYABgAAD/4RCERXhpZgAATU0AKgAAAAgABAE7AAIAAAAGAAAISodp
AAQAAAABAAAIUJydAAEAAAAMAAAQcOocAAcAAAgMAAAAPgAAAAAc6gAAAAgAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

我把它插入身体

<img src="data:image/png;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4RCERXhpZgAATU0AKgAAAAgABAE7AAIAAAAGAAAISodp"
aaqaaaabaaaiujydaaeaaaamaaaqcoocaacaaagmaaaapgaaaaac6gaaaagaaaaaaaaaaaaa="" e.t.c.

就像在这篇文章中一样

标签: excelvbathunderbird

解决方案


我找到了一个简单的答案。

编辑编码字符串并替换字符:vbLf(换行)

correctPicture = Replace(Mid(bytes, 1), vbLf, "")

现在它正在工作。


推荐阅读