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

最初のレコードに含まれるフィールド内容を全てテキストフレームに配置する

■プログラム説明(ソースコード説明)
 ファイルメーカーPro 7から出力されたXML (FMPXMLRESULT) データを読み込み、最初のレコードの内容をテキストフレームに配置します。最初のレコードに含まれる(配置された)フィールド数をxmlObj.xmlElements[0].xmlElements.lengthで取得します。この数だけ繰り返しフィールド内容を読み出してテキストフィールドを作成し配置していきます。

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

■ポイント
 なし

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

写真素材 PIXTA