J'essaie d'incorporer une plage d'une feuille de calcul en tant qu'image dans le corps du courrier Outlook. Il enregistre correctement l'image, mais je ne vois qu'une image vierge dans le corps du courrier Outlook. Qu'est-ce que je fais mal ici?
Sub View_Email()
tName = Trim(MAIN.Range("tEmail"))
If Not tName Like "*@*.*" Then MsgBox "Invalid Email address": Exit Sub
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
'File path/name of the gif file
Fname = ThisWorkbook.Path & "\Claims.jpg"
Set oCht = Charts.Add
STAT.Range("A3:G26").CopyPicture xlScreen, xlBitmap
With oCht
.Paste
.Export Filename:=Fname, Filtername:="JPG"
'.Delete
End With
On Error Resume Next
With OutMail
.To = tName
.CC = ""
.BCC = ""
.Subject = STAT.Range("C1").Value
.HTMLBody = "<html><p>Summary of Claim Status.</p>" & _
"<img src=" & Fname & "' height=520 width=750>"
.display
'.Send 'or use .Display
End With
On Error GoTo 0
'Delete the gif file
'Kill Fname
Set OutMail = Nothing
Set OutApp = Nothing
End Sub
Vous devez ajouter l'image et la cacher. La position 0
l'ajoutera et le masquera.
.Attachments.Add Fname, 1, 0
Le 1
est la constante Outlook olByValue
Une fois que vous avez ajouté l'image, vous devez utiliser "cid:FILENAME.jpg"
comme indiqué ci-dessous.
Essaye ça
With OutMail
.To = tName
.CC = ""
.BCC = ""
.Subject = STAT.Range("C1").Value
.Attachments.Add Fname, 1, 0
.HTMLBody = "<html><p>Summary of Claim Status.</p>" & _
"<img src=""cid:Claims.jpg""height=520 width=750>"
.Display
End With
Capture d'écran