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

ファイル選択ダイアログでキャンセルボタンが押されるまで画像を配置する

■プログラム説明(ソースコード説明)
 ファイル選択ダイアログで選択された画像を読み込み表示します。画像を表示するには表示するためのフレームをtextFrames.add()で作成します。作成したフレームに画像を表示するのを明示するためcontentTypeにContentType.graphicTypeを設定します。表示する画像のファイルパスはFile.openDialog()で取得したものをplace()のパラメータとして指定します。最後にfit()を使って枠を画像に合わせます。ファイル選択ダイアログでキャンセルボタンが押されるまで繰り返すには、File.openDialog()からの戻り値を調べます。ファイルが選択された場合にはファイルのパスが得られますが、キャンセルボタンが押された場合にはnullを返します。nullだったらbreakで無限ループから抜けるようにすることでキャンセルボタンが押されるまで連続して画像を読み込んで貼付けることができます。無限ループはwhile(true)のようにwhile()の条件式が常に真になるようにします。while(1)でも同じです。

■ソースコード
while(true)
{
selFile = File.openDialog("画像ファイルを選択してください");
if (!selFile) break;
docObj = app.activeDocument;
imgObj = docObj.textFrames.add();
imgObj.contentType = ContentType.graphicType;
imgObj.place(selFile);
imgObj.fit(FitOptions.frameToContent);
}


■使い方
1:スクリプトを実行します。
2:ファイル選択ダイアログが表示されるので画像を選択します。
3:選択した画像が表示されます。
4:キャンセルボタンが押されるまで2〜3を繰り返します。

■ポイント
 なし

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

写真素材 PIXTA