[ID CC-CC2022] Перебор информации в выбранной группе

  • Автор темы Автор темы ReallyCool
  • Дата начала Дата начала
такая же строгая структура? Все данные в одном файле

да, строго артикул и размеры.
и ексель файл совершенно не важен, я давно программирую на VBA и сделать из ексель таблицы динамический массив для заливки данных в inDesign это ерунда.

мне главное понять, что и куда и какими методам программного кода сделать в inDesign документе обновление информации.
 
выделить текстфрейм а потом анализировать селекшн в отладчике
о! новые вводные! вот я выделил фрейм, запустил Adobe ExtendScript Toolkit CC - а где, в каком окне смотреть структуру данных?
я думал в отладчике можно только при работающем коде сделать точку останова и смотреть значения переменных, как в VBA?
 
1579590752326.png
 
Нужно назначить всем артикулам свой стиль, чтобы потом искать текст с этим стилем и по нему делать селект из xls.
Вроде артикулы имеют одинаковую структуру - и через find найти и назначить им стиль будет просто.
 
всем артикулам свой стиль, чтобы потом искать текст с этим стилем
просто я в верстке не силен, только код пишу.
можно чуток поподробнее, с примерами кода,
чтобы я смог объяснить это нашему дизайнеру?
 
Ну судя по макету - вашему дизайнеру это будет сложновато объяснить))...
пусть создаст paragraph style или character style, неважно какой, хоть пустой, и надо назначить его всем артикулам. Сделать это надо через grep, создав правильный селект, который выберет именно текст с артикулом.
Пjтом вы по этому стилю, назовём его "article", будете искать нужный объект на странице.
 
  • Спасибо
Реакции: ReallyCool
судя по макету - вашему дизайнеру это будет сложновато объяснить)).
ок попробую донести инфу, спасибо.

и еще вопрос
этой строкой удалось в JS прочесть содержимое ячейки из фрейма (под VBscript пока не разобрался, как адаптировать, ошибку дает)
Код:
var qq=app.activeDocument.textFrames[0].tables[0].rows[0].cells[1].texts[0].contents;
alert (qq);
но как изменить содержимое этой ячейки?
 
ок попробую донести инфу, спасибо.

и еще вопрос
этой строкой удалось в JS прочесть содержимое ячейки из фрейма (под VBscript пока не разобрался, как адаптировать, ошибку дает)
Код:
var qq=app.activeDocument.textFrames[0].tables[0].rows[0].cells[1].texts[0].contents;
alert (qq);
но как изменить содержимое этой ячейки?
"Обратной" записью:
JavaScript:
app.activeDocument.textFrames[0].tables[0].rows[0].cells[1].texts[0].contents = qq;
 
  • Спасибо
Реакции: ReallyCool
"Обратной" записью:
супер, под JS удалось, но
попытка адаптации этой строки по VB не получается,
Код:
qq = myInDesign.ActiveDocument.TextFrames(0).Tables(0).Rows(0).Cells(1).Texts(0).Contents
дает ошибку - Запрошенный элемент набора не существует.
можете помочь с адаптацией?
 
если не ошибаюсь, в VB индексы от 1 начинаются, а не от нуля

суммируя вышесказанное - группы там нет. есть фрейм, в нем таблица, в таблице ячейки, в ячейках текст
 
Я так подозреваю что у VBA нумерация массивов с 1 идет а не с нуля?
 
пипец, простите за тупость, но не выходит каменный цветок, все время ошибка
прошу Вас помочь перевести строку кода на VB
Код:
var qq=app.activeDocument.textFrames[0].tables[0].rows[0].cells[1].texts[0].contents;
мой злосчастный фрейм тута:
 
и так же, с помощью каких команд на VB получить размер этой таблицы, типа .RowsCount и .CellsCount...?
 
вот, УРА! получилось!
Код:
rrtt = myInDesign.ActiveDocument.TextFrames(1).Tables.Item(1).Rows(1).Cells(2).Texts(1).Contents
Debug.Print rrtt

теперь только осталось понять, как получить размер этой таблицы?