Картинка из 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д