Форматирование добавленной скриптом колонки

  • Автор темы Автор темы Genusatplay
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Genusatplay

Участник
Топикстартер
Сообщения
73
Реакции
156
подскажите плиз как добавить в конец таблицы столбец, чтоб при этом стиль был как у предыдущего столбца?
Код:
var docStori = app.activeDocument.stories;
for ( var nStori = 0; nStori < docStori.length; nStori++);
{
   for ( var nTable = 0; nTable < docStori[nStori].tables.length; nTable++ )
   {
      var storiTable = docStori[nStori].tables[nTable];
      if ( storiTable.columns.length == 8 )
      {
         storiTable.columns.add(LocationOptions.AT_END,storiTable.columns[7]);
      }
   }
}
в конец добавляет, а стиль в ячейках не копирует
или нужно в каждую ячеку лезть в texts[0] и менять стиль?
 
Ответ: Если есть вопросы по скриптам

добавить в конец таблицы столбец
Встречный вопрос: а что во второй строке делает точка с запятой после скобки? У меня с ней Ваш скрипт не работает вообще, а без неё добавляет колонку, как положено, и стиль ячеек делает
как у предыдущего столбца
 
Ответ: Если есть вопросы по скриптам

инет на другом компе, поэтому набрал с очепяткой, в коде естественно нету такого =)
добавляет колонку, как положено, и стиль ячеек делает
те если набирать текст в одной из добавленных ячеек то шрифт, размер и тд все такое же?
 
Ответ: Если есть вопросы по скриптам

У меня копирует и стиль ячеек, и локальное (ручное) форматирование текста.
 
Ответ: Если есть вопросы по скриптам

Жень, - Дима имеет в виду, что у него стиль применяется, но с override'ом, как применить стиль "намертво", чтобы не было овверрайда?
 
Ответ: Если есть вопросы по скриптам

те если набирать текст в одной из добавленных ячеек то шрифт, размер и тд все такое же?
Такое же, как в ячейке той же строки соседней колонки:
addcolumn.jpg

Если надо очистить оверрайды, то после строки добавления колонки надо добавить строку:
Код:
storiTable.columns.lastItem().cells.everyItem().clearCellStyleOverrides();
 
Ответ: Если есть вопросы по скриптам

странно.. добавил
Код:
storiTable.columns.lastItem().cells.everyItem().clearCellStyleOverrides();
и стиль ячеек стал "[Basic Paragraph]+", и границы ячеек не показывает
 
Ответ: Если есть вопросы по скриптам

Код:
.clearCellStyleOverrides()
это ведь тоже самое что и кнопка "Clear overrides in selection" в "Paragraph Style"? просто нопку нажимаешь, при выделенном столбце и все круто становится, а если к столбцу функцию применить то идет сброс, пробовал только к выделенной ячейке применять.. та же ерунда.
 
Ответ: Если есть вопросы по скриптам

это ведь тоже самое что и кнопка "Clear overrides in selection" в "Paragraph Style"?
Не в "Paragraph Style". В "Cell Style".
Давайте всё-таки образец таблицы на файлообменник (с учётом того, что у меня CS5), надо смотреть её настройки. И на её же примере опишите, что Вам нужно получить.
 
Ответ: Если есть вопросы по скриптам

Да, теперь всё ясно. Учитывая, что в таблицах стилевой разметки нет в принципе (имеются в виду стили ячеек и таблиц), очистка локального форматирования именно ячеек ничего хорошего не даст. Заниматься созданием и расстановкой этих стилей Вы вряд ли будете, поэтому наименее болезненный выход я здесь вижу в очистке форматирования текста внутри ячеек, т. е. Ваш "ручной" путь:
на столбцах 5 и 6 в "Paragraph Style"->"Clear overrides in selection"
запишем в скрипт:
Код:
storiTable.columns.lastItem().cells.everyItem().[B]texts[0].clearOverrides()[/B];
Только вот это вот (цитирую из Вашего файла):
"clearCellStyleOverrides() для 5 столбца и потом создал 6-ой"
неправильный порядок! Надо сначала добавить столбец, а потом снимать оверрайды (и на этот раз не для ячейки, а для текста внутри её).
 
Ответ: Если есть вопросы по скриптам

неправильный порядок! Надо сначала добавить столбец, а потом снимать оверрайды (и на этот раз не для ячейки, а для текста внутри её).
вообще я и 5 и 6 добавил, а очистил только для 5, но неважно..
получается так как надо теперь
 
Статус
Закрыто для дальнейших ответов.