Home » パワーポイントマクロ・PowerPoint VBAの使い方 » Shape・図形 » PowerPointでShapeRangeの個数を取得する

PowerPointでShapeRangeの個数を取得する

対象:PowerPoint2010, PowerPoint2013, Windows版PowerPoint2016

オブジェクトブラウザー:ShapeRange.Count

「.ShapeRange 個数」
「vba shaperange 数を取得」
といった検索キーワードでのアクセスに気付きました。

Excel VBAでShapeRangeオブジェクトの数を取得するコードについて調べていたのではないかと思うのですけれど、Excel VBAのShapeRangeは真面目に解説すると話が長くなることもあり、まずはPowerPoint VBAについて解説しておきます。

[スポンサードリンク]

選択図形の数を取得するサンプルマクロ

PowerPointのスライド上で図形を選択しておいてから以下のSubプロシージャを実行すると、選択されている図形を表すShapeRangeオブジェクトの数がメッセージボックスに表示されます。


Sub 選択されている図形の個数を取得する()
 On Error GoTo ErrHndl
 MsgBox _
  ActiveWindow.Selection.ShapeRange.Count
 Exit Sub

ErrHndl:
 MsgBox "図形を選択してから実行してください。"
End Sub

サンプルマクロで利用しているオブジェクト式について

PowerPoint VBAの場合、DocumentWindowオブジェクトのSelectionプロパティで、選択されているものを表すSelectionオブジェクトを取得できます。

オブジェクトブラウザー:DocumentWindow.Selection

ただし、PowerPoint VBAの場合はSelectionプロパティがグローバルメンバーではありませんから、DocumentWindowオブジェクトを取得するコードから書く必要があります。そのためアクティブなウィンドウを表すDocumentWindowオブジェクトを返す、グローバルメンバーであるActiveWindowプロパティからコードが始まっています。

取得したSelectionオブジェクトのShapeRangeプロパティを使うと、選択されている図形を表すShapeRangeオブジェクトを取得できます。

オブジェクトブラウザー:Selection.ShapeRange

ShapeRangeオブジェクトは、Shapeオブジェクトと同じようなプロパティ・メソッドを持っていますが、実はコレクションですから含まれる単独のオブジェクトの数を返すCountプロパティも用意されています。

オブジェクトブラウザー:ShapeRange.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の個数を取得する

TrackBack:0

TrackBack URL
[スポンサードリンク]

Home » パワーポイントマクロ・PowerPoint VBAの使い方 » Shape・図形 » PowerPointでShapeRangeの個数を取得する

「Shape・図形」の記事一覧

検索


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

.