通过VBA将Excel表格以图片形式粘贴到邮件正文中,可以按照以下步骤进行操作:
Sub ExportTableToEmail()
Dim rng As Range
Dim outlookApp As Object
Dim outlookMail As Object
Dim tempChart As Object
Dim tempSheet As Worksheet
'将需要导出的表格范围赋值给rng变量
Set rng = ThisWorkbook.Worksheets("Sheet1").Range("A1:D10")
'创建一个临时工作表
Set tempSheet = ThisWorkbook.Worksheets.Add
'将表格复制到临时工作表
rng.Copy tempSheet.Range("A1")
'创建一个临时图表
Set tempChart = tempSheet.Shapes.AddChart2(240, xlColumnClustered).Chart
'将临时图表复制为图片
tempChart.CopyPicture Appearance:=xlScreen, Format:=xlPicture
'关闭临时工作表
Application.DisplayAlerts = False
tempSheet.Delete
Application.DisplayAlerts = True
'创建Outlook应用对象
Set outlookApp = CreateObject("Outlook.Application")
'创建邮件对象
Set outlookMail = outlookApp.CreateItem(0)
'设置邮件主题
outlookMail.Subject = "Excel表格导出"
'将图片粘贴到邮件正文中
With outlookMail.GetInspector.WordEditor
.Range.Paste
.InlineShapes(1).Width = 500 '设置图片宽度
.InlineShapes(1).Height = 300 '设置图片高度
End With
'显示邮件
outlookMail.Display
'释放对象
Set outlookMail = Nothing
Set outlookApp = Nothing
End Sub
注意:在运行代码之前,确保已经安装了Outlook并且已经登录了邮箱账号。
领取专属 10元无门槛券
手把手带您无忧上云