循环播放seriescollection和格式系列填充颜色

时间:2017-09-14 02:35:18

标签: vba powerpoint

我正在尝试使用PowerPoint(PPT)中的代码循环遍历PPT中的所有列图,并将系列集合中的每个列条格式化为特定颜色。当条数是=我为系列填充颜色写的行数时,它很有效。 例如。当我有我的第15行“.SeriesCollection(15).Format.Fill.ForeColor.RGB = RGB(250,10,10)”但我的图表只有10列,它会有错误。当它有15列时它起作用。

但是ppt上的列数是随机的,我想问是否有任何方式像For i = 1 to seriescollection.count 如果i = 1,选择“.SeriesCollection(1)color,i = 2,选择”.SeriesCollection(1)颜色等等......

我的代码如下所示,非常感谢如果有人能指出我应该如何修改代码并使其正常工作

谢谢

For Each Slide In ActivePresentation.Slides
For Each Shape In Slide.Shapes
If Shape.HasChart = True Then
If Shape.Chart.ChartType = xlColumnStacked Then

With sh.Chart

    For Each ser In .SeriesCollection
        .SeriesCollection(1).Format.Fill.ForeColor.RGB = RGB(10, 10, 10)
        .SeriesCollection(2).Format.Fill.ForeColor.RGB = RGB(30, 10, 10)
        .SeriesCollection(3).Format.Fill.ForeColor.RGB = RGB(50, 10, 10)
        .SeriesCollection(4).Format.Fill.ForeColor.RGB = RGB(70, 10, 10)
        .SeriesCollection(5).Format.Fill.ForeColor.RGB = RGB(90, 10, 10)
        .SeriesCollection(6).Format.Fill.ForeColor.RGB = RGB(120, 10, 10)
        .SeriesCollection(7).Format.Fill.ForeColor.RGB = RGB(140, 10, 10)
        .SeriesCollection(8).Format.Fill.ForeColor.RGB = RGB(160, 10, 10)
        .SeriesCollection(9).Format.Fill.ForeColor.RGB = RGB(10, 180, 10)
        .SeriesCollection(10).Format.Fill.ForeColor.RGB = RGB(10, 200, 10)
        .SeriesCollection(11).Format.Fill.ForeColor.RGB = RGB(10, 230, 10)
        .SeriesCollection(12).Format.Fill.ForeColor.RGB = RGB(10, 10, 50)
        .SeriesCollection(13).Format.Fill.ForeColor.RGB = RGB(10, 10, 150)
        .SeriesCollection(14).Format.Fill.ForeColor.RGB = RGB(10, 10, 200)
        .SeriesCollection(15).Format.Fill.ForeColor.RGB = RGB(250, 10, 10)

    Next

End With

End If
End If
Next
Next

1 个答案:

答案 0 :(得分:0)

你的意思是下面的代码:

switched to db ice
> db.next.getIndexes()
[
    {
            "v" : 2,
            "key" : {
                    "_id" : 1
            },
            "name" : "_id_",
            "ns" : "ice.next"
    }
]
>