Powerpoint中的VBA是否可以更新图表中的系列3-D格式?

时间:2018-12-11 08:36:21

标签: vba charts powerpoint

我有几个Powerpoint演示文稿,每个演示文稿都有一百多张幻灯片,其中至少有一半包含图表。

问题是,我的任务是修改每个图表的3-d格式,即必须修改至少50张幻灯片中的每个图表中的每个系列,再乘以4个演示文稿[到目前为止。 。]。我花了一个多小时才将“顶部斜角->宽度”设置为一个系列,然后选择下一个并按F4重新应用。然后使用“高度”设置重复整个过程。客户具有不同的图表类型和颜色(演示中的每个类别都有其自己的主题)。

有没有一种快速的方法,可以强制几行代码对所有图表进行3-D格式化?

1 个答案:

答案 0 :(得分:0)

OP解决方案。

Sub THREEEE()
  Dim slide As Object
  Dim shape As Object
  Dim shapeNames As Object
  Dim srs As Series
  Dim bigSrs As SeriesCollection

  Dim i As Integer
  Dim j As Integer

      For Each slide In ActivePresentation.Slides
          For Each shape In slide.Shapes
              If shape.HasChart Then
                j = shape.Chart.SeriesCollection.Count
                For i = 1 To j
                    Set srs = shape.Chart.SeriesCollection(i)
                    With srs
                        .Format.ThreeD.BevelTopType = msoBevelCircle
                        .Format.ThreeD.BevelTopInset = 15
                        .Format.ThreeD.BevelTopDepth = 3  
                     End With
                Next i        
              End If
          Next
      Next
    End Sub