我正在尝试在图表的数据标签中制作具有阴影效果的文本(您在PowerPoint菜单顶部具有的阴影效果(,但我无法使其工作,dataLabels.shadow
或dataLabels.font.shadow
使框架阴影,而不是文本。
我在谷歌上搜索了很多,我发现这可以通过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
如果有人对类似情况有问题,我已经找到了答案:)
数据标签文本/值的阴影(像阴影一样的功能区(是通过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