将范围复制为图像并粘贴到 Outlook 中(结果小/模糊)
Posted
技术标签:
【中文标题】将范围复制为图像并粘贴到 Outlook 中(结果小/模糊)【英文标题】:Copy range as image and paste into Outlook (results small/blurry) 【发布时间】: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.aspxCopyPicture
--> Paste on ChartArea
--> Save the image from Chart as jpg
--> Attach Inline Image in mail body
。没有模糊,没有复制失败问题。
【参考方案1】:
试试 rngeData.Copy
然后 wordDoc.Range.PasteAndFormat wdPasteEnhancedMetafile
这应该会给你很好的质量wdPasteDataType
,类似于 Ctrl+V
WdPasteDataType Enumeration (Word)
【讨论】:
以上是关于将范围复制为图像并粘贴到 Outlook 中(结果小/模糊)的主要内容,如果未能解决你的问题,请参考以下文章
在 Excel 中使用 VBA,如何在 Outlook 中粘贴表格然后将表格转换为文本?
将电话号码从 Outlook 粘贴到 JavaFX TextField 或 TextArea 会产生无关字符
从 Excel 打开 Word 文档并将内容粘贴到 Outlook 邮件的正文