PowerPoint2010のVBAについて

PowerPoint2010のVBAについての質問です。

ある色を指定してそれと同じ色の図形を...PowerPoint2010のVBAについての質問です。

ある色を指定してそれと同じ色の図形をすべて非表示にするプログラムを作成したいと思っています。 Sub SelectSameColor()

 ActiveWindow.Selection.SlideRange.Shapes.SelectAll

 

 For i = 1 To ShapesCount

 

 If ActiveWindow.Selection.SlideRange.Shapes.Item(i).Fill.ForeColor = RGB(255, 1, 1) Then

 ActiveWindow.Selection.SlideRange.Shapes.Range.Visible = False

 End If

 

 Next

 

 ActiveWindow.Selection.Unselect

 

End Sub

 

このようなプログラムを作成したのですが、上手く動作しません。どなたか御教示お願い申し上げます。

なお、色はRGB(255,1,1)で固定するつもりです。keijitenさんへ

回答。

私が無知なためできればプログラムの解説もお願いしたいと思います(><)

 

あと、実行してみたのですが、うまくいきません。

重ね重ねのお願いになって非常に申し訳ないのですが、いろいろと詳しく教えていただけると嬉しいです。こんにちは~^^

 

こゆことですか?

Sub Sample()

 ’Shapeをループするための変数

 Dim Obj As Shape

 ’アクティブなプレゼンテーションのスライド1に対するShapeをループ

 For Each Obj In Application.ActivePresentation.Slides(1).Shapes

 ’ループしているShapeの色がRGB(255,1,1)なら

 If Obj.Fill.ForeColor = RGB(255, 1, 1) Then

 ’そのShapeを非表示

 Obj.Visible = msoFalse

 ’If終了

 End If

 ’ループ用

 Next Obj

End Sub

 

<補足に対して>

うーーん・・・一応書いておいたけど・・・。

パワーポイントはあまり詳しくないので

なんとも・・・・。

新たに立ち上げたパワーポイントに

RGB(255,1,1)のオートシェイプを適当に設置して

上記マクロを動かしたら非表示になりましたけどねぇ・・・。

もしかしたら、スライド番号が違うのかもしれませんから、

そのあたりは環境に合わせてくださいね^^詳しい回答。

いろいろ試していたら動くようになったので良かったです。かなり参考になって助かりました。