Home » ワードマクロ・Word VBAの使い方 » Shape・図形 » Wordの場合Shapes.Range.Countはコンパイルエラーに

Wordの場合Shapes.Range.Countはコンパイルエラーに

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

Word.Shapes.Range

Excel VBAの場合「.Shape.Range.Count」で実行時エラーになること、PowerPoint VBAなら「.Shapes.Range.Count」でも図形の個数を取得できることを記事にしました。

こうなると、Word VBAではどうなのかが気になります。

[スポンサードリンク]

図形の個数を取得する基本

まず、基本的なコードを確認しましょう。

Sub 図形の個数を取得する()
 MsgBox ActiveDocument.Shapes.Count
End Sub

上記のSubプロシージャを実行すると、アクティブ文書に含まれる図形の個数がメッセージボックスに表示されます。

Shapesコレクションに用意されているCountプロパティを使えば

Word.Shapes.Count

要素であるShapeオブジェクトの個数を取得できます。

Shapes.Range.Countではコンパイルエラーに

つづいて、

ActiveDocument.Shapes.Count

の部分を、

ActiveDocument.Shapes.Range.Count

に変更してから実行すると今度は
「コンパイルエラー: 引数は省略できません。」
となります。

コンパイルエラー: 引数は省略できません。

Excel VBAの場合は実行時エラーでしたが、Word VBAではより適切にコンパイルエラーが発生してくれて、メッセージも理解しやすいものが表示されます。

WordのShapes.Rangeの引数Indexは必須

オブジェクトブラウザーでShapes.Rangeメソッドを確認すると、下図のとおり詳細ペイン1行目の「(Index)」表示から、

Word.Shapes.Range

引数Indexが必須であることを読み取れます。

[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » Shape・図形 » Wordの場合Shapes.Range.Countはコンパイルエラーに

「Shape・図形」の記事一覧

検索


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

.