[ID CC-CC2021] Ширина столбцов таблицы

aleksasha

Топикстартер
15 лет на форуме
Сообщения
316
Реакции
5
Подскажите. Имеется строка скрипта, которая устанавливает ширину всех таблиц в стори:

JSX:
app.selection[0].parentStory.tables.everyItem().width = "170.6 mm";

При этом в результате обработки еще и устанавливается одинаковая ширина всех столбцов в таблицах. Как сделать так, чтобы менялась ширина только крайней правой границы, т.е. чтобы менялась ширина только крайнего правого столбца?
 

Oleg Butrin

20 лет на форуме
Сообщения
1 989
Реакции
1 213
JSX:
app.selection[0].parentStory.tables.everyItem().columns.lastItem().width = "170.6 mm";
 
  • Спасибо
Реакции: aleksasha

aleksasha

Топикстартер
15 лет на форуме
Сообщения
316
Реакции
5
Олег, спасибо. Но я немного не то имел в виду. Я хочу, чтобы ширина всех таблиц была изменена до 170.6 мм путем перетаскивания правой границы правого столбца, пока ширина таблицы не станет 170.6 мм.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Олег, спасибо. Но я немного не то имел в виду. Я хочу, чтобы ширина всех таблиц была изменена до 170.6 мм путем перетаскивания правой границы правого столбца, пока ширина таблицы не станет 170.6 мм.
Одной командой такое не сделать.. А вдруг таблицы разные?
Если одну, чтото типа
app.selection[0].parentStory.tables[0].columns.lastItem().width -= (app.selection[0].parentStory.tables[0].width-170.6);
 
  • Спасибо
Реакции: aleksasha

Eugenyus

12 лет на форуме
Сообщения
1 960
Реакции
3 589
JavaScript:
var t = app.selection[0].parentStory.tables;
for (i = 0; i < t.length; i++){
var cols = t[i].columns;
var colsWidth = 0;
for (j = 0; j < cols.width-1; j++){colsWidth += cols[j].width;}
t[i].columns[-1].width = 170.6 - colsWidth;
}
Не проверял.
 
  • Спасибо
Реакции: catpaw и aleksasha

Oleg Butrin

20 лет на форуме
Сообщения
1 989
Реакции
1 213
JavaScript:
var tables = app.selection[0].parentStory.tables.everyItem().getElements();
for (var i = 0; i < tables.length; i++) {
    var table = tables[i];
    var width = table.width;
    if (width != 170.6) {
        var extra = 170.6 - width;
        var column = table.columns.lastItem();
        column.width = column.width + extra;
    }
}
 

aleksasha

Топикстартер
15 лет на форуме
Сообщения
316
Реакции
5
Работает! Спасибо!
 

aleksasha

Топикстартер
15 лет на форуме
Сообщения
316
Реакции
5
Спрошу здесь же. Как поменять ширину колонки, если все содержимое любой из ячеек точно совпадает с определенным текстом? Т.е. ищем текст. Как только он найден, меняем ширину колонки до определенной. Заранее спасибо.