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

1行読み込む

■プログラム説明(ソースコード説明)
 ファイルから1行読み込むには、まずファイルを読み込みモードで開きます。ファイルのあるパス(場所)を指定しnew File()で開きたいファイルのパスを指定します。これでファイルを操作するファイルオブジェクトが作成されます。このファイルオブジェクトに対してopen("r")を使ってファイルを開きます。サンプルでは"r"を指定していますが、これは読み込みモードで開くことを示しています。戻り値がtrueの場合はファイルが存在し読み込みが可能である事を示しています。readln()とするとファイルから1行分読み込まれます。改行コードは自動判別されるため特に処理する必要はありません。


■ソースコード
filename = "Macintosh HD:id_text:headline.txt";
fileObj = new File(filename);
flag = fileObj.open("r");
if (flag == true)
{
text = fileObj.readln();
alert(text);
fileObj.close();
}else{
alert("ファイルが開けませんでした");
}

■ポイント
 読み込みファイルの文字コードは自動判別されます。最初の数文字を読み込んで判別しているため、場合によっては日本語が文字化けしてしまう可能性があります。
 open()で読み込んでいる場合にエラーが発生する可能性もあります。例えばネットワーク経由でファイルを読み込んでいる間にネットワークが切断されてしまう、読み込み途中でファイルが削除されてしまう、ファイルが壊れているような場合です。このような場合には例外処理のtry〜catchを使ってエラーを回避するようにしてください。

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

写真素材 PIXTA