VBA в Powerpoint для обновления трехмерного форматирования серии в диаграммах? - PullRequest
0 голосов
/ 11 декабря 2018

У меня есть несколько презентаций Powerpoint, каждая из которых содержит более ста слайдов, и по крайней мере половина из них содержит диаграммы.

Проблема в том, что мне было поручено изменить трехмерное форматирование для каждого графикатаким образом, что мне нужно изменить каждую серию в каждой диаграмме, по крайней мере, на 50 слайдах, умножить ее на 4 презентации [пока ..].Мне потребовалось чуть более часа, чтобы установить «Верхний скос -> Ширина» в одной серии, а затем выбрать следующую и нажать F4, чтобы повторно применить .. А затем повторить весь процесс с настройками высоты.У клиента разные типы и раскраска графиков [каждая категория в презентации имеет свою тему].

Есть ли быстрый способ, несколько строк кода, который может заставить это трехмерное форматирование для всех диаграмм?

1 Ответ

0 голосов
/ 30 декабря 2018

Решение по ОП.

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...