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

テキストファイル内容をテキストフレームに自動的に読み込ませる

■プログラム説明(ソースコード説明)
 先頭のページのテキストフレーム内に自動的にファイルから読み込んで文字を表示させるには、あらかじめ読み込むファイルのパスをテキストフレームに入れておきます。サンプルではMacintosh HD:0.txtのようにファイルパスを表記しています。すでに文字が入っている場合に内容が入れ替わってしまうのはよくないため、テキストファイルの拡張子である.txtが含まれているかどうかを調べて、含まれている場合のみファイルパスとして処理しテキストフレームに文字を設定しています。


■ソースコード
pageObj = app.activeDocument.pages[0];
for (i=0; i<pageObj.textFrames.length; i++)
{
filePath = pageObj.textFrames[i].contents;
fileObj = new File(filePath);
flag = fileObj.open("r");
if (flag)
{
if (filePath.indexOf(".txt") > -1)
{
txt = fileObj.read();
pageObj.textFrames[i].contents = txt;
}
fileObj.close();
}
}


■ポイント
 あらかじめInDesign側で文字のサイズや色などを設定しておくことができるので便利です。

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

写真素材 PIXTA