【问题标题】:Copy range as image and paste into Outlook (results small/blurry)将范围复制为图像并粘贴到 Outlook 中(结果小/模糊)
【发布时间】:2016-12-30 20:56:51
【问题描述】:

我正在尝试将一系列单元格复制为图片,将该图片放入电子邮件中,然后使用 Excel 宏发送电子邮件。

我可以做到所有这些,但是图像比原始图像更小/更模糊。我尝试了各种复制/粘贴方法,但结果都是一样的。

当我在没有宏的情况下使用复制为图片(如屏幕所示)手动复制图片,然后仅使用 ctrl+v 粘贴到 Outlook 中,图像看起来很好。

知道为什么会这样吗?

代码如下:

Sub SendMail()

Dim aOutlook As Object
Dim aEmail As Object
Dim rngeAddresses As Range, rngeCell As Range, strRecipients As String
Dim rngeData As Range

Set aOutlook = CreateObject("Outlook.Application")
Set aEmail = aOutlook.CreateItem(0)
Set rngeData = Worksheets("Promo Sync").Range("A5:Y86")

'Copy Range
rngeData.CopyPicture Appearance:=xlScreen, Format:=xlPicture


Dim wordDoc As Word.Document
Set wordDoc = aEmail.GetInspector.WordEditor

'Paste picture
aEmail.Display
wordDoc.Range.Paste

Set rngeAddresses = ActiveSheet.Range("AK2:AK23")

For Each rngeCell In rngeAddresses.Cells
strRecipients = strRecipients & ";" & rngeCell.Value
Next

'Set Subject
aEmail.Subject = "Promo Sync " & Now()
'Set Recipient
aEmail.To = strRecipients
'Send Mail
aEmail.Send

End Sub

【问题讨论】:

  • 使用 pastespecial 方法...
  • 尝试使用此处列出的所有数据类型选项:msdn.microsoft.com/en-us/library/office/ff197265.aspx
  • CopyPicture--> Paste on ChartArea --> Save the image from Chart as jpg--> Attach Inline Image in mail body。没有模糊,没有复制失败问题。

标签: excel vba outlook


【解决方案1】:

试试 rngeData.Copy 然后 wordDoc.Range.PasteAndFormat wdPasteEnhancedMetafile

这应该会给你很好的质量wdPasteDataType,类似于 Ctrl+V

WdPasteDataType Enumeration (Word)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-05
    • 2021-11-20
    • 2013-09-10
    相关资源
    最近更新 更多