テキストボックスだけを削除するPowerPointマクロをご紹介しました。
これらのマクロを作る中で、いきなりテキストボックスを削除するのではなく、テキストボックスだけを選択するPowerPointマクロというのも使い道があるように感じました。
アクティブスライドのテキストボックスだけを選択するサンプルマクロ
以下のようなマクロで、アクティブなスライド上のテキストボックスだけを選択することができます。
Dim shp As Shape ActiveWindow.Selection.Unselect
For Each shp In _
ActiveWindow.Selection.SlideRange.Shapes
If shp.Type = msoTextBox Then
shp.Select Replace:=msoFalse
End If
Next shp
End Sub
サンプルマクロの解説
メインの処理はもちろんFor Each ~ Next文の部分です。
アクティブスライド上の全Shapeにループを回して、
For Each shp In _
ActiveWindow.Selection.SlideRange.Shapes
テキストボックスだったときに、
If shp.Type = msoTextBox Then
そのShapeを選択しています。
shp.Select Replace:=msoFalse
Selectメソッドの引数・ReplaceをmsoFalseにすることで、既に選択されているものに追加する形で選択が行われます。
ただし、テキストボックスではない図形が選択された状態で、上記のループ処理に入ると、そのテキストボックスでない図形とテキストボックスが選択されてしまいます。
それを回避するために、ループ処理の前に
ActiveWindow.Selection.Unselect
という選択されているものを解除するコードを入れています。
Home » パワーポイントマクロ・PowerPoint VBAの使い方 » Shapesコレクション・Shapeオブジェクト » テキストボックスだけを選択するPowerPointマクロ