データ結合の例

以前、ほかで書いたんだけども、こちらにもメモしときます。

InDesign CS2で(たしかデータ結合はCS2からだったよね)データ結合を実行するJavaScriptの例。

読み込むテキストファイル(aaa.txt)

名前,性別,年齢
太郎,男,14
次郎,男,16
花子,女,23
早苗,女,20
光,?,26

スクリプト

var doc = app.activeDocument;
var txf = doc.textFrames.add();
txf.geometricBounds = [0,0,40,100];
txf.contents = "名前 \x0d性別 \x0d年齢 ";
var sty = txf.parentStory;
//データ結合のオブジェクト
var dmg = doc.dataMergeProperties;
//データソースの選択
dmg.selectDataSource("aaa.txt");
//以下3行はデータフィールドをドラッグ
doc.dataMergeTextPlaceholders.add(sty, 3, dmg.dataMergeFields[0]);
doc.dataMergeTextPlaceholders.add(sty, 13, dmg.dataMergeFields[1]);
doc.dataMergeTextPlaceholders.add(sty, 23, dmg.dataMergeFields[2]);
//データ結合パレットの右下のアイコンをクリックして表示される設定内容
//(ほかの設定もあるけど今回は2つだけ)
with(dmg.dataMergePreferences){
    //全レコード
    recordSelection = 1684881778;
    //ページあたりのレコード:複数レコード
    recordsPerPage = 1684884850;
}
//データ結合実行
dmg.mergeRecords();