在excel vba中Chart对象的Export方法可以把图表导出为图片。
它的语法如下:
expression .Export(Filename, FilterName, Interactive)
其中expression指的是Chart对象,Filename为导出后的文件的名称,FilterName、Interactive 参数比较少用,可以不填。
vba中可以返回Chart对象的父对象有多种,比如shape对象的Chart属性,ChartObject对象的Chart属性等都可以返回Chart对象。
根据以上的知识,可以通过遍历所有shape对象、ChartObject对象以及Chart对象,把所有图表都导出为独立的图片格式文件。
Sub QQ1722187970() Dim oShape As Shape Dim oChartObject As ChartObject Dim oChart As Chart Dim oWK As Worksheet Dim sPath As String Dim i As Long i = 1 sPath = Excel.ThisWorkbook.Path & "\" For Each oWK In Excel.ThisWorkbook.Worksheets With oWK For Each oShape In .Shapes With oShape If .HasChart Then .Chart.Export sPath & i & ".bmp" i = i + 1 End If End With Next For Each oChartObject In .ChartObjects With oChartObject .Chart.Export sPath & i & ".bmp" i = i + 1 End With Next End With Next For Each oChart In Excel.ThisWorkbook.Charts With oChart .Export sPath & i & ".bmp" i = i + 1 End With Next MsgBox "所有图表导出完毕!!!" End Sub
发表评论