プロが教えるわが家の防犯対策術!

MS Word 2002で特定のフォントを検索して別のフォントに置換する方法
をどなたかご存知ですか?

例えば以下のような文字列があるとします。
あいうえお テスト 試験 かきくけこ 123 456 abc def GHI JKL

この文字列のうち、全角の文字(英数字を含む。)は、「かきくけこ」を除き、全て「MS 明朝」です。「かきくけこ」の部分は、「MSゴシック」です。半角の文字は全て「Century」です。

<その1>
上記の文字列の内、「MS 明朝」の部分のみ全て強調(ハイライト)したいとします。

この場合、私が行なっている操作は以下ですが、うまく行かず「MS 明朝」の部分だけではなく、全ての文字列(Century部分も含む。)がハイライトされてしまいます。
<私が行なっている操作>
メニューバーの「編集」→「検索」→「検索と置換」画面で「検索」タブを選択し「見つかったすべての項目を強調表示する」をチェックします。その後「検索と置換」画面の「オプション」ボタンをクリックし、検索オプションの「ワイルドカードを使用する」にチェックを入れます。(その他の検索オプションは非選択)。そして、「検索する文字列」に「?」と入力し、「検索と置換」画面の一番下にある検索項目の「書式」ボタンをクリックし「フォント」を選択します。「検索する文字」画面で「フォント」タブを選択し、「日本語用のフォント」入力欄で「MS 明朝」を選択します(英数字用のフォント入力欄を含め、その他の入力欄は空欄。「文字飾り」チェックボックス項目は、グレーアウトの状態)。この状態で「検索する文字」画面のOKボタンをクリックして閉じ、「検索と置換」画面で「すべて検索」ボタンをクリックしています。

どのようにすれば、文字列内の「MS 明朝」の部分のみ全て強調(ハイライト)できるのでしょうか?

<その2>
上記の操作がうまく行った場合(「MS 明朝」の部分のみ全て強調(ハイライト)できた場合)、その「MS 明朝」の部分を全て他のフォント(例:「MS ゴシック」)にするには、どのようにすればよいのでしょう?

この操作に関する情報が記載されたサイトのURL等がありましたら、併せて教えて下さい。

よろしくお願いします。

A 回答 (4件)

Wordの場合、テキストには[英数字用フォント]と[日本語用フォント]の


両方が適用されていますので[ MS 明朝]であっても[英数字用フォント]
として[ Century ]が設定されています。

このことを理解して[検索]または[置換]で[ MS 明朝]の全角文字を対象
にしたいのなら半角英数字を指定する範囲から除けば可能かと思います。
ワイルドカードを有効にして以下の設定をします。

検索する文字列 : [!\!-~ ]
 ( [書式]ボタンで[フォント]を[ MS 明朝]を指定 )
[見つかったすべての項目を強調表示する]にチェックをつけてフォント
指定をすれば[ MS ゴシック]でも他のフォントでも可能です。

[置換]で対応したいのなら[置換する文字列]に何も入れないでフォント
の指定をすることで置換できると思います。

今回の場合は[検索する文字列]で否定を利用していますので、検索する
範囲を「!~~」までと半角スペースで指定していますが、他の半角記号
なども含む場合は[記号と特殊文字]ダイアログでからフォントの一覧で
[ Century ]を指定して、使われている範囲を調べてコードの最後を否定
の最後に指定します。

この回答への補足

enunokokoroさん
ご回答、ありがとうございました。

enunokokoroさんのご説明で、だいたい分かりました。以下に、多少、疑問が残る部分を記載していますので、ご回答いただければ幸いです。

補足質問1:
>( [書式]ボタンで[フォント]を[ MS 明朝]を指定 )
この[ MS 明朝]を指定するのは「日本語用のフォント」入力欄のみですか(「英数字用のフォント」入力欄は、空欄ですか又は何か別のフォントの値を選択しますか?)?それとも、「日本語用のフォント」入力欄及び「英数字用のフォント」入力欄の両方で[ MS 明朝]を指定するのでしょうか?

補足質問2:
>他の半角記号なども含む場合は[記号と特殊文字]ダイアログでからフォン
>トの一覧で[ Century ]を指定して、使われている範囲を調べてコードの最
>後を否定の最後に指定します。
なぜ[記号と特殊文字]ダイアログからフォントの一覧で[ Century ]を指定するのかわかりませんでした。例えば、 [ Century ] 以外(例:[MS 明朝])のフォントでも「半角英字」(なぜか「半角英数字」ではなく「半角英字」と[記号と特殊文字]ダイアログのフォントの「種類」選択欄に表示されている。バグかな?)部分の並びは[ Century ]と同じでした。[記号と特殊文字]ダイアログからフォントの一覧で[ Century ]を指定する特別な理由があるのでしょうか?

応用質問:
今回の私が例とした文字列では、半角の文字は全て「Century」でしたが、半角文字にも「MS 明朝」フォントが混入しており(例えば、私が例に使用している文字列の「456」(半角英字)及び「abc」(半角英字)のフォントが「MS 明朝」だった場合)、半角文字において「Century」“以外”の部分のみ全て強調(ハイライト)したいとし場合、どのようにすればよいのでしょうか?

enunokokoroさんから教えて頂いた事を参考にすると、検索する文字列 の値が[\!-~ ](半角文字のみ指定)となるのは推測できます。しかし、どうやって「Century」“以外”の部分を指定できるのか分かりません。

よろしくお願いします。

補足日時:2009/02/21 09:38
    • good
    • 0

No.2です。


応用質問の場合の検索方法でしたね。確かにNo.3のアドバイスの内容に
は書きませんでした。私の知識だけでは一度に半角の[ MS 明朝]を含む
検索方法がわからなかったというのが、あえて避けたアドバイスの理由
です。

