- ベストアンサー
Word2007であいまい検索をOFFにする方法
- Word2007で文書を作成する際、デフォルトでONになっている「あいまい検索」機能をOFFにする方法を探している。マクロを使用する方法などを調査しても解決策が見つからない。
- 「あいまい検索」機能を完全にOFFにすることはできないが、オプション項目のチェックをすべて外すことで実質上のOFFとする方法もある。ただし、その方法では一部のヒットしない項目があることが報告されている。
- Word2007で「あいまい検索」機能をデフォルトでOFFにする方法や同等の挙動をさせる方法を教えてほしい
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
No.1の回答者です。 マクロについては、少し理解する程度なのですね。 置換を主にするなら、過去ログの回答にある置換のマクロそのままでは [あいまい検索]のチェックを外しておくことはできません。 検索のマクロと同じ内容で置換ダイアログを出すマクロに修正の必要が あるためです。 ' 置換ダイアログ Sub EditReplace() ' ' EditReplace Macro ' 指定した文字列または書式を検索して置換します。 ' Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchByte = False .MatchSoundsLike = False .MatchWildcards = False .MatchFuzzy = False End With Application.CommandBars.FindControl(ID:=313).Execute End Sub ' 検索ダイアログ Sub EditFind() ' ' EditFind Macro ' 指定した文字列または書式を検索します。 ' あいまい検索のチェックをはずしてダイアログを開きます。 Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchByte = False .MatchSoundsLike = False .MatchWildcards = False .MatchFuzzy = False End With Application.CommandBars.FindControl(ID:=141).Execute End Sub 一部不要なものがあったので削除してあります。 一応コマンドIDで開くようにしてありますが、もしもエラーになるなら End With の下にある Application.CommandBars の行を消して、 以下のように修正します。 置換ダイアログの場合 Dialogs(wdDialogEditReplace).Show 検索ダイアログの場合 Dialogs(wdDialogEditFind).Show http://ameblo.jp/gidgeerock/entry-11001068484.html
その他の回答 (2)
- enunokokoro
- ベストアンサー率74% (3543/4732)
No.1の回答者です。 Document_Openのマクロは、そのままだと不具合が生じるかも。 開くファイルにテキストがない場合にエラーになるようなので。 常に[あいまい検索]のチェックだけを外しておきたいのなら、その部分 だけにして単純にしたほうがよいみたいです。 Private Sub Document_Open() ' ' 既存文書で、あいまい検索の指定部分のみチェックを外す ' Selection.Find.MatchFuzzy = False End Sub Private Sub Document_New() ' ' 新規文書で、あいまい検索の指定部分のみチェックを外す ' Selection.Find.MatchFuzzy = False End Sub その他の部分は、初期設定の反対にしたい部分のみを、必要に応じて FalseをTrueにする場合や逆の場合などで適宜追加してください。
お礼
enunokokoroさま 質問直後にお返事頂けているとは思わず、 お礼が遅くなり、申し訳ありません。 実は引用していただいた質問履歴は見付けていて、 回答にあったマクロも試してみたのですがどうしても置換の方で上手く動かず(どちらかというと検索よりも置換の方を頻繁に使っています)、 改めて質問させて頂いたものです。 enunokokoroさんに戴いたご回答のマクロを二種とも試してみました。…が、やはり動かないようです(あいまい検索のチェックが入った状態で置換メニューが立ち上がります)。入れるときに何か間違えているのかもしれないです… ※VBAはきちんと勉強したことがないので、いただいたものが何を意図してどういうことを書たものなのかは 何となーく分かる程度なのです。 最初にご指摘戴いたURLの方のマクロを先ほど改めて試してみました。 検索の方は一応初めからあいまい検索が外れた状態で動きましたので(そして一度検索を立ち上げると、次に置換を立ち上げた際には置換の方もあいまい検索が外れた状態になります)ちょっとまだるっこしくはありますが当初よりは大分楽になりました。 暫くはこれで使ってみようと思います。 有難うございましたm(__)m
- enunokokoro
- ベストアンサー率74% (3543/4732)
こちら↓のようなマクロではだめなのでしょうか? http://okwave.jp/qa/q5353756.html 常に[あいまい検索]のチェックを外しておきたいのなら、Word起動時に 検索ダイアログの各項目のチェック項目の指定をして文書を開くようにする方法もあります。 これでも、一番最初の設定を変更しない限り維持されるので。 VBEを開き、NormalのThisDocumentに以下のマクロを登録します。 Private Sub Document_Open() ' ' 既存のファイルを開く場合 ' With Selection.Find .Text = "" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchByte = False .CorrectHangulEndings = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchWildcards = False .MatchFuzzy = False ' あいまい検索の指定部分 End With End Sub Private Sub Document_New() ' ' 新規にファイルを作る場合 ' With Selection.Find .Text = "" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchByte = False .CorrectHangulEndings = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchWildcards = False .MatchFuzzy = False End With End Sub
お礼
enunokokoroさま はぁぁぁ!出来ました!感動です。 自分で入れていたマクロと見比べてみて何が違ったのかも分かりました。 (記述が一行足りませんでした(恥)) とても助かりました。 そして勉強になりました。末尾のURLも参照してもう少し勉強してみようと思います。 重ねてのご回答、本当に有難うございました。