動作検証バージョン:64bit Windows 10 Pro + 32bit Word(バージョン2011 ビルド13426.20332 Microsoft Store)
「word vba 段落の文字数」
「Word vba 段落 テキスト長」
といった検索で時折アクセスがあります。
Word VBAで、段落の文字数あるいは文字列の長さを取得するにはどのようなコードを書けばいいのか、探していた方による検索でしょう。
段落ごとの文字数・文字列長を取得するサンプルマクロ
以下のSubプロシージャを参考にしてください。
Sub 段落ごとの文字数や文字列長を取得する()
Dim par As Paragraph
For Each par In ActiveDocument.Paragraphs
Debug.Print _
par.Range.ComputeStatistics(wdStatisticCharacters); _
par.Range.Characters.Count; _
Left(par.Range.Text, 10)
Next
End Sub
Dim par As Paragraph
For Each par In ActiveDocument.Paragraphs
Debug.Print _
par.Range.ComputeStatistics(wdStatisticCharacters); _
par.Range.Characters.Count; _
Left(par.Range.Text, 10)
Next
End Sub
実行すると、アクティブなWord文書の全段落の、狭義の文字数、段落記号も含む文字列長、段落の最初の10文字が、イミディエイトウィンドウに出力されます。
サンプルマクロで行っている処理
「文字数」「テキスト長」と表現されているのが何なのか、厳密にはわかりません。人間が文字と認識できる狭義の文字だけなのか、スペースや段落記号等も文字としてカウントしたいのかどうかです。
そのため上記のSubプロシージャでは、Range.ComputeStatisticsメソッドの戻り値と、
Debug.Print _ par.Range.ComputeStatistics(wdStatisticCharacters); _
Charactes.Countプロパティの戻り値、
par.Range.Characters.Count; _
更に、どの段落かをわかりやすくするために、段落の最初の10文字もあわせて出力しています。
Left(par.Range.Text, 10)
最終更新日時:2022-01-12 14:50
[スポンサードリンク]
Home » ワードマクロ・Word VBAの使い方 » 段落・パラグラフ » Word VBAで段落ごとの文字数・文字列長を取得する