編集者の方からテキストデータを頂戴した後、用語統一のために「又は」を「または」に置換、「及び」を「および」に置換、「○カ月」を「○ヶ月」に置換……など数多くの置換を実行するケースがあります。私が経験した仕事では100パターン以上の置換が必要になることもありました。
このような時にWordやInDesignの検索/置換を普通に使用していたのでは、いくら時間があっても足りません。今回は、この作業を省力化する方法について書きたいと思います。
※一括処理は作業効率が良い反面、不要な箇所まで置換してしまうおそれがあります。また、レイアウト体裁を整えた後に一括処理をおこなうとレイアウトが崩れる可能性もあります。作業の早い段階で実行しましょう。
Microsoft Word上で一括処理するツール
「WORD文書一括処理ツール」((有)ワールドワード)はVectorなどで入手できるシェアウェアです。私は何年か前に入手した旧バージョン(ver1.7)をMacOSX環境で使用しています。
※最新バージョンは「ver3」ですが残念ながらWindows環境だけで動作するようです。
このツールでは表の左側に検索文字列、右に置換文字列を入力してマクロを実行することで、複数の置換を一気に処理することができます。
※動画は私の使用しているバージョンです。現行バージョンは操作が更に簡単になっているようです。
注目すべきポイントは置換後の文字に蛍光ペンもしくは赤文字を適用できること。必要ない箇所まで置換されていないかどうか確認することができるのです。この後、蛍光ペンや赤文字が適用された文字をWord上で検索して任意の文字スタイルを適用すれば、InDesignにも文字スタイルとして反映させることができます。
※この作業については以前《選択した文字の書式を簡単に指定……文字スタイル》でご紹介しています。
InDesign上で複数の置換を一気に実行する
次に、テキストをInDesignに読み込んだ上で置換を実行すると方法をご紹介します。
「run_Queries 0.3」を使用する
市川せうぞーさんがお作りになった「run_Queries 0.3」(詳しくはこちら)を使っているDTP作業者は多いのではないでしょうか。これは複数のクエリ(検索/置換の設定)を連続実行するJavaScriptで、たいへん便利です。置換の件数が多くなると必要なクエリを用意するのが少し大変かもしれませんが動作はとても軽快です。
Excelと簡単なJavaScriptで複数の検索を実行する
置換項目数が多くなってくると内容の管理が面倒になります。そこでExcelで作った検索/置換リストを使ってInDesignで一括置換できないか考えてみました。つたないJavaScriptですが、よろしければご使用ください。
このJavaScriptは3つのファイルで構成されています(同じ階層に置く必要があります)。「chikan_0912b.jsx」は本体ファイル。「list_kihon.jsx」「list_option.jsx」は、いずれも検索/置換内容を書き込んだリストのファイルです。内容を変更したい場合はExcelファイルを書き換え、「以下をコピーしてJavaScriptにペースト」と表示されている列の内容をJavaScriptファイルに貼り付けてください。
InDesign上でこのJavaScriptを実行すると、置換された文字には「done」という文字スタイル(文字色は赤)が適用されます(用意したテンプレートを使用することが前提です)。ここからリッチテキストを書き出し、あらためてWordで開いてみると「done」が適用された状態が保たれています。編集者の方に「不要な置換が実行されていないか」などを確認していただくこともできるわけです。
今回ご紹介した方法以外にも便利なツールがあるかもしれません。たとえば「検索置換ラクダX」というMac用のフリーソフトも、自分で作成したリストに従って複数の置換を一括処理することができます。ただ、置換された箇所が後で判断できないため、私は今回のような目的では使用していません。何か良いツールをご存じの方がいらっしゃいましたら、ぜひお知らせください。
※MacOSX・InDesignCS4で動作を確認しましたが、他の環境(特にWindows)で正しく動くかどうか確認できておりません。あしからずご了承ください。
※2016.11.25にアップした別ページ『JavaScriptで複数一括置換【改良版】』(ここをクリックすると別ウインドウで開きます)では、このJavaScriptの改良版をご紹介しています。Excelを使用しないため作業が簡単になりました。
※2017.6.9にアップした別ページ『JavaScriptで複数一括置換【スタイル指定機能を追加】』(ここをクリックすると別ウインドウで開きます)では、さらに改良したものをご紹介しています。検索対象の段落スタイル・文字スタイル、置換時の文字スタイル、検索範囲をダイアログで簡単に設定できます。
(追記)
私が使っている「WORD文書一括処理ツール」の旧バージョン(v1.7)はMac版Word2004および2011では動作することを確認しています。しかしマクロに対応していないMac版Microsoft Word2008では動作しません。(20130915追記)
テキストエディタ「Jedit X」に「複数一括置換」機能があることをご指摘いただき、試してみました。とても分かりやすく使いやすい機能です。検索/置換には正規表現を使うことができます。また、リストはテキストファイルとして保存・編集できます。(20170317追記)
Jedit Xで複数一括置換をおこなった後、置換した部分に文字色をつける方法が分かりました。下のコメント欄をご覧ください(動画、サンプルファイルもあります)。
(20170124追記)
InDesign上で複数置換を実行するJavaScriptの改良版を、2016年11月に『JavaScriptで複数一括置換【改良版】』(http://mottainaidtp.seesaa.net/article/444309094.html)でご紹介しています。併せてご覧ください。(20170621追記)
InDesign上で複数置換を実行するJavaScriptの更なる改良版を『JavaScriptで複数一括置換【スタイル指定機能を追加】』(http://mottainaidtp.seesaa.net/article/450695777.html)でご紹介しています。併せてご覧ください。