セミナーに受講いただいた方からご質問をいただきました。
動名詞を蛍光ペンでマーキングする方法はないでしょうか、ということでした。
動詞の過去形(edで終わる単語)でも応用がききます。
▼このマクロでできること
カーソルが置かれているストーリー
内で、動名詞を蛍光ペンでマーキングします。
本文中にカーソルが置かれている場合には、本文中の動名詞(ingで終わる名詞)をすべて明るい緑でマーキングをします。
▼マクロの解説
ワイルドカード(Wordの正規表現)の検索で動名詞を探しています。
この場合、青文字で記載した検索文字列にて、末尾が ing で終わる単語を探しています。
.text = "ing>"
見つかった場合、このing部分だけが選択されるため、選択範囲を単語単位で拡張します。
Selection.Expand unit:=wdWord
そして、単語全体を選択したところで蛍光ペンでマーキングします。
Selection.Range.HighlightColorIndex = wdBrightGreen
この種のマクロで注意したいのは、処理対象を処理した後は、選択を解除することです。
このマクロでは、Collapse メソッドを使っています。
選択を解除しないと、選択された中でずっと検索を繰り返してしまい、無限ループにはまります。
あと、地味に重要ですが、検索を開始する前にカーソルを文頭に移動させます。
検索する単語内にカーソルがあると、その単語が検索されないことがありますので。
▼マクロ
Sub 動名詞を蛍光マーキング()
Selection.HomeKey unit:=wdStory
With Selection.Find
.ClearFormatting
.Replacement.ClearFormatting
.text = "ing>"
.Forward = True
.Wrap = wdFindStop
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchFuzzy = False
.MatchByte = False
.MatchWildcards = True
Do While .Execute = True
With Selection
.Expand unit:=wdWord
.Range.HighlightColorIndex = wdBrightGreen
.Collapse direction:=wdCollapseEnd
End With
Loop
End With
End Sub
▼関連記事
ストーリー種別とは?
検索と置換のマクロを改造する場合の注意点