, прежде чем кто-либо это предложит, я часами просматривал ранее отвеченные на подобные вопросы и не могу, пока не пойму, где ошибаюсь. Как и предполагалось, моя цель - вставить диапазон в виде изображения в электронное письмо Outlook. Я уже включил ссылки в редакторе VBA для MS Excel, Word и Outlook 15.0 в качестве моей последней версии в моей сети. Я не могу сохранить изображение как временный файл / использовать html, чтобы ссылаться на вложение как на решение, поскольку другие пользователи не имеют доступа к определенным дискам, где оно будет временно сохранено, если они запустят код на своих компьютерах.
Если я удаляю секцию тела письма, изображение вставляется нормально (может потребоваться изменение размера, но это может подождать пока), однако, если у меня есть оба фрагмента кода вместе, тело письма записывается поверх изображения. Однако мне нужно, чтобы изображение было вставлено в текст сообщения электронной почты ниже.
Заранее спасибо
Sub CreateEmail()
Dim OlApp As Object
Dim OlMail As Object
Dim ToRecipient As Variant
Dim CcRecipient As Variant
Dim PictureRange As Range
Dim OApp As Object, OMail As Object, signature As String
Set OlApp = CreateObject("Outlook.Application")
Set OlMail = OlApp.createitem(olmailitem)
ExtractName = ActiveWorkbook.Sheets("macros").Range("C11").Value
ToRecipient = ActiveWorkbook.Sheets("macros").Range("K11")
OlMail.Recipients.Add ToRecipient
CC_Check = ActiveWorkbook.Sheets("macros").Range("k10")
If CC_Check = "" Then GoTo Skip_CC
CcRecipient = ActiveWorkbook.Sheets("macros").Range("K10")
OlMail.Recipients.Add CcRecipient
OlMail.Subject = ExtractName
signature = OlMailbody
With OlMail
Set PictureRange = ActiveWorkbook.Sheets("DCTVV").Range("A2:D13")
PictureRange.Copy
OlMail.Display
Этот раздел вставляет изображение
Dim wordDoc As Word.Document
Set wordDoc = OlMail.GetInspector.WordEditor
wordDoc.Range.PasteAndFormat wdChartPicture
Этот раздел - тело письма, которое нужно вставить в
OlMail.body = "Text here," & vbNewLine & vbNewLine & _
"Today's report is attached." & vbNewLine & _
"IMAGE NEEDS TO BE PASTED HERE" _
& vbNewLine & vbNewLine & "More text here" _
& vbNewLine & vbNewLine & "Kind regards,"
.signature
End With
Set OMail = Nothing
Set OApp = Nothing
OlMail.Attachments.Add ("filepath &attachment1")
OlMail.Attachments.Add ("filepath &attachment2")
'OlMail.Attachments.Add ("filepath &attachment3")
OlMail.Display
End Sub