表組の空きセルを自動で結合したい

[7704]表組の空きセルを自動で結合したい 投稿者:daito 投稿日:2013/07/26 14:03:42
indesign CS5 MacOS 10.68を使用しているものです。

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

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

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

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

attached image
[7705]Re: 表組の空きセルを自動で結合したい 投稿者:かず 投稿日:2013/07/26 14:51:49
過去記事でmgさんの物がありましたヨ
記事検索→セル結合 で検索してみては
No.4244 2010/02/22(Mon) 15:36:14

CS2用のスクリプトで,CS5で動くか?
[7706]Re: 表組の空きセルを自動で結合したい 投稿者:daito 投稿日:2013/07/26 16:31:09
早速ありがとうございました。

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

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

宜しくお願い申し上げます。
一度に選択できるとのことで、
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");
})();
[7714]Re: 表組の空きセルを自動で結合したい 投稿者:daito 投稿日:2013/07/29 09:04:29
有り難うございます!完璧です。
関係者全てに感謝致します。
この記事の書き込み元へのリンク (コメントや質問などはこちらへどうぞ)