前の回答にも書きましたが、スタイルとしてフォントが登録されたもの
ならば簡単に検索できるのですが、[標準]スタイルでフォント名が違う
場合には、どこかを基準にするしかないので前のアドバイスぐらいしか
できなかったのです。
半角の[ MS 明朝]を含んで、かつ全角の半角の[ MS 明朝]のフォント名
が指定されたものを検索する方法はわかりませんので、別々に検索対象
にするしかないと個人的に思っています。

マクロ(VBA)を使えば検索条件に複数のものを指定できますが、一般の
機能だけでは無理だと思います。どうしても一度で検索や置換をしたい
のなら、VBAとして質問しなおしたほうがよいと思います。

私は、今回の質問(補足を除く)にある
> 半角の文字は全て「Century」
をもとに基本的スタンスでの回答をしていますので、追加質問について
は他の回答者の参加を待つか、新規質問をしてください。
    • good
    • 0
この回答へのお礼

enunokokoroさん
ご回答、ありがとうございました。

了解しました。

お礼日時:2009/02/21 20:21

No.2です



補足質問1:への回答
[英数字用フォント]も指定したほうがよいと思います。
今回の質問では、初期設定のままのWordで、基本的な[標準]スタイルが
使われている範囲を検索すると推測して、他の書式(スタイル名指定なし)
は[ MS ゴシック]だけということを前提に回答しています。
スタイルで管理しているのならよいのですが、一般的にはスタイル名を
適用していることはないので、一般的な設定をしているのなら前の回答
にあるような手順で十分対応できるのですが、本来は[英数字用フォント]
も指定しておくことが望ましいです。

例えば、[英数字用フォント]の指定が[日本語用フォント]と同じにして
いる場合もありますので、この場合は個々に指定をしないとならないと
検索対象に含まれてしまうからですね。

補足質問2:への回答
[記号と特殊文字]でフォント名を指定しているのは、フォントによって
コードの範囲が違うからです。[ MS 明朝]のフォント内でも半角英数字
があることは理解されていると思いますが、半角として認識される記号
の範囲が[ Century ]よりも広いために、使われないコードも検索対象に
なることと、その文字を挿入してコピーして検索へと貼り付けをしても
コードとして意味がない場合もありますので。

このことを前の回答に載せたのは深い意味があるわけではなく、記号が
どこまで[ Century ]で使われているのかを確認させることで個々の記号
を本文内で調べる手間が多少は省けると思ったからです。
私は専門的な知識を持っているわけではないので、検索する文字列への
指定の範囲を具体的に知っているわけではないことから、過去ログなど
や一般的な書籍で紹介されている方法を提示しただけです。

補足質問1や補足質問2でも共通することは、スタイルでの管理をしてる
場合ならスタイル名を指定するだけで済むのですが、スタイルでの管理
がされていない一般的な文書では検索や置換を指定するときでは、記号
などを調べるときにはある程度手間をかけるしかないのです。

応用質問:への回答
補足質問と関連しますが、[日本語用フォント]と[英数字用フォント]の
両方が必ず適用されているのがWordのスタイルだと思って、[ Century ]
であったとしても、検索対象の文字に適用されているスタイルの日本語
になったときの[日本語用フォント]も指定する必要があります。
[ Century ]にたいして[ MS ゴシック]が適用されていることもあるので
必ず指定する癖をつけたほうが確実です。
作業ウィンドウで[書式の詳細設定]で選択してある文字列のフォントの
指定が確認できますので迷ったときには利用してはいかが。
「MS Word 2002で特定のフォント」の回答画像3

この回答への補足

enunokokoroさん
ご回答、ありがとうございました。

enunokokoroさんから頂いたご回答のうち、私の応用質問に対する回答のみ理解できませんでした。
>作業ウィンドウで[書式の詳細設定]で選択してある文字列のフォントの
>指定が確認できますので迷ったときには利用してはいかが。
上記で選択文字列のフォント指定を確認できるのは、こちらでも確認できました。しかし、どうやって半角文字において(英)「Century」“以外”のフォントが指定してある部分のみをハイライトできるのか分かりません(“以外”がポイントです。)。[日本語用フォント]と[英数字用フォント]の両方を指定(検索する文字列 の値は、[\!-~ ])したとしても、それらのフォントが使用してある文字がハイライト(検索)されてしまい、指定フォント以外のフォントが使用してある文字をハイライトするにはどうしたらよいのか分かりません。
enunokokoroさんは、ご存知でしょうか?

よろしくお願いします。

補足日時:2009/02/21 12:12
    • good
    • 0

こんばんは!


当方Word2003ですが、
操作方法は似通っているとおもいますので、回答させていただきます。
ワイルドカードのチェックを外して
「検索する文字列」「置換後の文字列」両方とも空白のままで
書式のフォントだけ指定すればOKだと思います。
尚、「検索する文字列」の「あいまい検索」にチェックを入れて、
オプションをクリック → 大文字/小文字[A/a]のチェックを外して
置換すれば希望どおりにならないでしょうか?

ただし、Centuryの文字強調はどうにもならないみたいですが、
置換はされないと思います。

以上、もしまともな回答になっていなかったら、
軽く読み流してください。m(__)m

この回答への補足

tom04さん
ご回答、ありがとうございました。

tom04さんの方法を試しましたが、「検索する文字列」「置換後の文字列」両方とも空白のままでは、置換ボタンを押すごとに文字が削除されてしまいます。そのため、今回の問題の解決方法にはなりませんでした。

ご意見を頂いたことには、感謝します。

補足日時:2009/02/20 23:23
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!