図形を扱うマクロを作りはじめると、図形がグループ化されている場合に、考えなければならないことが増えます。
そのための参考になりそうなマクロを作成してみました。
グループ化されている図形をすべて選択するサンプルマクロ
アクティブなスライド上の、グループ化されている図形をすべて選択するPowerPointマクロです。
Dim shp As Shape
Dim has_grp As Boolean ''グループ化図形が存在することを示すフラグ
has_grp = False
For Each shp _
In ActiveWindow.Selection.SlideRange.Shapes
If shp.Type = msoGroup Then
shp.Select msoFalse
has_grp = True
End If
Next shp
If has_grp = False Then
MsgBox "アクティブスライドにグループ化されている図形は存在しません。"
End If
サンプルマクロの解説
アクティブスライドの全シェイプに対しFor Each~Nextループを回して
For Each shp _
In ActiveWindow.Selection.SlideRange.Shapes
グループ化された図形だった場合に
If shp.Type = msoGroup Then
その図形を選択しています。
shp.Select msoFalse
Shape.Selectメソッドで選択するときに、既に選択されている図形の選択が解除されないよう、引数にmsoFalseを指定しています。
グループ化されている図形が存在しないとき、最後にメッセージを表示するため、has_grpというboolean型の変数を使って判別を行っています。
- Newer:ブック名をワークシートに入力するマクロ
- Older:VBAで選択したセル範囲に含まれる図形を削除する
Home » パワーポイントマクロ・PowerPoint VBAの使い方 » Shapesコレクション・Shapeオブジェクト » グループ化されている図形をすべて選択するPowerPointマクロ