準・究極の選択

Wordの文章があり、別のWordファイル上に単語リストがある場合で、「リストされた単語が文章上にあったらそれに下線付けまたは蛍光ペン付け」するWordマクロを作成したいと思っています。

Word2016を使用しており、マクロを使用して単語の日英一括置換をしたり、ActiveDocument上で語句を指定しての蛍光ペン付けなどはしているのですが、この「単語リスト」にある単語に(一重)下線を一括で付ける、もしくは同色の蛍光ペンを付けるというマクロの作り方がわからず困っています。

ご存知の方がおられたらご指導いただけないでしょうか?

よろしくお願いします

A 回答 (3件)

No.1の回答者です。


紹介したサイトは読んでいるのですね。

そのサイトの内容を参考にして、マクロを作ってみました。

まずはリスト用文書は、マクロ実行前に開いておいてください。
リスト用文書を開いておくと、文書へのパスを指定する必要がない
ので、マクロが簡略化できるので。
リスト用文書は単語のみ段落ごとに構成されているとします。

Sub リストファイルを使った蛍光ペンでの着色()

 Dim myDoc As Document '現在文書
 Dim ListDoc As Document '単語リスト用文書
 Dim strlist As String
 Dim myRange As Range '検索用のRangeオブジェクト
 Dim i As Integer 'ループ用カウント変数
 Dim myText As String 'マーキングする語句

 '-------------------------------------------
 '設定
 '-------------------------------------------
 'リスト用文書はあらかじめ開いておく必要がある
 'リスト用文書をListDocに設定
 Set ListDoc = Documents("検索用リスト.docx")
 '現在の文書をmyDocに設定
 Set myDoc = ActiveDocument

For i = 1 To ListDoc.Paragraphs.Count
  With ListDoc.Paragraphs(i).Range
    myText = Left(.Text, .Characters.Count - 1)
  End With
  
 '蛍光ペンの色を黄色に設定
 Options.DefaultHighlightColorIndex = wdYellow

 '-------------------------------------------
 '蛍光ペンでマーキング
 '-------------------------------------------
 
   Set myRange = myDoc.Range(0, 0)
'   Set myRange = ActiveDocument.Range(0, 0)


    With myRange.Find
     .Text = myText
     .Replacement.Text = ""
     .Replacement.Highlight = True '蛍光ペンを設定
     .Forward = True
     .Wrap = wdFindStop
     .Execute Replace:=wdReplaceAll 'すべてを置換
    End With

 Next
 
 '-------------------------------------------
 '後処理
 '-------------------------------------------
 'オブジェクト変数の解放
 Set myDoc = Nothing
 Set ListDoc = Nothing
 Set myRange = Nothing

End Sub



一重下線にするマクロは、蛍光ペンの部分を書き換えるだけですね。
https://www.wordvbalab.com/code/6972/
    • good
    • 0
この回答へのお礼

一重下線に差し替えてマクロが正常に機能しました。迅速な回答ありがとうございました。

お礼日時:2018/12/08 22:36

書き忘れていたので、追加回答です。



リスト用文書は「検索用リスト.docx」という名前にしてあるので、
違う場合は書き換えておいてください。
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2018/12/08 22:36

蛍光ペンや下線については、こちら↓で関連する記事を閲覧して。


https://www.wordvbalab.com/page-1337/
https://www.wordvbalab.com/page-2266/

単語リストについては、こちら↓の記事が関連します。
https://www.wordvbalab.com/code/2255/
別のWordファイルを参照するのも、基本的には同じです。

単語リストは、どのような書き方をしているのでしょうか?
単純に単語のみを段落ごとに並べているのでしょうか?
リストの作りによってはマクロでの書き方も変わるので、具体的に
書かれたほうが回答がしやすいと思いますよ。
    • good
    • 0
この回答へのお礼

またまたありがとうございます。
実はご指摘のサイトはかなり良くみているのですが、どうも掲題のマクロを作れなかったため質問としてあげさせていただきました。。。
https://www.wordvbalab.com/code/2255/などはプリントアウトして首っ引きで確認中でしたし、、。

もう少し自分なりにやってみます。
ありがとうございます。

お礼日時:2018/12/08 15:22

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!