先日の記事「【コード】最終段落にカーソルを移動するWordマクロ」の続きです。
実は、もう少し簡単な表記がありましたので紹介します。
このマクロでできること
前回のマクロと同様に、現在の文書の最終段落にカーソルを移動します。
最終段落というのは、文字列が書かれている段落を意味します。
そのため、空の段落やタブ記号のみの段落、全角や半角のスペースだけが書かれた段落は判定から除外します。
(実行前)
(実行後)
全角スペース、半角スペース、タブのみの段落は無視します。
マクロの解説
前回の記事で紹介したマクロでは、段落中にある編集記号を除外した上で文字数を数えました。
今回の記事では、ComputeStatistics メソッド を使っています(16行目)。Wordで文字数や単語数を計算するならこのメソッドが便利です。
マクロ
Sub 最終段落を見つけるマクロ2() Dim myRange As Range '------------------------------------------- '文書の最終段落をmyRangeに設定 '------------------------------------------- With ActiveDocument Set myRange = .Paragraphs(.Paragraphs.Count).Range End With Do '------------------------------------------- '文字数の判定 '------------------------------------------- If myRange.ComputeStatistics(wdStatisticCharacters) <> 0 Then 'myRangeの選択 myRange.Select Exit Do Else '現在の段落の直前の段落をmyRangeに設定 Set myRange = myRange.Paragraphs(1).Previous.Range End If Loop Set myRange = Nothing End Sub