「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プロシージャを用意してください。
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
- Newer:第n日曜日を取得する-CEILING関数
- Older:Word.FontとExcel.Fontのプロパティ比較一覧
Home » ワードマクロ・Word VBAの使い方 » 表・テーブル » Word VBAのRows.Countとは