ごんれのラボ

iOS、Android、Adobe系ソフトの自動化スクリプトのことを書き連ねています。

InDesignでJavaScript その22

「1000個あるInDesignファイルの中身をBridgeで検索できないかなぁ」

そんな依頼でした。

今日暇だったので(仕事する気がないのでw)、ちょっとお~まちさんとこのオブジェクトモデルを拝見しつつ、書いてみた。

中身と言っても全部じゃなくて、ある一部分の見出しの改行位置がわかればいい程度だったので、その見出しをメタ情報のキーワードに埋め込んじゃうことにしました。

プレファレンスってあんまいじったことないんだけど、さくっと書けましたよ。

~~~~~

//フォルダを選択

var folderObj = Folder.selectDialog("メタデータを埋込たいInDesignファイルのあるフォルダを選択してください") ;

//inddファイルを配列化(小文字・大文字無視)

var fileListINDD = folderObj.getFiles("*.indd") ;

//ファイル数分繰り返す

for (i = 0; i < fileListINDD.length ; i++) {

//ファイルを開く

app.open(fileListINDD[i]) ;

var docObj = app.activeDocument ;

//任意のテキストフレームの内容を変数に格納

docObj.pageItems.item("hogehoge").select();

var selObj = app.selection[0];

var keywordsContents = selObj.contents ;

//メタ情報埋め込み

docObj.metadataPreferences.keywords = [keywordsContents];

//ドキュメントを保存して閉じる

docObj.save() ;

docObj.close() ;

}

~~~

久々に0から書いたけど、楽しいなー。