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

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

■プログラム説明(ソースコード説明)
 ファイルメーカーPro 7から出力されたXML (FMPXMLRESULT) を利用して最初の内容をテキストフレームに配置します。ファイルメーカーPro 7から出力されるXMLのデータ内容部分は<RESULT><ROW>内の<COL>内の<DATA>い入っています。サンプルでは最初のレコードの最初のフィールドの内容をテキストフレーム内に配置するためにxmlElementsを使って内容にアクセスしています。内容はcontentsプロパティを参照することで取得できます。

■ソースコード
docObj = app.activeDocument;
root = docObj.xmlElements.item("FMPXMLRESULT");
tf = docObj.textFrames.add();
tf.visibleBounds = ["1cm","1cm","2cm","10cm"];
xmlObj = root.xmlElements[4];
txt = xmlObj.xmlElements[0].xmlElements[0].xmlElements[0].contents;
tf.contents = txt;

■ポイント
 スクリプトを実行する手順としては以下のようになります。

1:ファイルメーカーでデータを作成する
2:ファイルメニューからレコードのエクスポートでFMPXMLRESULT形式で保存する
3:InDesign CS5でファイルメニューからXMLを読み込みを選択して出力したXMLを読み込む
4:スクリプトを実行する
5:最初のレコードの最初のフィールド内容がテキストフレームに配置されます。


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

写真素材 PIXTA