在Excel工作簿中循环查看图表对象

我已经看到了大量的代码循环在个人工作表中,但是我试图通过工作簿中的单个图表循环。 我的代码如下(正如你可以看到我只是试图将图表保存为PDF):

Sub ExportAllCharts() Dim Current As Worksheet ' Loop through all of the worksheets in the active workbook. For Each Current In Worksheets If TypeName(Current) = "Chart" Then objCht.ExportAsFixedFormat xlTypePDF, Filename:= _ "c:/" & Current.Name, Quality:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False End If Next End Sub 

不幸的是,当代码循环遍历工作簿中的所有工作表时,出于某种原因它正在跳过图表。 是否有相当于应用于Excel中的单个图表的Worksheets ? 或者也许还有另外一种我没有想到的方式呢?

谢谢! 大卫

我刚刚用这段代码尝试了一个快速testing,并打印了Chart工作表:

 Public Sub test() Dim oChart As Chart For Each oChart In ActiveWorkbook.Charts Debug.Print oChart.Name Next End Sub 

这应该做你所需要的。 仅供参考,在VBA对象浏览器,“ View -> Object Browser或Excel Visual Basic编辑器中的“F11”中,可以开始一个好的开始。

希望有所帮助。