我正在尝试使用阴影效果在图表的数据标签中创建文本(您在PowerPoint菜单顶部显示的阴影效果),但我无法使其正常工作,dataLabels.shadow
或dataLabels.font.shadow
使框架遮蔽,而不是文本。
我在google搜索了很多,我发现这可以通过TextFormat
或TextFormat2
属性实现,遗憾的是我无论如何都无法访问数据标签中的文本。我当前的代码,评论后的行不起作用:
For Each Shape In Slide.Shapes
If Shape.HasChart Then
Dim i As Integer
Dim v As Variant
Set pts = Shape.Chart.SeriesCollection(1).Points
For Each s In Shape.Chart.SeriesCollection
v = s.Values
If s.Name <> "XXX_XXX" Then
If v(pts.Count) >= 0.05 Then
s.Select
s.Points(pts.Count).Select
s.Points(pts.Count).ApplyDataLabels
s.DataLabels.Font.Color = s.Border.Color
s.DataLabels.Font.Size = 20
s.DataLabels.Font.Name = "Calibri"
's.DataLabels.Shadow = True
's.DataLabels.Font.Shadow = msoTrue
's.Points(pts.Count).DataLabel.Font.Shadow = msoTrue
's.Points(pts.Count).DataLabel(pts.Count).TextFrame.TextRange.Font.Shadow = msoTrue
End If
End If
Next s
End If
Next Shape
答案 0 :(得分:0)
如果有人遇到simillar病例,我找到了答案:)
数据标签文本/值的阴影(像阴影一样)是通过TextRange2
属性完成的,但我遗漏了Format
。像这样:
Dim tr As TextRange2
Set tr = s.DataLabels(pts.Count).Format.TextFrame2.TextRange
With tr.Font.Shadow
.OffsetX = 10
.OffsetY = 10
.Size = 1
.Blur = 4
.Transparency = 0.5
.Visible = True
End With