|
Indesign CC2015にて選択中のセルに対し、左上から右下にZ方向で 現在は言っているコンテンツに連番を追加したいと思っております。
/*--------------------------------------------------------------------------- var selcell = app.activeDocument.selection[0].cells; for(var i = 0 ; i < selcell.length; i++){ selcell[i].contents = selcell[i].contents + "-" + ( i + 1 ) ; } ---------------------------------------------------------------------------*/
上記スクリプトにて行うと、行方向に結合されているセル(5)には連番が追加されず セルが飛ばされる形で、次の行の1つめのセル(7)に連番が入り、最終的に "selcell[i].contents = selcell[i].contents + "-" + ( i + 1 ) ;"でエラーが起きます。
本来の完成形は下記になります 2-1 3-2 4-3 5-4 7-5 9-6
selcellの中のcontentsをみると"length:5"となっており、そもそものselectionの中に "5"が入っていない状態になっています。
これを本来の完成形のようにいれることはできないのでしょうか? (あくまでも選択セルのみのcontentsを編集したい)
ご教示、よろしくお願いいたします。
|
No.8886 2016/01/21(Thu) 20:28:43
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36
|
Re: Indesign JS 結合セル(表)の扱いについて / (z-) |
|
|
|
まず、マルチポストである事は名言しておくべきです。
"5"の入ったセルがselectionに含まれていないというだけではエラーの原因にはなりません。他の要因があるはずです。 selcell.lengthの値、エラー時の i の値などの確認からしてみてはいかが。 行方向に結合されたセルという点では"2"も同義の可能性がありますよね。
また、投稿頻度がかさむようであればハンドル名はご一考かと。 スクリプトさんって呼べばいいんですか? 漫画好きの人をマンガくんって呼ぶようでこちらが気恥ずかしいです。
|
No.8889 2016/01/22(Fri) 11:20:35
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/601.3.9 (KHTML, like Gecko) Version/9.0.2 Safari/537.86.3
|
|
Re: Indesign JS 結合セル(表)の扱いについて / スクリプト |
|
|
|
z-さん
すいません。以降気をつけます。
>selcell.lengthの値、エラー時の i の値などの確認からしてみてはいかが。 ”selcell[i].contents = selcell[i].contents + "-" + ( i + 1 ) ;” この部分でエラーとなり、ともに"6"がエラー時の値となっています。
ExtendScript Toolkitにて var selcell_1 = app.activeDocument.selection[0]; を実行し、取得されているselcell_1.contents部分をデータブラウザにて確認すると、 [Array] 3,4,5,7,10,11 と正常に値が取得されているように見えますが、内容を展開(横▲→下▲)すると画像のように 5が抜けている状態で値が入っております。 その状態から、selcell_1.contentsの展開を閉じ(下▲→横▲)、再度開くと [Array] 3,4,7,10,11 となり、最初の値と異なります。
よろしくお願いいたします。
|
No.8890 2016/01/22(Fri) 12:59:21
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36
|
|
Re: Indesign JS 結合セル(表)の扱いについて / あるふぁ |
|
|
|
セルの範囲選択で『最後のセル=右下のセル』になってないとき、スクリプトでの扱いがおかしなことになるみたいですね。selectionは確かに右下のセルまで含んでるんだけど、オブジェクトを再取得するような処理を挟むと含まなくなる。
|
No.8891 2016/01/22(Fri) 13:32:16
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0
|
|
Re: Indesign JS 結合セル(表)の扱いについて / スクリプト |
|
|
|
あるふぁさん
そうなんです。 1行下の15までを選択していれば、問題なく動作しますが 右下最終セルが結合されていると値が変わってしまいます。。。
|
No.8892 2016/01/22(Fri) 13:46:57
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36
|
|