web-dev-qa-db-ja.com

PowerPoint VBA-すべてのスライド、すべての図形をループし、グラフを検索し、データラベルの色を黒に設定します

私はPowerPointVBAを初めて使用するので、ご容赦ください。

私はしたいと思います:

  1. 特定のpptxのすべてのスライドをループします。
  2. 特定のスライド上のすべての形状をループし、
  3. チャートの形状を見つける
  4. チャートのシリーズコレクションをループする
  5. datalabelのcolorプロパティをダークブラックに設定します。

これまでのところ、最初の3つのタスクを完了することができましたが、最後の2つのタスクについてサポートが必要です。コードは次のとおりです。

Sub test()

  Dim slide As Object
  Dim shape As Object
  Dim shapeNames As Object
  Dim chSeries As Series

  i = 0
  For Each slide In ActivePresentation.Slides

      For Each shape In slide.Shapes

          If shape.HasChart Then

              i = i + 1
              Debug.Print "found a chart on slide", i

          End If

      Next

  Next

End Sub
7
Boosted_d16

解決しました。

Sub test()

    Dim sld As Slide
    Dim shp As Shape
    Dim sr As Series
    Dim chrt As Chart

        For Each sld In ActivePresentation.Slides
            For Each shp In sld.Shapes

                If shp.HasChart Then
                    Debug.Print shp.Chart.ChartType

                    If shp.Chart.ChartType = 57 Then

                        shp.Chart.SeriesCollection(1).DataLabels.Font.Color = RGB(0, 0, 0)

                     End If

                End If

    Next shp
    Next sld

End Sub

チャートのシリーズを正常にループできませんでしたが、これは機能します。

12
Boosted_d16