InDesignのブックは、個々のドキュメントを登録して、一連のドキュメントを一括して管理できる機能です。
このブックも、スクリプトで扱うことができます。
ここでは、ブックでドキュメントを扱う上では(たぶん)欠かせない、同期オプションの設定コマンドを紹介します。
ドキュメントサンプル
次のようなブックを作成してあります。
ブックには、doc01、02、03の3ファイルのドキュメントが入っています。
同期オプションのチェックは、すべてはずしてあります。


スクリプトで、このブックを開き、すべての同期項目にチェックを入れます。
コードサンプル
#target indesign
//ブックを開く
var objBook = app.open("/Users/〜〜〜/book01.indb");
// 同期オプションを設定する
// 条件テキスト設定
objBook.synchronizeConditionalText = true;
// 自動番号
objBook.synchronizeBulletNumberingList = true;
// 相互参照形式
objBook.synchronizeCrossReferenceFormat = true;
// テキスト変数
objBook.synchronizeTextVariable = true;
// マスターページ
objBook.synchronizeMasterPage = true;
// トラッププリセット
objBook.synchronizeTrapStyle = true;
// 表スタイル
objBook.synchronizeTableStyle = true;
// セルスタイル
objBook.synchronizeCellStyle = true;
// オブジェクトスタイル
objBook.synchronizeObjectStyle = true;
// 目次スタイル
objBook.synchronizeTableOfContentStyle = true;
// 文字スタイル
objBook.synchronizeCharacterStyle = true;
// 段落スタイル
objBook.synchronizeParagraphStyle = true;
// スウォッチ
objBook.synchronizeSwatch = true;
// グリッドフォーマット
objBook.synchronizeNamedGrid = true;
// 禁則
objBook.synchronizeKinsokuStyle = true;
// 合成フォント
objBook.synchronizeCompositeFont = true;
// 文字組み
objBook.synchronizeMojikumiStyle = true;
//スタイルグループをスマート一致 する
objBook.smartMatchStyleGroups = SmartMatchOptions.MATCH_STYLE_NAME;
実行結果
ブックファイルが開きました。
同期オプションパネルを開くと、全てにチェックが付いていることが確認できます。

サンプルコードの解説
同期項目にチェックをつけるときはtrue、外すときはfalseを代入します。
最後のスタイルグループをスマート一致の項目だけは、true/falseではなく、次のように定数を設定します。
- チェックをつけるとき:SmartMatchOptions.MATCH_STYLE_NAME
- チェックしないとき:SmartMatchOptions.MATCH_STYLE_PATH
ブックの同期には細心の注意を払って
ブックの同期は便利な機能です。
便利な機能ですが、不必要な項目まで同期してしまって痛い目に合わないように、同期項目は必要なものだけにチェックをして実行することをお勧めします。
できれば、ドキュメントのバックアップもしておきましょう。
合成フォントの同期は、正常に動かないことが多いというウワサを聞いたことがあります…
コメント