[ 掲示板に戻る ]

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

表組の空きセルを自動で結合したい / daito
indesign CS5 MacOS 10.68を使用しているものです。

下記のようなエクセルデータからの流し込みの表組が300ページ以上あります。

できれば、空きセルを上のセルと一括結合できれば良いと考えています。

そんな便利なスクリプトはないでしょうか?
当方は全くスクリプトの知識がありません。申し訳ございません。

宜しくお願い申し上げます。

No.7704 2013/07/26(Fri) 14:03:42
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:22.0) Gecko/20100101 Firefox/22.0

Re: 表組の空きセルを自動で結合したい / かず
過去記事でmgさんの物がありましたヨ
記事検索→セル結合 で検索してみては
No.4244 2010/02/22(Mon) 15:36:14

CS2用のスクリプトで,CS5で動くか?

No.7705 2013/07/26(Fri) 14:51:49
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:22.0) Gecko/20100101 Firefox/22.0

Re: 表組の空きセルを自動で結合したい / daito
早速ありがとうございました。

検索いたしました。ご指摘どおり思っていたような効果のできるスクリプトが紹介されていました。

欲をいえば表組はページをまたいで連結されているので、一度に選択が可能となっておりますので、1ページずつではなく複数ページにわたって効果が出ると助かるのですが。

宜しくお願い申し上げます。

No.7706 2013/07/26(Fri) 16:31:09
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:22.0) Gecko/20100101 Firefox/22.0

Re: 表組の空きセルを自動で結合したい / 流星光輝 URL
一度に選択できるとのことで、
mgさんが過去記事「No.4244」で書いてくださったコードを
CS6でテストしてみました。
エラーがでてしまうようなので、少し手を加えて動作するようにしてみました。

mgさんに大感謝m(_ _)m


(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{
if (empArr.length!=0){
colObj[co].cells[ce].merge(colObj[co].cells[empArr[0]]);
empArr=[];//初期化
}
}
}
}
}
else{alert("Select 2 rows at least");}
alert("Merge completes");
})();

No.7713 2013/07/27(Sat) 02:30:58
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.72 Safari/537.36

Re: 表組の空きセルを自動で結合したい / daito
有り難うございます!完璧です。
関係者全てに感謝致します。

No.7714 2013/07/29(Mon) 09:04:29
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:22.0) Gecko/20100101 Firefox/22.0