DTP作業者にとっての難易度 ★☆☆☆☆(1)
InDesignドキュメント(※1)に他のInDesignドキュメント(※2)を配置した場合、基本機能では配置ドキュメント内の文字までは検索できず用語統一などの際に不便です。今回はこれを解決するためのスクリプトを書いてみました。※1/ここでは「レイアウトドキュメント」と呼びます。
※2/ここでは「配置」ドキュメントと呼びます。
以下、動画をご覧ください。
準備:「検索と置換」ダイアログの設定
レイアウトドキュメントを開き「検索と置換」ダイアログの「正規表現」で「検索文字列」を設定します。※「置換文字列」は設定してもしなくても構いません。スクリプトでは使用しません。
※「検索形式」を設定した場合は検索に反映されます。ただし段落スタイルや文字スタイル、スウォッチ、フォントなどはレイアウトドキュメントで使用しているものしか選択できませんのでご注意ください。
※各種検索オプション(「ロックされたレイヤーおよびロックされたオブジェクトを含める」など)はどのように設定しても構いません。スクリプトでは実行前の設定内容を記憶した後、一時的に全設定をオンにして検索を行います(配置ドキュメント側でロックされているようなケースでも検索できるようにするため)。そしてスクリプトの最後で実行前の設定に戻します。
スクリプトの実行:対象文字列が含まれるファイルをすべて開く
スクリプト「search_importedPages_0000.jsx」ではレイアウトドキュメントのリンクパネルに表示される各ファイル(拡張子が「.indd」のファイルのみ)について以下の作業をおこないます。@ファイルを開く→A開いたドキュメント内を検索する→B1件もヒットしない場合はファイルを閉じる(ヒットした場合は開いたままにする)。
スクリプトが終了した時点では検索文字列が含まれたファイルだけが開いた状態になっています。
※本スクリプトはレイアウトドキュメントにも配置ドキュメントにも変更を加えません。
スクリプト実行後の作業:検索と置換
検索対象を「すべてのドキュメント」とした上で検索と置換を行います。正規表現の設定によっては「すべてを置換」では思わぬ箇所まで置換してしまうこともあります。このような場合は1件ずつ確認しながら進めるのが良いでしょう。※スクリプト実行後、検索オプションは実行前の設定に戻っています。一部がオフになっていて検索されない文字列があるかもしれませんので注意してください。
※検索オプションの設定に関わらず、ロックされたレイヤー上の文字列などは検索できても置換はできません。置換する必要がある場合はロックを解除しましょう。
ご使用になる場合は十分にテストをするようお願いします。
サンプルデータはこちら《minimum_2021_0516d.zip》です。