ライブラリー登録とアイテム情報の取得

ExtendScriptでInDesignドキュメントのオブジェクトをライブラリーに追加する方法 ライブラリー
スポンサーリンク

InDesignでは、ドキュメントのオブジェクトをライブラリファイルに登録・保存しておくことができます。

ライブラリに登録したアイテムは、アイテムの名称以外にも情報を持っています。
その情報にアクセスするプロパティも紹介します。

ドキュメントサンプル

次のようなドキュメント上の図形を選択した状態で、スクリプトを実行します。
選択された図形が、新規作成されたライブラリーファイルに登録されます。

ExtendScriptでInDesignライブラリーにアイテム登録をする前準備

コードサンプル

#target indesign

// ライブラリを作成
var objLibrary = app.libraries.add ("C:/Users/〜〜〜/ライブラリ登録test.indl");
// 選択しているアイテムをライブラリに登録
var objAsset = objLibrary.store(app.selection);

// 登録したアイテムの情報を入力
objAsset.name = "みどりの丸";
objAsset.description = "スクリプちん";
objAsset.label = "riptin";

// アイテムの情報をアラート表示
alert(
"ライブラリ内のアイテム数: " + objLibrary.assets.length + "\n\n" +

"名前: " + objAsset.name + "\n" +
"詳細: " + objAsset.description + "\n" +
"スクリプトラベル: " + objAsset.label + "\n\n" +

"タイプ: " + objAsset.assetType + "\n" +
"登録日付: " + objAsset.date + "\n" +
"id: " + objAsset.id + "\n" +
"index: " + objAsset.index
, "アセットのプロパティ");

実行結果

InDesignライブラリーのアイテム登録をExtendScriptで実行した結果
ライブラリーが作成され、アイテムも登録されている
ExtendScriptでInDesignライブラリーのアイテム情報の取得結果
アイテム情報をアラート表示

サンプルコードの解説

コードの4行目で、ライブラリーファイル新規作成し、取得しています。

var objLibrary = app.libraries.add ("C:/Users/〜〜〜/ライブラリ登録test.indl");

このライブラリにstoreでアイテム登録します。
引数に、選択項目が指定してあります。

var objAsset = objLibrary.store(app.selection);

9〜10行目で、登録アイテムのプロパティを使って、情報を入れています。
.labelは、スクリプトラベルです。

objAsset.label = "riptin";

ライブラリー内の一連のアイテムには、配列としてアクセスできます。
15行目では、assets配列の .lengthプロパティでアイテム数を取得しています。

objLibrary.assets.length

最後は、他のプロパティも使って、アイテム情報のアラート表示です。

これらの情報のうち、「アイテム名」「形式」「作成日」「詳細」は、ライブラリーのパネルメニューから確認できます。

InDesignライブラリーのアイテム情報をパネルメニューから表示する
ライブラリパネルのメニューから「アイテム情報…」を選択
パネル表示されたInDesignライブラリーのアイテム情報
アイテムの情報が表示される

ライブラリパネルのメニューでは、登録したオブジェクトは「アイテム」と表現していますが、スクリプトでは「asset」(配列は「assets」)というオブジェクト名で扱います。

コメント

タイトルとURLをコピーしました