2

我正在尝试通过宏从演示文稿的任何幻灯片中的所有文本框中删除所有阴影效果。下面的宏在 powerpoint 2007 中运行良好,但在 2010 中无法运行。

Sub NoTextShadows()

    Dim oSld As Slide
    Dim oShp As Shape

    For Each oSld In ActivePresentation.Slides
        For Each oShp In oSld.Shapes
            If oShp.HasTextFrame Then
                If oShp.TextFrame.HasText Then
                    oShp.TextFrame.TextRange.Font.Shadow = msoFalse
                    oShp.Shadow.Visible = msoFalse
                End If
            End If
        Next oShp
    Next oSld

End Sub

请提出解决此问题的任何想法。谢谢。

4

1 回答 1

2

我进行了一些测试,发现 PowerPoint 2010 中的阴影可以出现在文本(特定)和一般形状中。奇怪的是,两个阴影可以独立应用到形状上,但宏只能删除其中一个。这是我为移除一层阴影所做的操作:

oShp.Shadow.Size = 0
OShp.Shadow.Blur = 0
oShp.Shadow.Visible = msoFalse

尝试在主 For 循环中添加这些行并查看

有关详细信息,在 Office 2010 中使用 ShadowFormat 类的属性

于 2013-02-05T05:37:26.050 回答