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)のオートシェイプを適当に設置して
上記マクロを動かしたら非表示になりましたけどねぇ・・・。
もしかしたら、スライド番号が違うのかもしれませんから、
そのあたりは環境に合わせてくださいね^^詳しい回答。
いろいろ試していたら動くようになったので良かったです。かなり参考になって助かりました。