2013-08-04 17 views
0

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

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

回答

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 = "[email protected]" 
     .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 
相关问题