k_ikiの雑記帳

DTPのこと、創作のことなど、思いつくまま

検索・置換系のスクリプト

バージョンごとにInDesignJavascriptの仕様が変わっていくのは周知の事実。

特に、CS2以前とCS3以降とで検索・置換関係のスクリプトの仕様が大きく変わっている。

CS3以降から正規表現検索・置換が実装されたことがその理由だ。

CS2までは、

findPreferencesプロパティにて検索文字列を設定し、

changePreferencesプロパティにて置換文字列を設定。

その上でsearchメソッドにて検索・置換を実行すればテキスト置換することができた。

 

ところが、CS3以降においては正規表現検索・置換が増えたことによりプロパティの名称変更と追加が行われた。

具体的には、 

テキスト検索はfindTextPreferences、置換はchangeTextPreferences

正規表現検索はfindGrepPreferences、置換はchangeGrepPreferencesなど。

他にも字形、文字種、オブジェクトの検索・置換それぞれプロパティが追加された。

 

これらに対応し、テキスト検索実行のメソッドはfindText、置換実行のメソッドはchangeText

正規表現検索実行のメソッドはfindGrep、置換実行のメソッドはchangeGrepという変更がなされている。

※流星さんのご指摘を受け、検索実行と置換実行メソッドが別々であることを明記いたしました。

 

これだけわかれば、以前のエントリで紹介したバイカモさんのスクリプト、

ルビ分割修正について、CS3以降用に編集し直すことが可能だ。

そんなわけで、晴れて同スクリプトをVersion 4.0 Scriptsから一階層上に移動し、現在(CS6)も便利に使わせていただいている。

バイカモさん、いつもありがとうございます。