Home » ワードマクロ・Word VBAの使い方 » 表・テーブル » Word VBAのRows.Countとは

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

「vba word rows.countは何をカウント」
といった検索キーワードでアクセスがありました。

Word VBAで、Rowsコレクションに用意されているCountプロパティを使うと、文書全体の行数や、選択範囲の行数を取得できると考えた方による検索だろうと想像しています。

その気持ちは、私もよくわかります。

Document.Rows.Countで文書の行数は取得できない

もしかすると、
  MsgBox ActiveDocument.Rows.Count
といったコードで、アクティブ文書の全行数を取得できると考えて実行したものの
「実行時エラー'438': オブジェクトは、このプロパティまたはメソッドをサポートしていません。」
エラーが発生したのかもしれません。

[スポンサードリンク]

残念ながらRows.Countプロパティで、Word文書全体の行数等を取得することはできません。

Rows.Countを確認しよう

Word VBAのRows.Countが何を取得するプロパティなのかは、拙著『いちばんやさしいPowerPoint VBAの教本』等で多用しているローカルウィドウを使うと、見えてきます。

まず以下のような、アクティブなWord文書の本文全体を表すRangeオブジェクトを取得して、オブジェクト変数rngに代入するだけのSubプロシージャを用意してください。

Sub sample()
 Dim rng As Range
 Set rng = ActiveDocument.Range
End Sub

Rangeオブジェクトに用意されているRowsプロパティからRowsコレクションを取得して、

Rowsがどのようなオブジェクトかを調べましょう。

上記のSubプロシージャを作成したら、何も入力していないWord文書がアクティブな状態で、VBEのローカルウィドウを表示し、ショートカットキー[F8]でステップ実行し、
  Set rng = ActiveDocument.Range
実行後のrngを確認しましょう。

ローカルウィドウのRowsを確認すると、Rows.Countが何を取得しているのかが見えてきます。

上図のとおりRowsには
  <指定した場所には表は挿入されていません。>
と表示されています。

「指定した場所には表は挿入されていません。」と表示されているとおり、RowsはWord文書内の表に関係したプロパティです。

Rows.Countは表の行数を表す

Word VBAの、Rowsコレクションとは、文書内のいずれか1つの表内のすべての行を表すコレクションです。

そしてWord VBAのRows.Countは、

文書内のいずれか1つの表に含まれる行のCount・行数を取得するためのプロパティです。

最終更新日時:2021-03-20 07:53

[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » 表・テーブル » Word VBAのRows.Countとは

「表・テーブル」の記事一覧

検索


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

.