索引項目を作成して索引マーカーを挿入する

ExtendScriptでInDesignに索引マーカーを挿入する方法 索引
スポンサーリンク

InDesignの索引機能を使って索引を作成するためには、索引項目の作成と、その項目が索引マーカーとしてドキュメント上に挿入されている必要があります。

ここではスクリプトを使って、ドキュメントに索引項目を作成し、さらにその索引項目を、本文中に索引マーカーとして挿入します。

ドキュメントサンプル

次のように作成したドキュメントを開いて、準備しておきます。

このドキュメントの「意地を通せば窮屈だ。」の赤い文字で示した「窮屈」という文字の前に索引マーカーを挿入します。

索引項目は「窮屈」として、読みを「きゅうくつ」とします。

InDesignに索引マーカーを挿入する

コードサンプル

#target indesign

//  アクティブドキュメントに索引を扱うオブジェクトを作成
var objIndexs = app.activeDocument.indexes.add();
//   索引マーカーを挿入する挿入点
var objInsPnt = app.activeDocument.pages[0].textFrames[0].insertionPoints[6];

// 索引項目の作成
objTopix = objIndexs.topics.add("窮屈", "きゅうくつ");
// 本文中に索引マーカーを挿入
objTopix.pageReferences.add(objInsPnt);

実行結果

「窮屈」の前に、三角矢印で索引マーカーが入りました。

索引のパネルにも「き」に「窮屈」が作成され、同時にページ番号が取得されています。

索引マーカーが挿入されたInDesignドキュメント

索引パネルのページ番号「2」をダブルクリックして「ページ参照オプション」を開くと、索引項目と読みが入っているのがわかります。

索引マーカーが挿入された後の「ページ参照オプション」のパネル

サンプルコードの解説

まずはじめに、索引そのものを扱うオブジェクトを用意します。

コードの4行目で、アクティブドキュメントに索引のオブジェクト変数を作成しています。

var objIndexs = app.activeDocument.indexes.add();

この索引オブジェクトで、索引を操作していきます。

コードの9行目で、索引項目を作成しています。
この1行で「窮屈」と「きゅうくつ」のセットの索引項目ができます。

objTopix = objIndexs.topics.add("窮屈", "きゅうくつ");

次に、コードの11行目で、作成した索引項目をマーカーとして挿入します。
add()の引数として、サンプルコードの6行目で取得した挿入点を指定しています。

objTopix.pageReferences.add(objInsPnt);

サンプルコードでは、索引項目の作成と索引マーカーの挿入を分けて実行していますが、次のようにすると、1行でも書くことができます。

objIndexs.topics.add("窮屈", "きゅうくつ").pageReferences.add(objInsPnt);

コメント

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