Dim OutApp As Object
Dim OutMail As Object
Dim fname As String
fname = "C:\Users\urdearboy\Desktop\(VBA)\Mail Send\QR_Code.jpg"
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
With OutMail
.SentOnBehalfOfName = "[email protected]"
.to = Target
.Subject = "Email with QR Code Attachement"
.Attachments.Add fname, 1, 0
.HTMLBody = "<font size=3>" _
& "Hello " & Application.WorksheetFunction.Proper(Split(Target.Offset(, 2), " ")(0)) & ", " _
& "<br><br>" _
& "<img src=""cid:QR_Code.jpg""height=100 width=100>" _
& "<br><br>" _
& "Thanks, <br>" _
& "urdearboy"
.Send
图像(带有文件路径
fname
)可在 Windows Outlook 桌面应用程序、Mac 和 Windows 上的 Web Outlook 上加载,但图像不会在 Mac Outlook 桌面应用程序中加载。
有没有办法嵌入此图像,以便 Mac 和 Windows 用户都能加载?
注意:这不是“下载图像”问题。将 Outlook 设置为下载所有图像的用户和未设置为下载图像的用户在下载图像后最终会得到相同的输出。
您需要将附件上的
PR_ATTACH_CONTENT_ID
MAPI 属性(DASL 名称 "http://schemas.microsoft.com/mapi/proptag/0x3712001F"
)设置为 src
属性中使用的值。 Windows 版本更加宽容,当找不到具有正确内容 ID 的附件时,还会查看匹配的文件名附件:
更换线路
.Attachments.Add fname, 1, 0
与
dim attach As Object
...
set attach = .Attachments.Add(fname)
attach.PropertyAccessor.SetProperty("http://schemas.microsoft.com/mapi/proptag/0x3712001F", "QR_Code.jpg")