表をソートしたい

[7727]表をソートしたい 投稿者:イス 投稿日:2013/08/01 17:17:05
索引を作成しています。
InDesignCS5.5使用です。

索引と言っても本文の内容がそのまま載るのではなく、
索引に本文には載っていない内容を足さないとなりません。
内容が複雑なため、校正段階では索引をページ順に並べ、
本文ページの横に置いて校正するのですが、
最終的にはあいうえお順やアルファベット順に並び替えます。
現在はExcelを使って並び替えていますが、
索引の体裁(フォントや文字色、アミの色など)が複雑なため、
できればInDesign上でソートをかけたいです。
そういった方法はあるのでしょうか?

まとめると、インデザイン上で表のソートがかけられるか、です。
よろしくお願いします。
[7728]Re: 表をソートしたい 投稿者:kin 投稿日:2013/08/01 20:03:11
インデザインにそのような機能はありません。
ので、標準機能では「かけられません」です。

いちおう、過去の寺での質問です。
http://www.dtptemple.org/imgbbs/index.php?mode=thread&id=10146&page=1

ただし、「行頭の数字で行を並べ替えるスクリプト」のようなものを組めれば、Excelを併用してインデザイン内でソートすることは可能かと思います。私にはできませんが…。
[7729]Re: 表をソートしたい 投稿者:流星光輝 投稿日:2013/08/02 01:38:19
>最終的にはあいうえお順やアルファベット順に並び替えます。



>現在はExcelを使って並び替えていますが、
>索引の体裁(フォントや文字色、アミの色など)が複雑なため、
>できればInDesign上でソートをかけたいです。

通常、確定もしない状態で索引は作らないでしょう。
最終的にソートしたものをInDesignで体裁を整えれば、
InDesign上でのソートは不要だと思うのですけど…


>まとめると、インデザイン上で表のソートがかけられるか、です。
列に並び替えに使用できる情報(いわゆるフリガナ)が
あるのでしょうかね?
紙面上に乗らない(透明テキスト)状態でテキスト保持されているのでしょうか?

もう少し、ワークフローを練り直す必要があるのかもしれません。
[7730]Re: 表をソートしたい 投稿者:流星光輝 投稿日:2013/08/02 02:27:51
あまり役に立たないかもしれませんが、書いてみました。
動かなかったらごめんなさい。

#target indesign
var key=2; // ソート列の指定
var arr=[];
var sel=app.selection[0];
if (sel.constructor.name.match(/Table|Cell/)){
for (var i=0;i<sel.rows.length;i++){
arr.push([sel.rows[i].cells[key].texts[0].contents,i]);
}
arr.sort();
for (var j=0;j<arr.length;j++){
var nl=sel.rows.add();
app.select(sel.rows[arr[j][1]]);
app.copy();
app.select(nl);
app.paste();
}
for (var k=arr.length-1;k>-1;k--){
sel.rows[k].remove();
}
}else{
alert("xxx");
}

attached image
[7731]Re: 表をソートしたい 投稿者:イス 投稿日:2013/08/02 09:47:48
kinさま
ありがとございます。
そのページ他も見て、やはり無理なのかなと考えておりました。

流星光輝さま
ありがとうございます!
並び替えが成功しました。
InDesignにExcelデータを配置してから、
特殊文字や配置などの関係で文字の置き換え等が多く、
とにかくミスの多い索引制作でしたので、
これで諸々のミスが確実に減少します。

毎年索引を作り替えるので、
ページ順(ページの中でも複雑な順番がある)と
あいうえお順と2つの通し番号はつけてあります。
その番号でも並び替えはできましたが、
更に番号の付け方を改善すれば、
もっとスムーズに動くようになると思います。
本当にありがとうございました。
この記事の書き込み元へのリンク (コメントや質問などはこちらへどうぞ)