業務上Word2007で文書を作成する機会が多く、編集作業で検索と置換機能を多用しています。
そこで不便をしているのがデフォルトでONに設定されている「あいまい検索」機能です。使いたくないので毎度Word立ち上げ時にOFFの作業をする必要があります。かなり手間です。
自分でも色々検索をしたのですがマクロを動かす方法も含め、解決策を発見できていません。
「あいまい検索自体をOFFにすることは出来ないが、あいまい検索が実行している内容=オプション項目のチェックをすべて外せば実質上あいまい検索は機能しない。オプション項目のチェックは次回以降Wordを立ち上げた際にも維持されるので、実質的にあいまい検索をデフォルトでOFFにするのと同じになる」
との記載を見付け、試してみました、が、どうも
(1)あいまい検索ON+オプションの項目全てOFF
と
(2)あいまい検索OFF
は挙動が違うようなのです。
(1)で検索をかけてもヒットしない項目が(2)ではヒットすることがあります。
(「●●[文字列]^p」で置換をかけた際に↑の挙動を確認しました。
特殊文字にかかるあいまい検索機能のON/OFFはオプション項目になかったので、手動では外せないということなのかもしれません)
前置きが長くなりましたが、Word2007で「あいまい検索」機能をデフォルトで立ち上がらないようにする(OFFにする)、あるいはそれと同等の挙動をさせることは可能でしょうか。
お詳しい方、ご回答いただけるとありがたいです。
よろしくお願いいたします。
No.1
- 回答日時:
こちら↓のようなマクロではだめなのでしょうか?
http://oshiete.goo.ne.jp/qa/5353756.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
No.2
- 回答日時:
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
No.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
enunokokoroさま
はぁぁぁ!出来ました!感動です。
自分で入れていたマクロと見比べてみて何が違ったのかも分かりました。
(記述が一行足りませんでした(恥))
とても助かりました。
そして勉強になりました。末尾のURLも参照してもう少し勉強してみようと思います。
重ねてのご回答、本当に有難うございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Windows 10 Googleサイトのサイト内検索(虫眼鏡アイコン、検索ボックス)について 1 2022/04/08 12:16
- 英語 英語ガチ勢の人に聞きたい。 1 2022/05/23 19:36
- Windows 10 別ユーザーでログインした際、表示されないのソフトの探し方 1 2022/07/15 10:26
- その他(Microsoft Office) Windows Update 後、Office2019(Word、Excelなど)が消えた 4 2023/01/14 10:28
- Google Maps iPhoneのGoogle検索窓を通常の大きさに 戻す方法を教えて頂けませんか?(切実) 日本全国の 2 2022/10/02 02:08
- その他(パソコン・スマホ・電化製品) 半導体メーカー売り上げランキングと、 ファウンダリを含んだ売り上げランキング、 これらの過去10年く 2 2023/02/25 16:16
- JavaScript javaScriptで画面に値を入れるには 1 2022/08/14 12:27
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Wordの脚注を,1)・・2)・・3)...
-
「WORD」での作業 日本語・英...
-
エクセルでシートにある赤文字...
-
箇条書きのアタマに一括で「・...
-
ワードで半角英数の文字だけ選...
-
画像にあるように句読点「、」...
-
Wordデータから,特定の単語を...
-
wordで、アルファベットのみの...
-
Word相互参照の文字を一括で変...
-
Excel 上付き(下付き)文字の...
-
セル内の一部の色と文字列の置換
-
キングソフトライター2012で質...
-
ワードの表への入力について
-
ワードで赤字のみを削除する方法
-
wordで文字の置換をマクロで実...
-
ワードの置換で、文字列の前後...
-
アクセス 「#N/A」が置換、変...
-
Wordで【相互参照】で挿入した...
-
Wordでカッコで括った文字を一...
-
ワードの表の中の値の表示形式...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルでシートにある赤文字...
-
Excelの表中,数字の「1」をす...
-
ワードで赤字のみを削除する方法
-
Wordでカッコで括った文字を一...
-
ワードで半角英数の文字だけ選...
-
箇条書きのアタマに一括で「・...
-
Wordデータから,特定の単語を...
-
ワードの表の中の値の表示形式...
-
excelマクロ ボタンを押して文...
-
「WORD」での作業 日本語・英...
-
Wordの脚注を,1)・・2)・・3)...
-
wordで特定の色だけ印刷しない方法
-
エクセルで、コンマをピリオド...
-
word 2003で、赤い文字(あるい...
-
Word相互参照の文字を一括で変...
-
EXCEL2010のハイパーリンク先の...
-
英数字のフォント「Century」に...
-
ワードで太字になっているとこ...
-
セルの中の不要な文字を削除し...
-
word である文字をすべてイタリ...
おすすめ情報