分享

Excel-VBA将图表转换为JPG并导出

 L罗乐 2017-12-12


应用场景

通过VBA将工作表的多个图表转换成jpg图表导出到指定的文件夹


知识要点

1:Chart.Export 方法 以图形格式导出图表

2:语法达式.Export(Filename必选 被导出的文件的名称, FilterName可选 图形过滤器出现在注册表中时独立于语言的名称(图形格式), Interactive)

3:export可以以图形格式导出图表,而且图表格式有gif,png,bmp、jpg等作为可选项


Sub 导出图表()

    Dim ChartCount As Integer, ActiveChart As Integer, ChartName As String

    With ActiveSheet.ChartObjects '引用所有图表

        ChartCount = .Count '记录个数

        If ChartCount <= 1 Then Exit Sub '如果小于等于1 则退出程序

        Dim Fd As Object, PathStr As String, i As Integer

        Set Fd = Application.FileDialog(msoFileDialogFolderPicker)

        '打开选择文件的对话框

        With Fd  '如果选择了目录则提取目录的路径,否则退出程序

            If .Show = -1 Then PathStr = .SelectedItems(1) Else Exit Sub

        End With

        If Right(PathStr, 1) <> '\' Then PathStr = PathStr & '\' '如果路径右边没有\ 则追加一个

        For i = 1 To ChartCount '遍历所有图表

            '将图表导出为JPG图片,图表名则由图表的标题决定,如果图表没有标题则以图表名称作为文件名称

            .Item(i).Chart.Export Filename:=PathStr & IIf(.Item(i).Chart.HastItle, .Item(i).Chart.ChartTitle.Text, .Item(i).Chart.Name) & '.JPG', FilterName:='JPG'

        Next

    End With

End Sub


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多