未为 PPT 中的图表设置数据标签属性
Posted
技术标签:
【中文标题】未为 PPT 中的图表设置数据标签属性【英文标题】:Data label Properties not being set for a chart in PPT 【发布时间】:2022-01-22 14:54:53 【问题描述】:我正在尝试使用此代码 sn-p 设置数据点的数据标签属性,但由于某种原因,这些属性未按预期设置。 [请看图片以获得更好的清晰度]。
一种解决方法可能是使用Reset label Text
[参见图2],从而强制数据标签更新设置的属性。但我找不到相同的vba。帮助。
'This is happening inside a loop
Dim thisbarpoint As Point
Set thisbarpoint = thischart.FullSeriesCollection(ibar).Points(jbar)
thisbarpoint.DataLabel.ShowCategoryName = True
thisbarpoint.DataLabel.ShowValue = False
thisbarpoint.DataLabel.ShowSeriesName = False
Debug.Print thisbarpoint.DataLabel.caption
Dim DataLabelCaption As String
DataLabelCaption = thisbarpoint.DataLabel.caption
Debug.Print DataLabelCaption 'This gives the value as 26.7%
PIC-1:
PIC-2:
【问题讨论】:
【参考方案1】:这对我来说很好用:
Dim cht As Chart, s As Series
Set cht = ActivePresentation.Slides(1).Shapes(1).Chart
Set s = cht.SeriesCollection(1)
Debug.Print s.HasDataLabels 'False
s.HasDataLabels = True
With s.DataLabels
.ShowCategoryName = True
.ShowValue = False
.ShowSeriesName = False
End With
我们无法知道您的文件是否已损坏,或者问题是否出在您未包含的代码中。
【讨论】:
这个问题只发生在特定的数据点上。它是一个聚集柱形图。对于其他数据点,代码运行良好。我正在努力寻找根本原因,否则会降低对宏观的信心。 好的 - 可能会添加更多代码,或者与图表共享幻灯片的副本?据我所知,您发布的代码没有任何问题。 最后,我制作了一个新图表并将后端数据复制到这个图表中,现在代码正在运行。原因仍然是个谜。该图表肯定会出现在超自然的甲板上......大声笑 有没有办法在代码中使用Reset Label Text
选项。可能强制它刷新会起作用。我找不到相同的 vba 等价物。
在 Excel VBA 中似乎是 .AutoText = True
但我认为这只会从标签中清除和“手动”编辑。以上是关于未为 PPT 中的图表设置数据标签属性的主要内容,如果未能解决你的问题,请参考以下文章