我有一个* .xls文件,其中包含一个插件生成的形状,形成一个图表。 如何使用VBA将这些形状作为图像公司发送到电子邮件中的某些文本? 我知道如何在VBA中获取形状,但不知道如何将它们转换为单个图像。
仅供参考:我无法在工作计算机上安装任何软件或编程环境。 MS Office就是我所拥有的。
答案 0 :(得分:1)
Excel Vba在图表对象上有一个CopyPicture方法,您可以使用该方法将图表复制到剪贴板,然后将图像粘贴到新电子邮件中。当我有机会时,我会发布一个快速演示,但希望这会指出你正确的方向。另请查看此question,因为它也可能有所帮助。
修改强>
发现您还可以将图表导出为图像
试试这个,我测试了它,它确实有效。
Sub SendMail()
Dim OutApp As Object
Dim OutMail As Object
Dim myChart As ChartObject
Set myChart = Me.ChartObjects(1)
Dim myFilename As String
myFilename = "c:\temp\test.png"
On Error Resume Next
Kill myFilename
On Error GoTo 0
myChart.chart.Export myFilename, "PNG"
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
On Error Resume Next
' Change the mail address and subject in the macro before you run it.
With OutMail
.To = "test@test.com"
.CC = ""
.BCC = ""
.Subject = "This is the Subject line"
.Body = "Hello World!"
.Attachments.Add myFilename
.Send
End With
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
End Sub