如何复制Excel范围,包括图表和图形,并将其粘贴为单个图像?
使用VBA,我可以将Excel区域作为图像或HTML表格复制并粘贴到outlook。我还可以将单个图表/图形作为图像从Excel复制并粘贴到Outlook中。现在,我有了这个Excel表格,它有多个表格和图表。我希望能够使用VBA将excel工作表中的所有表格和图表作为单个图像复制并粘贴到Outlook中。有办法吗?这就像使用VBA将选定范围内的所有内容(包括叠加在其上的图表)复制到outlook中一样。下面发布的代码行对我很有用。我试着为我的团队每小时发送的报告创建一个自动邮寄器。为了减少他们在Outlook上运行、复制和粘贴报表的时间,我自动化了报表中涉及的大部分流程。我在stackoverflow上发布的问题是我遇到的问题,谢谢@Levon的编辑。通过在Excel中运行Record宏函数,您可以学到令人难以置信的东西。我在Excel上记录了从范围选择、复制和粘贴到图片的操作,这就是我获得解决问题所需的必要代码的方式如何复制Excel范围,包括图表和图形,并将其粘贴为单个图像?,excel,vba,Excel,Vba,使用VBA,我可以将Excel区域作为图像或HTML表格复制并粘贴到outlook。我还可以将单个图表/图形作为图像从Excel复制并粘贴到Outlook中。现在,我有了这个Excel表格,它有多个表格和图表。我希望能够使用VBA将excel工作表中的所有表格和图表作为单个图像复制并粘贴到Outlook中。有办法吗?这就像使用VBA将选定范围内的所有内容(包括叠加在其上的图表)复制到outlook中一样。下面发布的代码行对我很有用。我试着为我的团队每小时发送的报告创建一个自动邮寄器。为了减少他们
Dim xOutlook As Object, _
xEmail As Object, _
xInspector As Object, _
wEditor As Object, _
lastRow As Long, _
pic As Picture
Sheets("Report").Select
lastRow = Cells(Rows.Count, "F").End(xlUp).Row
Range(Cells(1, 6), Cells(lastRow, 23)).Select
Selection.Copy
Sheets("Report").Range("AJ1").Select
Sheets("Report").Pictures.Paste.Select
Set pic = Selection
pic.ShapeRange.LockAspectRatio = msoTrue
pic.ShapeRange.ScaleWidth 0.9, msoTrue
pic.Copy
Set xOutlook = CreateObject("Outlook.Application")
Set xEmail = xOutlook.CreateItem(olMailItem)
Set xInspector = xEmail.GetInspector
Set wEditor = xInspector.WordEditor
With xEmail
.Display
.To = ""
.CC = ""
.BCC = ""
.Subject = "Test"
.Body = "" & vbCrLf
wEditor.Application.Selection.Start = Len(.Body)
wEditor.Application.Selection.End = wEditor.Application.Selection.Start
wEditor.Application.Selection.Paste
pic.Delete
End With
您正在使用的哪些代码没有按您希望的方式工作?是否选择了范围并使用了Selection.CopyPicture外观:=xlScreen,格式:=xlBitmap?或者,工作表SheetsName,范围A1:J20.CopyPicture外观:=xlScreen,格式:=xlBitmap