選択されたファイル名をテキストフレームに表示する

■プログラム説明(ソースコード説明)
 選択されたファイル名をテキストフレームに表示するにはFile.open()を使いファイルを選択させます。textFrames.add()でテキストフレームを作成しファイル名を表示します。ただし、日本語ファイル名の場合にはデコード(復元)する必要があります。得られたファイル名をtoString()で文字列型にしてからFile.decode()でデコード処理を行います。
 ただし、MacOS Xの場合には濁点などがファイル名に含まれる場合には濁点部分が文字化けしてしまいます。OS内部とInDesign CSでのUnicodeの処理方法が異なるために発生する現象です。(内部的な原因ということのようです。同様の現象はAcrobatでも発生します)

■ソースコード
filename = File.openDialog("ファイルを指定してください");
if (filename)
{
fname = filename.toString();
pageObj = app.documents.add()
txtObj = pageObj.textFrames.add();
txtObj.visibleBounds = ["1cm","0.5cm","5cm","10cm"];
txtObj.contentType = ContentType.textType;
txtObj.contents = File.decode(fname);
}


■ポイント
 なし

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