「.ShapeRange 個数」
「vba shaperange 数を取得」
といった検索キーワードでのアクセスに気付きました。
Excel VBAでShapeRangeオブジェクトの数を取得するコードについて調べていたのではないかと思うのですけれど、Excel VBAのShapeRangeは真面目に解説すると話が長くなることもあり、まずはPowerPoint VBAについて解説しておきます。
選択図形の数を取得するサンプルマクロ
PowerPointのスライド上で図形を選択しておいてから以下のSubプロシージャを実行すると、選択されている図形を表すShapeRangeオブジェクトの数がメッセージボックスに表示されます。
On Error GoTo ErrHndl
MsgBox _
ActiveWindow.Selection.ShapeRange.Count
Exit Sub ErrHndl:
MsgBox "図形を選択してから実行してください。"
End Sub
サンプルマクロで利用しているオブジェクト式について
PowerPoint VBAの場合、DocumentWindowオブジェクトのSelectionプロパティで、選択されているものを表すSelectionオブジェクトを取得できます。
ただし、PowerPoint VBAの場合はSelectionプロパティがグローバルメンバーではありませんから、DocumentWindowオブジェクトを取得するコードから書く必要があります。そのためアクティブなウィンドウを表すDocumentWindowオブジェクトを返す、グローバルメンバーであるActiveWindowプロパティからコードが始まっています。
取得したSelectionオブジェクトのShapeRangeプロパティを使うと、選択されている図形を表すShapeRangeオブジェクトを取得できます。
ShapeRangeオブジェクトは、Shapeオブジェクトと同じようなプロパティ・メソッドを持っていますが、実はコレクションですから含まれる単独のオブジェクトの数を返すCountプロパティも用意されています。
このShapeRange.Countをメッセージボックスに表示しているのが、上記のSubプロシージャです。
コレクションはCountプロパティを持つ
拙著『いちばんやさしいExcel VBAの教本』の、Lesson 53「コレクションオブジェクトについて学習しましょう」で、コレクションオブジェクトには、含まれる単独のオブジェクトの数を取得するCountプロパティが用意されています。
と書きました。このルールは、Excel VBAだけでなくPowerPoint VBAでも同じです。
最終更新日時:2018-11-21 14:18
Home » パワーポイントマクロ・PowerPoint VBAの使い方 » Shape・図形 » PowerPointでShapeRangeの個数を取得する
- Newer:aからzまでFor~Nextループ-Chr関数・Asc関数
- Older:VBAでオブジェクトを印刷する設定の変更
TrackBack:1
- TrackBack URL
- ExcelでShapeRangeの個数を取得する from インストラクターのネタ帳
- Excel VBAでも、PowerPoint VBAと同じくActiveWindow.Selection.ShapeRange.Countというコードで選...