【发布时间】: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。没有模糊,没有复制失败问题。