删除powerpoint 2010 VBA中文本的阴影效果

删除powerpoint 2010 VBA中文本的阴影效果,vba,powerpoint,Vba,Powerpoint,我试图通过宏从演示文稿的任何幻灯片中的所有文本框中删除所有阴影效果。 下面的宏在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.HasText

我试图通过宏从演示文稿的任何幻灯片中的所有文本框中删除所有阴影效果。 下面的宏在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

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

我做了一些测试,发现PowerPoint 2010中的阴影可以显示在文本(特定)和形状上。奇怪的是,两个阴影可以单独应用于形状,但宏只能移除其中一个阴影。以下是我为去除一层阴影所做的操作:

oShp.Shadow.Size = 0
OShp.Shadow.Blur = 0
oShp.Shadow.Visible = msoFalse
尝试在主For循环中添加这些行,然后查看

欲了解更多信息