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 の影がテキスト (特定の場合) および一般的な図形に表示されることがわかりました。形状に 2 つの影を個別に適用できるのは奇妙ですが、マクロで削除できるのはそのうちの 1 つだけです。影の1つのレイヤーを削除するために行ったことは次のとおりです。

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

これらの行をメインの For ループ内に追加してみてください。

詳細については、Office 2010 で ShadowFormat クラスのプロパティを操作するを参照してください。

于 2013-02-05T05:37:26.050 に答える