Office及VBA技术交流

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2021|回复: 0

Excel VBA 将图表作为附件或者正文发送

[复制链接]
  • TA的每日心情

    2016-2-20 08:02
  • 签到天数: 1 天

    [LV.1]初来乍到

    88

    主题

    155

    帖子

    625

    积分

    高级会员

    Rank: 4

    积分
    625
    发表于 2016-3-24 11:42:30 | 显示全部楼层 |阅读模式
    本帖最后由 yibeicha 于 2016-3-24 11:45 编辑

    转载请注明:
    原创:officemaster.cn
    固定链接:http://officemaster.cn/thread-397-1-1.html


    最近学到一招,如何将图表作为图片放入邮件附件或者正文进行发送。
    图片放入邮件附件



    代码如下:
    Sub SendChart_As_Attachment_UsingOutlook()  

        Dim olApp As Object  
        Dim NewMail As Object  
        Dim ChartName As String  

        Set olApp = CreateObject("Outlook.Application")  


        'fill in the file path/name of the gif file  
        ChartName = Environ$("temp") & "\Chart1.gif"  

        ActiveWorkbook.Worksheets("Sheet1").ChartObjects("Chart 1").Chart.Export _  
        Filename:=ChartName, FilterName:="GIF"  
        '**************************************************************  
        'In the above line  
        '   Sheet1 : Sheet Name where Chart is placed  
        '   Chart 1: Chart Name which you want to sent in email.  

        '   Note: To get the name of the Chart, Se lect that particular  
        '         chart and see in the left side of the formula bar.  
        '***************************************************************  

       ' Create a new mail message item.  
        Set NewMail = olApp.CreateItem(0)  
        With NewMail  
            .Subject = "Please the attached Chart"  
            .To = "abc@email.com"  
            .Body = "Report is displayed below and chart is attached"  
            .Attachments.Add ChartName  
            .Send  
        End With  

        'Now delete the chart image from the temp folder  
        Kill ChartName  

        'Release memory.  
        Set olApp = Nothing  
        Set NewMail = Nothing  

    End Sub  


    图片放入邮件正文




    代码如下:


    Sub SendChart_As_Body_UsingOutlook()  

        Dim olApp As Object  
        Dim NewMail As Object  
        Dim ChartName As String  

        Set olApp = CreateObject("Outlook.Application")  


        'fill in the file path/name of the gif file  
        ChartName = Environ$("temp") & "\Chart1.gif"  

        ActiveWorkbook.Worksheets("Sheet1").ChartObjects("Chart 1").Chart.Export _  
        Filename:=ChartName, FilterName:="GIF"  
        '**************************************************************  
        'In the above line  
        '   Sheet1 : Sheet Name where Chart is placed  
        '   Chart 1: Chart Name which you want to sent in email.  

        '   Note: To get the name of the Chart, Se lect that particular  
        '         chart and see in the left side of the formula bar.  
        '***************************************************************  

       ' Create a new mail message item.  
        Set NewMail = olApp.CreateItem(0)  
        With NewMail  
            .Subject = "Please the attached Chart"  
            .To = "abc@email.com"  

    '       **************************************************  
    '       You can desing your HTML body for this email.  
    '       below HTML code will display the image in  
    '       Body of the email. It will not go in attachment.  
    '       **************************************************  
            .HTMLBody =   "<img src=" & "'" & ChartName & "'> "  
            .Send  
        End With  

        'Now delete the chart image from the temp folder  
        Kill ChartName  

        'Release memory.  
        Set olApp = Nothing  
        Set NewMail = Nothing  

    End Sub  

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    手机版|小黑屋|Office Master ( 蜀ICP备16003423号 )

    GMT+8, 2019-10-19 02:41 , Processed in 0.237738 second(s), 25 queries .

    Office Master

    快速回复 返回顶部 返回列表