動名詞を蛍光マーキングするマクロ | みんなのワードマクロ

みんなのワードマクロ

ワードマクロで、文書作成とオフィス事務を効率化!!

セミナーに受講いただいた方からご質問をいただきました。

動名詞を蛍光ペンでマーキングする方法はないでしょうか、ということでした。

動詞の過去形(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





▼関連記事

ストーリー種別とは?

検索と置換のマクロを改造する場合の注意点