VBA-PowerPoint文本/字体阴影通过宏



我正在尝试在图表的数据标签中制作具有阴影效果的文本(您在PowerPoint菜单顶部具有的阴影效果(,但我无法使其工作,dataLabels.shadowdataLabels.font.shadow使框架阴影,而不是文本。

我在谷歌上搜索了很多,我发现这可以通过TextFormatTextFormat2属性来实现,不幸的是,无论如何我都无法访问数据标签中的文本。我当前的代码,注释后的行不起作用:

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

最新更新