未为 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 中的图表设置数据标签属性的主要内容,如果未能解决你的问题,请参考以下文章

Echarts数据重新加载,原数据依然存在图表上

ppt饼状图里怎么添加文字

在HTML中怎么加链接

Echarts常见设置属性

HTML设置字体的背景色

HTML设置字体的背景色