先日の記事「【コード】最終段落にカーソルを移動するWordマクロ(その2) 」の応用版です。
今回のマクロでは、カーソルを移動するのではなく、最終段落の単語数を数えてみます。
英文特許明細書の翻訳では、文書の最終段落に「要約書」と呼ばれる部分があります。
米国出願用の特許明細書では、要約書に書かれた内容の単語数を50語~150語にするというルールがあります。(参考:要約書の書き方)
そこで、このマクロを活用してみます。
<目次>
このマクロでできること
文書の最終段落(編集記号以外の文字が書かれた段落)の単語数を数え、結果をステータスバーに表示します。
マクロの解説
Application.StatusBar プロパティを用いてステータスバーに情報を表示します。
応用として、メッセージボックスに最終段落の文字列と単語数を表示するようにしてもよいかもしれません。
また、単語数が50~150語の範囲内に収まっているのかを判定してもいいですね。
マクロ
Sub 要約書の単語数チェック() Dim myRange As Range Dim n As Integer '------------------------------------------- '文書の最終段落をmyRangeに設定 '------------------------------------------- With ActiveDocument Set myRange = .Paragraphs(.Paragraphs.Count).Range End With Do '------------------------------------------- '段落の単語数の判定 '------------------------------------------- n = myRange.ComputeStatistics(wdStatisticWords) If n <> 0 Then 'ワード数をステータスバーに表示 Application.StatusBar = "要約書のワード数:" & n Exit Do Else '現在の段落の直前の段落をmyRangeに設定 Set myRange = myRange.Paragraphs(1).Previous.Range End If Loop Set myRange = Nothing End Sub