章ごとのファイルから索引作成

[7324]章ごとのファイルから索引作成 投稿者:arata 投稿日:2013/02/04 10:40:20
Indesign CS5をWindowsで使用しています。
書籍を作成していますが、章ごとにファイルを作成しています。
著者から索引項目リストをもらい、索引を作成しようとしているところです。

ブック機能を用いて索引を作成しようとしたのですが、
索引ツールの「ブック」にチェックを入れることができません。

過去ログを拝見したり、検索したりして、
javaスクリプトを使う方法があるのもわかりました。
下記のスクリプトを使用したのですが、
http://www.openspc2.org/book/InDesignCS5/hard/014/index.html
章ごとにしか作成できず、
2章以降はノンブルの数字ではなく、ファイルごとのページ数が出てしまいます。
(つまり、2章が10ページからはじまり、InDesignファイルでは10ページとなっているのに、
 スクリプトの結果は1ページとなってしまうのです)

以下の過去ログも拝見しましたが、解決作がわかりませんでした。
・索引作成について
http://dtp-bbs.com/mt/indesignbbs/archives/5918_20110708174711.htmlhttp://dtp-bbs.com/mt/indesignbbs/archives/5918_20110708174711.html
・索引のスクリプトについて
http://dtp-bbs.com/mt/indesignbbs/archives/1502_20080728181354.html

ほとんど素人なので、知識・経験不足のせいかと思いますが、
ご存じの方がいらっしゃいましたら、ご教示いただければ幸いです。

どうぞよろしくお願いいたします。

あらた
[7325]Re: 章ごとのファイルから索引作成 投稿者:流星光輝 投稿日:2013/02/04 12:17:07
>ブック機能を用いて索引を作成しようとしたのですが、
>索引ツールの「ブック」にチェックを入れることができません。

ちなみに、ブックを開いてある状態ですかね?


>下記のスクリプトを使用したのですが、

result = result + (i + 1) + ",";

result = result + pageObj[i].name + ",";
してみるとページパネルの表示を取り出せると
思うのですが、テストしてません。

> 章ごとにしか作成できず、
そういうコードみたいですね。
ファイルの数だけ実行させて
出来たテキストファイルをマージして
生成すれば良いと思います。
(((重複ノンブルとか処理は必要ですけれども)))
[7326]Re: 章ごとのファイルから索引作成 投稿者:Subi 投稿日:2013/02/04 16:59:11
リストから索引項目を追加していくところをスクリプト等で自動化したいのですか?
それとも、章ファイルに各索引項目を追加する作業は終わっていて索引そのものの作成が(ブックから)できないのですか?
[7327]Re: 章ごとのファイルから索引作成 投稿者:杜王町民 投稿日:2013/02/04 20:11:37
前にも書いた「似たような仕事」がまだ解決しておらず、
引き続き取り組んでいます。

さて、ご覧になっていたスクリプトを私も見てみました。
>var totalPage = docObj.pages.length; // 全体のページ数

こうなっていますが、開いたドキュメントごとの
「ページの数」しか得られず、ノンブルは得られません。
ドキュメント1ページ目のノンブルを取得するだけの
ソースは以下の通りです。

var obj = app.activeDocument;
var firstPageNum = obj.pages[0].name;
alert(firstPageNum);

変数firstPageNumにノンブル番号が入ります。
なお、変数の型は文字列です。
obj.pages[1].name であれば2ページ目、
obj.pages[2].name であれば3ページ目…と、
実際のページの場所より一つ少ない数字を指定する必要があります。

なお、当方ではブック機能を使うとドキュメントが自動的に書き換えられ体裁が狂った経験をしているので、
ブック機能を使う場合はドキュメントをコピーしています。
あるいは流星光輝さんご提案のように、ファイルの数だけ
スクリプトを実行させるか、プログラムの開始直後に
処理したい全てのドキュメントの場所をファイル選択
ダイアログで読み込ませて配列を作り、
1回の動作で全ファイルを処理するという方法もあるかと
思います。
この記事の書き込み元へのリンク (コメントや質問などはこちらへどうぞ)