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

时间:2013-02-05 04:08:47

标签: vba powerpoint powerpoint-vba

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

请建议解决此问题。感谢。

1 个答案:

答案 0 :(得分:3)

我做了一些测试,我发现PowerPoint 2010中的阴影可以出现在Text(特定用途)和一般形状上。奇怪的是,两个阴影可以独立地应用于形状,但宏中只能移除其中一个阴影。以下是我删除一层阴影的方法:

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

尝试在主For循环中添加这些行,然后查看

有关详细信息,请Working with Properties of the ShadowFormat Class in Office 2010