Адаптация ячеек слияния в скрипте InDesign - PullRequest
0 голосов
/ 10 января 2019

Я нашел этот скрипт на SO, который очень близок к тому, что мне нужно. Но вместо того, чтобы объединить ячейки с вышеуказанной, мне нужно объединить ячейку слева от любой пустой ячейки.

Я попытался поэкспериментировать с ним и сумел заставить его сливаться горизонтально один раз, но он объединяет три не пустые ячейки в одну.

Был бы признателен за любую помощь

1007 * БЛАГОДАРЯ *

var myDoc = app.activeDocument;

myPage = myDoc.pages;

for (var p=0; myPage.length>p; p++){

    try{

var myTable = myPage[p].textFrames.everyItem().tables.everyItem();

if (myTable.constructor.name == 'Table'){

for (var t = myTable.cells.length - 1; t >= 0; t--)
            {

           if (myTable.cells[t].contents==""){
              var w = myTable.columns.length;
               myTable.cells[t-w].merge(myTable.cells[t]);

               }

            }

        }

    }

  catch(e){}

}

1 Ответ

0 голосов
/ 16 января 2019

Я нашел решение

 var i, j, cells;
// Get all the rows in the document
var rows = app.documents[0].stories.everyItem().tables.everyItem().rows.everyItem().getElements();
for (i = 0; i < rows.length; i++) {
    // Get all the cells in a row
    cells = rows[i].cells.everyItem().getElements();
    for (j = cells.length-1; j >= 1; j--) {
        if (cells[j].contents == '') {
            cells[j-1].merge (cells[j]);
        }
    }
}
...