[ 掲示板に戻る ]

記事No.4241に関するスレッドです

表組 空セルの結合(下の行と)indesign C2 / eritan
はじめての書き込み失礼いたします。

[992]の質問で横の列が空の場合セル結合するスクリプトがございましたが、
http://dtp-bbs.com/mt/indesignbbs/archives/992_20080411173339.html

下のセルが空のとき、下の行とセル結合するスクリプトを記述したいのですが、うまくいきません。

2行を選択して実行するスクリプトは見つけられたのですが
一括で処理したいのです。(添付画像のように)

IndesignCS2で使えるスクリプトについて、
何かアドバイスいただけないでしょうか。

***縦に2つのセルを選択して実行***
(function (){
var tableObj = app.activeDocument.selection[0];
for (var i=tableObj.cells.length-2; i>=0; i--){
c1 = tableObj.cells[i].name.split(":");
for (var j=tableObj.cells.length-1;j>i;j-- ){
c2 = tableObj.cells[j].name.split(":");
if (c1[0] == c2[0]) tableObj.cells[i].merge(tableObj.cells[j]);
}
}
}) ();

No.4240 2010/02/22(Mon) 13:15:59
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; ja-JP-mac; rv:1.9.1.8) Gecko/20100202 Firefox/3.5.8

Re: 表組 空セルの結合(下の行と)indesign C2 / mg
以前に書いたcolumns方向の結合スクリプトを
columns→rowsで書き換えてみました参考になれば

(function(){
var selObj = app.selection[0];

//選択した行が2つ以上のときに処理する。
var rowLng = selObj.rows.length;
if(rowLng >=2){
var baseCell=selObj.cells[0].name.split(":");
//セルの開始位置
var baseCe=baseCell[1]-=0;//ゼロをひいて数値にする
var colObj=selObj.columns;
for(var co=0; co < colObj.length; co++){
for(var ce=rowLng+baseCe-1; ce > baseCe; ce--){
if(colObj[co].cells[ce].contents ==""){
colObj[co].cells[ce].merge(selObj.columns[co].cells[ce-1]);
}
}
}
}
else{alert("Select 2 rows at least")}
alert("Merge completes")
})();

No.4241 2010/02/22(Mon) 13:54:05
Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10_4_11; ja-jp) AppleWebKit/531.9 (KHTML, like Gecko) Version/4.0.3 Safari/531.9

Re: 表組 空セルの結合(下の行と)indesign C2 / eritan
早速ありがとうございます。

複数行選択して実行してみたところ、一番左の列の下の2行のみがセル結合されました。

文字が入っているセルから、空セルを全て(2行以上の場合でも)行で結合する事は可能でしょうか?

実行したい列を全部選択して一括で処理できたら一番助かります。
説明が分かりにくかったらすみません。

No.4242 2010/02/22(Mon) 14:11:56
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; ja-JP-mac; rv:1.9.1.8) Gecko/20100202 Firefox/3.5.8

Re: 表組 空セルの結合(下の行と)indesign C2 / mg
CS2だと結合セルを再度結合できないのですね。エラーになります。
失礼しました。

これでどうでしょう?
だたし、1行目が空セルだと、空セルが続いていても結合はしません。

(function(){
var selObj = app.selection[0];

//選択した行が2つ以上のときに処理する。
var rowLng = selObj.rows.length;
if(rowLng >= 2){
var baseCell=selObj.cells[0].name.split(":");
//セルの開始位置
var baseCe=baseCell[1]-=0;//ゼロをひいて数値にする
var colObj=selObj.columns;
for(var co=0; co < colObj.length; co++){
/////CS2用
var empArr=[];//空セル用配列
for(var ce=rowLng+baseCe-1; ce >= baseCe; ce--){
if(colObj[co].cells[ce].contents ==""){
empArr.push(ce);//空セルのceを入れておく
}
else{
colObj[co].cells[ce].merge(colObj[co].cells[empArr[0]]);
empArr=[];//初期化
}
}
}
}
else{alert("Select 2 rows at least");}
alert("Merge completes");
})();

No.4244 2010/02/22(Mon) 15:36:14
Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10_4_11; ja-jp) AppleWebKit/531.9 (KHTML, like Gecko) Version/4.0.3 Safari/531.9

Re: 表組 空セルの結合(下の行と)indesign C2 / eritan
すごいです!問題なく実行することができました。
これで、ものすごく作業が楽になります。
本当にありがとうございました。

No.4245 2010/02/22(Mon) 16:05:23
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; ja-JP-mac; rv:1.9.1.8) Gecko/20100202 Firefox/3.5.8

Re: 表組 空セルの結合(下の行と)indesign C2 / eritan
以前、こちらの掲示板でお世話になりました。

空セルの列結合の処理が可能となったのですが、ページをまたぐと「merge complete」とメッセージが出ながらもセル結合が出来ない事がわかりました。

Indesign CS2を使用しております。
可能でしたら、アドバイス頂けると幸いです。
宜しくお願いいたします。

No.4359 2010/03/08(Mon) 09:51:59
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; ja-JP-mac; rv:1.9.1.8) Gecko/20100202 Firefox/3.5.8

Re: 表組 空セルの結合(下の行と)indesign C2 / eritan
度々もうしわけありません。

ページをまたぐことが原因ではなく、
選択した行が結合されるわけではなく、
常に一番左の列が結合される処理でした。

選択した列の、下が空セルの場合の処理方法を教えて頂けると幸いです。

大変申し訳ありませんが、宜しくお願いいたします。

No.4360 2010/03/08(Mon) 10:23:50
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; ja-JP-mac; rv:1.9.1.8) Gecko/20100202 Firefox/3.5.8

Re: 表組 空セルの結合(下の行と)indesign C2 / mg
すみません、アラートの位置は処理の有無にかかわらず出るようになってしまってます。

>ページをまたぐことが原因ではなく、
選択した行が結合されるわけではなく、
常に一番左の列が結合される処理でした。

どんな状況なのかよくわからないのですが、一部結合された表の他の部分を選択して結合しようとするとエラーになる場合があります

No.4361 2010/03/08(Mon) 11:09:46
Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10_4_11; ja-jp) AppleWebKit/531.9 (KHTML, like Gecko) Version/4.0.3 Safari/531.9

Re: 表組 空セルの結合(下の行と)indesign C2 / eritan
すみませんでした。
処理について理解できました。
これで作業進められそうなので、工夫して使って行きたいとおもいます。

ありがとうございました。

No.4362 2010/03/08(Mon) 11:46:32
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; ja-JP-mac; rv:1.9.1.8) Gecko/20100202 Firefox/3.5.8