Картинка из Excel в Outlook - VB

Узнай цену своей работы

Формулировка задачи:

Уважаемы, доброго времени суток! Пробую написать макрос, который через Excel, отправляет электронное сообщение через Outlook. В качестве подписи используется

картинка

. После долгих поисков и методов описанных на разных форумах понял, что лучший вариант, это использовать в теле письма

htmlBody

тэги. В итоге, вроде и текст пишется и картинка вставляется. Но есть одна проблема, если письмо отправлять используя методо

DISPLAY

, то все хорошо (отправляется и текст и картинка), если использовать

SEND

, то уходит только текст, а самой картинки нет. Пробовал ставить пере отправкой письма и после очистки сообщения

таймаут

на отправку, думая, что возможно при отправке не успевает подгрузиться картинка. Если отправить 2 письма,то можно и через DISPLAY, а если это 1000 писем!!.Вот код:

Решение задачи: «Картинка из Excel в Outlook»

textual
Листинг программы
dim cdoMessage, cdoConfig, sch
 
sch = "http://schemas.microsoft.com/cdo/configuration/"
Set cdoConfig = Server.CreateObject("CDO.Configuration")
set cdoMessage = Server.CreateObject("CDO.Message")
 
With cdoConfig.Fields
  .Item(sch & "sendusing") = 2 ' cdoSendUsingPort
  .Item(sch & "smtpserver") = "<your SMTP server>"
  .Item(sch & "sendusername") = "<SMTP username>"
  .Item(sch & "sendpassword") = "<SMTP password>"
  .update
End With
 
Set cdoMessage.Configuration = cdoConfig
cdoMessage.From = "test@test.com"
cdoMessage.ReplyTo = "test@test.com"
cdoMessage.To = "<your test email address>"
cdoMessage.Subject = "Test subject"
cdoMessage.HtmlBody = "<html><body><img src=""cid:myimage.gif""/></body></html>" & vbCrLf
 
Set objBP = cdoMessage.AddRelatedBodyPart("c:\head-logo.gif", "myimage.gif", CdoReferenceTypeName)
objBP.Fields.Item("urn:schemas:mailheader:Content-ID") = "<myimage.gif>"
objBP.Fields.Update
 
cdoMessage.Send

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.667 из 5
Похожие ответы