- ベストアンサー
Wordのマクロで文章内のキーワードをチェックする方法
- Wordのマクロを使えば、任意のキーワードが文章内に含まれるかどうかをチェックすることができます。
- ExcelではCOUNTIF関数を使ってキーワードの含有チェックができますが、Wordでは特定のエリアに対してキーワードの含有チェックを行いたい場合、マクロを組む必要があります。
- マクロを組むことで、Word上でキーワードの含有チェックを行うフォーマットを作成することができます。これにより、エクセルと同様に便利にキーワードチェックを行うことができます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
#1:misatoanna です。 特定のテキストボックスに入力したキーワードを参照してチェックするように します。 テキストボックスをひとつ作成し、その名前を適当に変更します。 ここでは、とりあえず TBox という名前にしましょう。 ↓ 前回の回答の Selection.MoveEndUntil Cset:=vbCr の行の前に、次の3行を挿入します。 ------------ Dim txt As String txt = ActiveDocument.Shapes("TBox").TextFrame.TextRange.Text txt = Replace(txt, vbCr, "") ↓ 前回の回答の .Find.Execute Findtext:="検索語", Format:=False の部分を .Find.Execute Findtext:=txt, Format:=False にします。
その他の回答 (1)
- misatoanna
- ベストアンサー率58% (528/896)
このような内容でしょうか。 カーソル位置から改行マークまで(段落内)で検索。 ---------- Sub Test() Selection.MoveEndUntil Cset:=vbCr With Selection .Find.Execute Findtext:="検索語", Format:=False Select Case .Find.Found Case True: MsgBox "○" Case False: MsgBox "×" End Select End With End Sub テキストボックス内全体を検索する場合は、ボックスそのものを選択した状態で 実行します。
お礼
ありがとうございます! ただ、このマクロだと「検索語」が変わるたびにマクロを編集しなくてはなりませんね。 たとえば、特定のテキストボックスを別に作って、そこに放り込んだキーワードを参照してチェックするといったような場合はどうしたらよろしいでしょうか? キーワード用のテキストボックスに入力した文字列を変数として取り込むようにする、といった処理が必要になるでしょうか?
お礼
ありがとうございます! こんなに早急に、適格にご対応くださいまして心よりお礼を申し上げます。