我从excel工作簿运行VBA脚本,该工作簿也包含所有数据。如果我添加新的数据点,脚本会自动更新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")
发布于 2019-02-21 04:26:35
要更改图表的范围,必须更改标签和数据的范围。
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
https://stackoverflow.com/questions/54707539
复制相似问题