結合解除した空白セルに一つ上の値を入れるの逆バージョン。
セルを縦方向にまとめます。
app.doScript (main, ScriptLanguage.JAVASCRIPT, [], UndoModes.FAST_ENTIRE_SCRIPT); function main (){ var Col = app.selection[0].columns.everyItem().getElements();//表かセルを選択 for (var i = 0; i < Col.length; i++) { app.findGrepPreferences.findWhat = "\r"; app.changeGrepPreferences.changeTo="\n" Col[i].changeGrep(); }//セル内改行→強制改行に for (var i = 0; i < Col.length; i++) { var Ce = Col[i].cells.everyItem().getElements(); for (j = Ce.length-1; j >= 1; j--) { if (Ce[j].texts[0].contents == Ce[j-1].texts[0].contents) { Ce[j-1].merge (Ce[j]); app.findGrepPreferences.findWhat = "(^[^\\r]+)\\r\\1+"; app.changeGrepPreferences.changeTo="$1"; Ce[j].changeGrep(); } } } }
↓参考
javascript - Adapting merge cells in InDesign script - Stack Overflow