У меня возникают проблемы с отправкой электронного письма с вложением jpg, которое должно быть центрировано вверху перед текстом.
EmailBody
определено выше по потоку от этого, а Target
- это просто имя из листа Excel (этот макрос вызывается из другого макроса, который проходит через диапазон).
Мне кажется, проблема в том, как я объявляю объекты внешнего вида. Текущие ошибки отсутствуют (после удаления строки On Error Go To
) в Set oAttach = colAttach.Add("C:\Users\urdearboy\Desktop\@\Meme.jpg")
Есть идеи, где я иду не так? Не очень опытный в объектах / свойствах внешнего вида и пытался следовать посту здесь без удачи
Sub Sender(EmailBody As String, Target As Range)
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Dim OutApp As Object
Dim OutMail As Object
On Error GoTo BNP:
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
Set colAttach = OutMail.Attachments
Set oAttach = colAttach.Add("C:\Users\urdearboy\Desktop\@\Meme.jpg")
Set olkPA = oAttach.PropertyAccessor
olkPA.SetProperty PR_ATTACH_CONTENT_ID, "Meme.jpg"
With OutMail
.SentOnBehalfOfName = "urdearboy@so.com"
.to = Target.Offset(0, 1)
.cc = Target.Offset(0, 2)
.Subject = "Check Out This Meme " & Target.Offset(0, 3)
.HTMLBody = "<p style = 'font-family:arial' >" _
& "<BODY><CENTER><IMG src =""cid:Meme.jpg""></CENTER></BODY>" _
& "Hi " & Target.Offset(0, 0) & ", " & "<br>" _
& EmailBody & "</p>" _
& "<p style = 'font-family:arial' >" & "<br>" & "Thanks, " & "<br>" _
& "urdearboy" & "</p>"
'Change to .Send to actually send emails
.Display
Target.Offset(, -1) = "Sent"
End With
BNP:
Set OutApp = Nothing
Set OutMail = Nothing
End Sub