- ベストアンサー
フィールドコードの検索に関する質問
- Word2010で括弧内のフィールドコードを検索し、置換したいですがうまくいきません。
- フィールドコードが表示された状態で検索をかけてもうまくいきません。
- マクロを使った方法も教えていただけませんか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
丸括弧で閉じてる間に、通常のテキスト以外のフィールドコードのみの ものもあるということですね。 通常のテキストのみなら簡単に検索できるのですが、フィールドコード の前後にある記号などを指定した場合は、一回での置換だけでするのは 無理だと思います。 フィールドコードは特殊なものなので、それだけが入った括弧で閉じた ものだと、検索することができないためです。 フィールドコードの前または後ろにテキストがあって、その範囲を指定 する検索なら、^19 または ^21を使って検索できます。 しかし、今回のような前後にあるものを指定するのは、Wordの場合だと 数回の置換作業をしないと無理な作業になります。 丸括弧が対になっている今回の置換対象のみにだけ使われているなら、 左括弧と右括弧を別々に置換すれば、済むことだと思います。 他に左右どちらかの丸括弧が使われているのだとしたら、以下のような 手順が必要になります。 [あいまい検索]のチェックを外したものを検索対象とした場合、今回の ようなフィールドコードのみ丸括弧で閉じたものは検索できませんが、 フィールドコードの前で左丸括弧との間に別の文字列が置いておけば、 フィールドコードを表示しないでも検索対象の一つにできます。 そこで、フィールドコードの前に一括で文書内で使われていない記号を 置換で追加しておきます。 手順: 1.フィールドコードを事前に[ Alt+F9 ]キーなどで表示しておきます。 [置換]ダイアログを出し、[あいまい検索]のチェックを外します。 ([置換]ダイアログは、何度も使うので最後まで閉じないこと) [検索する文字列]に ^d [置換後の文字列]に文書内で使われていない記号を記載(例:♪) [すべて置換]を実行。 2.フィールドコードを[ Alt+F9 ]キーなどで非表示にします。 [置換]ダイアログで[ワイルドカード]にチェックを入れます。 [検索する文字列]に \((*)\) [置換後の文字列]に [\1] [すべて置換]を実行。 これでフィールドコードを含む丸括弧で閉じたものを置換します。 3.フィールドコードの前にある記号(♪)を単純な[置換]で消します。 マクロで処理する場合も、基本的に上記手順をマクロ化するだけです。 他の方法があるかもしれませんが、私が知っている限りでは、この方法 だけしかないと思っています。