Home » パワーポイントマクロ・PowerPoint VBAの使い方 » Shapesコレクション・Shapeオブジェクト » テキストボックスだけを選択するPowerPointマクロ

テキストボックスだけを選択するPowerPointマクロ

対象:PowerPoint2007, PowerPoint2010, PowerPoint2013

テキストボックスだけを削除するPowerPointマクロをご紹介しました。

これらのマクロを作る中で、いきなりテキストボックスを削除するのではなく、テキストボックスだけを選択するPowerPointマクロというのも使い道があるように感じました。

[スポンサードリンク]

アクティブスライドのテキストボックスだけを選択するサンプルマクロ

以下のようなマクロで、アクティブなスライド上のテキストボックスだけを選択することができます。

Sub アクティブスライドのテキストボックスだけを選択する()
 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
という選択されているものを解除するコードを入れています。

関連語句
VBA, Visual Basic for Applications
[スポンサードリンク]

Home » パワーポイントマクロ・PowerPoint VBAの使い方 » Shapesコレクション・Shapeオブジェクト » テキストボックスだけを選択するPowerPointマクロ

「Shapesコレクション・Shapeオブジェクト」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.