Как обновить диапазон в диаграмме PowerPoint из Excel - PullRequest
0 голосов
/ 15 февраля 2019

Я запускаю сценарий VBA из книги Excel, которая также содержит все данные.Сценарий автоматически обновляет диаграмму в Excel, если я добавляю новые точки данных.Однако, когда я помещаю ту же диаграмму в powerpoint, она больше не обновляется при добавлении новых точек данных.

Я пытался использовать различные связанные версии диаграмм.Один из них делает свою работу, но тогда это только изображение в PowerPoint, и мне нужно обновить актуальную диаграмму при запуске сценария VBA.

В приведенном ниже коде я пытаюсь получить доступ к диаграмме powerpoint напрямую и просто обновить ее диапазон.Я пробовал разные версии этого, но не могу заставить его работать.Он открывает powerpoint и определяет форму, но не может изменить диапазон.

Dim PPTApp As Object
Dim PPTPres As Object
Dim ppSlide As PowerPoint.Slide

Set PPTApp = CreateObject("PowerPoint.Application")
PPTApp.Visible = True

Set PPTPres = PPTApp.Presentations.Open("file:///C:\Users\user.name\Desktop\pptest111.pptx")
PPTPres.Windows(1).Activate

PPTPres.Slides(2).Shapes("Diagram1").Chart.ChartData.Sheets("sht2").Range ("A5:A15")

1 Ответ

0 голосов
/ 20 февраля 2019

Чтобы изменить диапазон диаграммы, вы должны изменить диапазон меток и данных.

XValues ​​- это диапазон для меток, а значения - это диапазон для данных

, если oSh -PPTPres.Slides (2) .Shapes ("Diagram1")

Тогда какой-то вариант этого должен работать

  oSH.Chart.SeriesCollection(1).XValues = "sht2!$A$5:$A15"  ' change the series range for labels
  oSH.Chart.SeriesCollection(1).values = "sht2!$B$5:$B15"   ' change the series range for data 
...