ワードの文章中にList.txtに入っている単語をハイライトして太字に変更していくマクロを作成してみました。
検索にヒットした単語だけを outlist.txt へ書き出したいのですがどのような方法があるかご教授願えませんでしょうか。
現状だとすべての単語が書き出しされてしまいます。
過去ログやヘルプから見よう見真似で作成したマクロですので間違っている箇所もあるかもしれませんが、よろしくおねがいします。
list.txtは以下のように1単語で改行しているテキストです。
AAA
BBB
CCC
・
・
Sub test1()
Open "c:\list.txt" For Input As #1
Open "c:\outlist.txt" For Output As #2
While Not EOF(1)
Line Input #1, a
Selection.Find.ClearFormatting
With ActiveDocument.Content.Find
.ClearFormatting
.Text = a
With .Replacement
.ClearFormatting
.Font.Bold = True
.Highlight = True
.Text = a
End With
.Execute Format:=True, Replace:=wdReplaceAll
End With
Print #2, a
Wend
Close #2
Close #1
End Sub
こんばんは。
今は、ざっと見ただけですが、以下の .Execute の部分は、このようになるのではありませんか?
ダメだったら、また考えてみます。
End With
If .Execute(Format:=True, Replace:=wdReplaceAll) Then
Print #2, a
End If
End With
Wend
お礼
やりたい事ができました! ご回答ありがとうございます! replaceできたら書き出しという条件式を書くんですね、とても参考になりました。 とても助かりました。ありがとうございます。