InDesign CS6自動化作戦 (InDesign CS6 Automation Operation)

文字列を検索し置換する

■プログラム説明(ソースコード説明)
 文字列を検索して置換するにはchangeText()使います。どのように置換するかはapp.findTextPreferencesやapp.changeTextPreferencesなどにtrueまたはfalseを設定します。検索文字列はapp.findTextPreferences.findWhat、置換語の文字列はapp.changeTextPreferences.changeToに設定します。設定したら検索/置換するテキストに対してchangeText()メソッドを実行します。

■ソースコード
var keyword = "QuarkXpress"; // 置換元の文字
var repWord = "InDesign"; // 置換後の文字
app.findTextPreferences = NothingEnum.nothing; // オプションはすべてなし。false
app.changeTextPreferences = NothingEnum.nothing; // オプションはすべてなし。false
app.findTextPreferences.findWhat = keyword; // 検索文字を制定
app.changeTextPreferences.changeTo = repWord; // 置換文字を指定
for (var j=0; j<app.activeDocument.pages.length; j++){
var pageObj = app.activeDocument.pages[j]; // 1ページごと置換
for (var i=0; i<pageObj.textFrames.length; i++){
if (pageObj.textFrames[i].parentStory.contents.length > 0) {
pageObj.textFrames[i].parentStory.changeText();
}
}
}

■使い方
1:あらかじめドキュメントを開いておきます。
2:スクリプトを実行します。
3:QuarkXpressという文字をInDesignに置換します


■ポイント
 なし


■実際のスクリプトをダウンロード(sample.jsx.zip)

写真素材 PIXTA