2017年06月09日

JavaScriptで複数一括置換【スタイル指定機能を追加】

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

※2017/06/14:サンプルデータに不備があったため修正しました。

※2017/06/15:検索範囲も設定できるように改良しました。

※2020/03/14:置換文字列が空欄の場合に生じる問題を修正しました。

複数一括置換スクリプト(新)で小数点第二位を四捨五入する(2020年03月10日公開)ではさらに改良した(シンプルな)スクリプトを公開しています。併せてご覧ください。


2016年11月の『JavaScriptで複数一括置換【改良版】』では、外部のテキストファイル(置換テーブル)を参照して複数一括置換を実行するスクリプトを紹介しました。
今回はさらに手を加え、下図のようなダイアログで段落スタイルや文字スタイル、検索範囲を指定できるようにしてみました。

0615-01.png


各チェックボックスをオンにすると、ドロップダウンリストで段落スタイル名や文字スタイル名が選択できる状態になります(アクティブなInDesignドキュメントに設定されているものがすべて表示されます)。使い方については以下の動画を参照ください。


※検索範囲はドロップダウンリストで設定します。「ストーリー」「選択範囲」とする場合は、あらかじめドキュメント上で1文字以上を選択しておく必要があります。


お試しになる際は十分にテストされるようお願いします。また、必ずバックアップをとってからお試しください。
サンプルデータ(2020/03/14更新)はこちら《replace_2020_0314b.zip》です。

※表組みのセルを選択している場合など、うまく動作しない場合は『複数一括置換スクリプト(新)で小数点第二位を四捨五入する』のスクリプトをお試しください。

posted by 照山裕爾 at 02:07| Comment(3) | TrackBack(0) | InDesign-検索/置換 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
検索置換対象の文章に1バイト括弧が含まれているとうまく検索置換されないようです。置換テーブル上の括弧の直前にバックスラッシュを入れれば検索されますが、できれば避けたいひと手間です。

正規表現検索ではなく、通常のテキスト検索で動作させることはできないでしょうか。
Posted by 源 at 2018年09月11日 18:58
源さま
コメントをありがとうございます。

正規表現による置換/検索では「FindGrepPreference」などのように書くところを
テキストによる置換/検索では「FindTextPreference」などのように書きます。

ですので、スクリプトの「Grep」を「Text」に書き換えれば
多くの場合、うまくいくと思います。

きちんとテストしていませんが書き換えたものをアップします。
試してみてください。
https://mottainaidtp.up.seesaa.net/image/test-0911a.jsx
Posted by 照山裕爾 at 2018年09月12日 00:04
書き換え版を試してみたところ、うまく行きました。
スクリプトの変更点を見比べてみたところ、少し調べればわかるようなことだったみたいで、お手を煩わせてしまいすみません。勉強になりました。
大変ありがとうございました。

Posted by 源 at 2018年09月12日 11:11
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: [必須入力]


この記事へのトラックバック