将Excel范围作为图片粘贴到电子邮件正文中

问题描述 投票:0回答:2

我的目标是将范围作为图像粘贴到Outlook电子邮件中。我在VBA编辑器中打开了MS Excel,Word和Outlook 15.0的引用,将其作为网络上的最新版本。

我已经花了几个小时仔细研究以前回答的类似问题。

由于其他用户无法访问特定的驱动器,如果他们在自己的计算机上运行代码,则无法将其临时保存。

[如果我删除电子邮件正文部分,则图像会很好地粘贴,但是如果同时包含这两段代码,则电子邮件正文会覆盖图像。但是,我确实需要将图像粘贴到电子邮件正文中。

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

'This section pastes the image             

Dim wordDoc As Word.Document
Set wordDoc = OlMail.GetInspector.WordEditor
wordDoc.Range.PasteAndFormat wdChartPicture

'This section is the email body it needs inserting into

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

我的目标是将范围作为图像粘贴到Outlook电子邮件中。我在VBA编辑器中为MS Excel,Word和Outlook 15.0打开了引用,这是我网络上的最新版本。我已经花了几个小时...

excel vba outlook
2个回答
2
投票

据我所知,图片可以很好地粘贴到电子邮件的身体上,对吧?


1
投票

这是我们在工作中使用的代码示例,用于发送电子邮件:

© www.soinside.com 2019 - 2024. All rights reserved.