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

1レコード1ページとして全レコード、全フィールドを配置する

■プログラム説明(ソースコード説明)
 ファイルメーカーPro 7で出力されたXML (FMPXMLRESULT) データを読み込み、1レコード1ページとして配置します。1ページには1レコード内の全フィールドを配置します。全レコード数はxmlObj.xmlElements.lengthで取得できます。必要に応じて必要なフィールドのみを配置していくのが良いでしょう。

■ソースコード
docObj = app.activeDocument;
pageObj = docObj.pages[0];
root = docObj.xmlElements.item("FMPXMLRESULT");
xmlObj = root.xmlElements[4];
total = xmlObj.xmlElements.length;
for (j=0; j<total; j++)
{
len = xmlObj.xmlElements[j].xmlElements.length;
y = 2;
for (i=0; i<len; i++)
{
txt = xmlObj.xmlElements[j].xmlElements[i].xmlElements[0].contents;
tf = pageObj.textFrames.add();
tf.visibleBounds = [y+"cm","1cm",(y+1)+"cm","5cm"];
tf.contents = txt;
y++;
}
docObj.pages.add();
pageObj = docObj.pages[j+1];
}

■ポイント
 なし

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

写真素材 PIXTA