• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Wordのマクロで…)

Wordのマクロで文章内のキーワードをチェックする方法

このQ&Aのポイント
  • Wordのマクロを使えば、任意のキーワードが文章内に含まれるかどうかをチェックすることができます。
  • ExcelではCOUNTIF関数を使ってキーワードの含有チェックができますが、Wordでは特定のエリアに対してキーワードの含有チェックを行いたい場合、マクロを組む必要があります。
  • マクロを組むことで、Word上でキーワードの含有チェックを行うフォーマットを作成することができます。これにより、エクセルと同様に便利にキーワードチェックを行うことができます。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.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 にします。

y_hisakata
質問者

お礼

ありがとうございます! こんなに早急に、適格にご対応くださいまして心よりお礼を申し上げます。

その他の回答 (1)

回答No.1

このような内容でしょうか。 カーソル位置から改行マークまで(段落内)で検索。 ---------- 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 テキストボックス内全体を検索する場合は、ボックスそのものを選択した状態で 実行します。

y_hisakata
質問者

お礼

ありがとうございます! ただ、このマクロだと「検索語」が変わるたびにマクロを編集しなくてはなりませんね。 たとえば、特定のテキストボックスを別に作って、そこに放り込んだキーワードを参照してチェックするといったような場合はどうしたらよろしいでしょうか? キーワード用のテキストボックスに入力した文字列を変数として取り込むようにする、といった処理が必要になるでしょうか?

関連するQ&A