0

我得到了一个 *.xls 文件,其中包含一个插件生成的形状,它形成了一个图表。如何使用 VBA 在电子邮件中将这些形状作为图像和一些文本发送?我知道如何在 VBA 中获取形状,但不知道如何将它们转换为单个图像。

仅供参考:我无法在我的工作计算机上安装任何软件或编程环境。MS Office 只是我所拥有的。

4

1 回答 1

1

Excel Vba 在图表对象上有一个CopyPicture方法,您可以使用该方法将图表复制到剪贴板,然后将图像粘贴到新电子邮件中。有机会我会发布一个快速演示,但希望这会为您指明正确的方向。还要看看这个问题,因为它也可能有帮助。

编辑
发现您还可以将图表导出为图像。
试试这个,我已经测试过了,它确实有效。

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
于 2013-08-05T00:03:03.210 回答