Answers:
Excel中缺少这种功能的任何用户访问的支持,但是你可以很容易地解决这个或挖掘到VBA,在此功能中提供:
您可能想要查看在ActiveChart.Export
VBA宏中的使用,这使您可以指定文件路径,然后让Excel完成工作。
以下是我刚刚整理的一个工作原型。运行此命令,活动工作簿中的每个图表都将以PNG格式导出到与该文件相同的文件夹,_chart##
并附加到文件名(其中##
数字递增)。
它不执行任何安全检查(因此将覆盖文件!),并且不包含任何错误检查。它不会工作,如果你还没有保存工作簿,位置是只读的或其他任何阻止写入文件的位置。我仅在Excel 2003中对此进行了测试(因为这是我目前要做的所有事情)。
换句话说:使用风险自负,仅供参考。
'small nicety to ensure two-digits for better file sorting'
Function NiceFileNumber(num As Integer) As String
If num < 10 Then
NiceFileNumber = "0" & num
Else
NiceFileNumber = num
End If
End Function
'the real function'
Sub ExportAllCharts()
Dim i As Integer, exportCount As Integer
Dim fileNum As String, fileBase As String
Dim sheetObj As Worksheet
Dim chartObj As Chart
'current file location and name, with extension stripped'
fileBase = Left(ThisWorkbook.FullName, InStrRev(ThisWorkbook.FullName, ".") - 1)
exportCount = 0
'First, export all charts that are in their own sheets'
For Each chartObj In ActiveWorkbook.Charts
fileNum = NiceFileNumber(exportCount)
exportCount = exportCount + 1
'Do the export'
chartObj.Export fileBase & "_chart" & fileNum & ".png"
Next
'Then, export all charts that are embedded inside normal sheets'
For Each sheetObj In ActiveWorkbook.Worksheets
For i = 1 To sheetObj.ChartObjects.count
fileNum = NiceFileNumber(exportCount)
exportCount = exportCount + 1
'Do the export'
sheetObj.ChartObjects(i).Activate
ActiveChart.Export fileBase & "_chart" & fileNum & ".png"
Next i
Next
End Sub
注意:我'
在两端都用s 括了注释,这不是必需的,但有助于确保此处的颜色正确。
ActiveChart.Export ActiveWorkbook.Path & "\chart.png"
绑定到工具栏按钮的宏中的东西(但也许更聪明!)可以完成此工作。
旧线程,但以防万一其他人从Google登陆:Excel 2011 for Mac在右键菜单上有一个“另存为图片”选项,用于执行此操作。