2018年11月19日

フォルダ内のGREPクエリをスクリプトで一括実行する[InDesign]

DTP作業者にとっての難易度 ★★★☆☆(3)

【注意】本スクリプトはドキュメントの内容を変更するものです。また、一時的に「GREP」フォルダなどの名称を変更します。必ずドキュメントや、各フォルダのバックアップをとってからご使用ください。


InDesignで作業をしていると検索/置換のためのクエリ数が増え、管理に困ることがあります。できればクライアントや媒体ごとにクエリを収めるフォルダを分けておきたいとお考えの方は多いのではないでしょうか。今回は、そのように分けたフォルダ内のクエリを一括実行するスクリプトを考えてみました。

スクリプトの内容

スクリプトの大ざっぱな流れとしては
クエリを収めたフォルダをダイアログで選択(フォルダ名を記憶)→元々の「GREP」フォルダの名称を一時的に「GREP_ original_saved」に変更(ダイアログで「GREP」フォルダを選択した場合は変更不要)→先にダイアログで選択したフォルダの名称を「GREP」に変更(同)→「GREP」内のクエリを全部実行→「GREP」フォルダの名称を元に戻す(同)→「GREP_ original_saved」フォルダの名称を「GREP」に戻す(同)
ということになります。

※スクリプト実行中にエラーが発生した場合、フォルダ名が変わったままになる可能性があります。その場合は手動でフォルダ名を戻してください。


使い方

クエリを収めたフォルダは「Find-Change Queries」内(「GREP」フォルダと同階層)に置いてください。クエリを収めたフォルダの名称は「GREP〜」とします(「GREP_A社の作業用」など)。

※「Find-Change Queries」の場所についてはアドビのサイトを参照してください。


ドキュメントを表示した状態でスクリプトを実行してください。アクティブドキュメントのみが処理対象となります。
動画でも触れていますがドキュメントに存在しない設定(段落スタイル、文字スタイル、スウォッチなど)がクエリに含まれている場合、アラートが表示されることなく意図しない結果になることがあります。事前に個々のクエリーの設定が、すべてドキュメントに存在することを確認した上でご使用ください。

※今回、処理対象はアクティブドキュメント全体としました。「すべてのドキュメント」「ストーリー」「選択範囲」などを対象にしたい場合は132行目「mydoc.changeGrep();」を書き換えてみてください。


サンプルデータはこちら《minimum_2018_1118a.zip》です。
posted by 照山裕爾 at 04:55| Comment(0) | InDesign-書式・スタイル | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: [必須入力]