Home » ワードマクロ・Word VBAの使い方 » Shape・図形 » Word VBAでアクティブページ内のShape数を取得する

Word VBAでアクティブページ内のShape数を取得する

動作検証バージョン:64bit Windows 10 Pro + 32bit Word(バージョン2003 ビルド12624.20382 Microsoft Store)

このサイト『インストラクターのネタ帳』のアクセスログを眺めていて、
「wordvba ページ内のshpe数」
という検索キーワードに気が付きました。

Word VBAで、いずれかのページ内に存在するShapeの数を取得するには、どのようなコードを書けばいいのかを探していた方による検索です。

[スポンサードリンク]

「wordvba ページ内のshpe数」
だけでは、どのページかがハッキリしませんので、この記事ではアクティブなページ内に存在するShapeの数を取得するコードをご紹介しておきます。

アクティブページ内のShape数を取得するサンプル

以下のSubプロシージャを実行すると、アクティブなページに存在するShapeの数がメッセージボックスに表示されます。

Sub アクティブページ内のShape数を取得する()
 MsgBox _
   ActiveDocument.Bookmarks("\Page").Range.ShapeRange.Count
End Sub

サンプルマクロで行っている処理

既にご紹介しているとおり、「ActiveDocument.Bookmarks("\Page").Range」で、アクティブなページ全体の文字列範囲を表すRangeオブジェクトを取得できます。

文字列範囲を表すRangeオブジェクトに用意されているShapeRangeプロパティで、アクティブページ内に存在する図形を表すShapeRangeオブジェクトを取得し、

ShapeRangeオブジェクトが持つCountプロパティで、個数を取得しているのが「ActiveDocument.Bookmarks("\Page").Range.ShapeRange.Count」です。

ShapeRangeはShapesとShapeの特徴を併せ持つ

PowerPoint VBAで、ShapeRangeオブジェクトがShapesコレクションとShapeオブジェクト両方の特徴を併せ持ったオブジェクトであることをお伝えしました。Word VBAのShapeRangeの場合も同様で、ShapeRange.Countプロパティで個数を取得できます。

[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » Shape・図形 » Word VBAでアクティブページ内のShape数を取得する

「Shape・図形」の記事一覧

検索


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

.