「スクリプちん」のサイトデザインをリニューアル作業中です…^^;

【InDesignのスクリプト作成】ブックの作成とドキュメントの追加削除

当ページのリンクには広告が含まれています。
ExtendScriptでInDesignのブック作成とドキュメントの追加と削除の方法

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

ブックも、ドキュメントと同じようにスクリプトで操作できます。

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

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

Adobe公式サイト  Adobe InDesignの機能を詳しく見てみる

目次

ドキュメントサンプル

次のファイル名で、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が削除されました

サンプルコードの解説

18行目の「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の状態が取得されています。

Adobe公式サイト  Adobe InDesignの機能を詳しく見てみる

よかったらシェアしてね!
  • URLをコピーしました!
目次