キーワードの含まれる文章に下線をつけるマクロ
を以前ご紹介しましたが、同じプログラムの中に、変数を追加して複数のキーワードに対して下線をつけられるようにしてみました。
私は、英文特許明細書の内容を把握するための支援に使っています。
もともと目でキーワードをひろって、蛍光ペンで色つけをしていたのですが、その作業を自動化してみました。
いらないところまで拾いますが、ざっと全体像を把握するのには役に立つのではないでしょうか?
あくまでも「支援」なので、自分がおいしいと思うところだけもらえればいいかなと思っています。
▼このマクロでできること
今回のマクロでは4つのキーワードを入力しています。
キーワードと言っても、英単語の文字の一部も含まれます。
myKW(1) = "advantage"
myKW(2) = "effect"
myKW(3) = "improv"
myKW(4) = "achiev"
このキーワードが含まれる文章の下線を引きます。
▼マクロの解説
myKW()という変数にキーワードを格納しています。
この変数を11個(myKW(0)~myKW(10))定義していますが、実際に入力しているのは4つです。
検索条件を指定していないので、単語の一部を記入して、部分一致の単語も拾えるようにしています。
Do...Loop ステートメントにて、キーワードが見つかる間、処理を続けています。
▼マクロ
Sub キーワードを含む文章をアンダーライン()
Dim myRange As Range
Dim myKW(10) As String
Dim i As Integer
myKW(1) = "advantage"
myKW(2) = "effect"
myKW(3) = "improv"
myKW(4) = "achiev"
'本文中の文字列をオブジェクトに設定
Set myRange = ActiveDocument.Content
'myKWの数だけ繰り返す(10回)
For i = 1 To UBound(myKW)
'毎回、先頭から検索開始
myRange.SetRange Start:=0, End:=0
With myRange.Find
.Text = myKW(i)
.Forward = True
.Wrap = wdFindStop
Do While .Execute = True
With myRange
.Expand Unit:=wdSentence
.Underline = wdUnderlineSingle
.Collapse direction:=wdCollapseEnd
End With
Loop
End With
Next i
Set myRange = Nothing
End Sub
▼関連記事
キーワードの含まれる文章に下線をつけるマクロ
初めての方へ(ブログの目次)
マクロコードの登録方法
ツールバーのボタン登録