ブックの作成とドキュメントの追加削除

ExtendScriptでInDesignのブック作成とドキュメントの追加と削除の方法 ブック

InDesignのブックは、個々のドキュメントを登録して、そのドキュメントを一括して管理できる便利な機能です。

このブックも、スクリプトで扱うことができます。

今回紹介するスクリプトコードは、次の順番で動作します。

  1. 新規にブックを作成
  2. ブックに既存のドキュメントを3つ登録
  3. 登録したドキュメントの情報を取得してアラート表示
  4. 登録した2番目のドキュメントを削除

ドキュメントサンプル

次のファイル名で、InDesignのドキュメントファイルを3つ用意してあります。

  • doc01.indd(2ページ分)
  • doc02.indd(1ページ分)
  • doc03.indd(1ページ分)

コードサンプル

#target indesign
//ブックを作成する
var objBook = app.books.add("/Users/〜〜〜/Documents/WORK/book01.indb");

//ドキュメントをブックに追加する
objBook.bookContents.add("/Users/〜〜〜/Documents/WORK/doc01.indd");
objBook.bookContents.add("/Users/〜〜〜/Documents/WORK/doc02.indd");
objBook.bookContents.add("/Users/〜〜〜/Documents/WORK/doc03.indd");

//
ブックの先頭のドキュメントの情報をアラート表示
alert(
	"名前: " + objBook.bookContents[0].name + "\r\n" +
	"id: " + objBook.bookContents[0].id + "\r\n" +
	"ページ範囲: " + objBook.bookContents[0].documentPageRange + "\r\n" +
	"ファイルパス: " + objBook.bookContents[0].filePath + "\r\n" +
	"ファイル名: " + objBook.bookContents[0].fullName + "\r\n" +
	"ドキュメントの状態: " + objBook.bookContents[0].status);

//2番目のドキュメントをブックから削除する
objBook.bookContents[1].remove();

実行結果

ExtendScriptでInDesignブックが作成されドキュメントが追加されたブックパネル
ブックが作成され、3つのドキュメントが登録されました
ExtendScriptでInDesignブックのドキュメント情報を取得して表示したアラート画面
先頭のbookContentsの情報を取得して表示
ExtendScriptでInDesignブックからdoc02のドキュメントを削除したブックパネル
上から2番目のbookContentsが削除されました

サンプルコードの解説

statusプロパティでは、次の定数が返ります。カッコ内は、10進数表記です。

  • 使用可能BookContentStatus.NORMAL(1852797549)
  • ドキュメントが開いているBookContentStatus.DOCUMENT_IS_OPEN(1148150607)
  • ドキュメントがブックの外で変更されているBookContentStatus.DOCUMENT_OUT_OF_DATE(1148150596)
  • ドキュメントが指定の場所にないBookContentStatus.MISSING_DOCUMENT(1148150605)
  • ドキュメントがロックされているBookContentStatus.DOCUMENT_IN_USE(1148150601)

アラート画面では ”1852797549” と表示されているので、使用可能のBookContentStatus.NORMALの状態が取得されています。

コメント

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