Как запомнить графический объект. (Обратиться по ID)

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

shornikov

Участник
Топикстартер
Сообщения
61
Реакции
0
Над картинкой вставленной в индизайн производятся действия в фотошопе, оттуда же через bridgetalk вызывается замена-обновление этой картинки.
(т.е. скрипт формируется в id, передается в шоп и запускается оттуда чтобы обновить объекты в id. это все накручено чтобы события bridge не обрабатывать).
Вопрос как запомнить объект над которым проводились операции?
пока все вот так:
Код:
myScriptString += "myScriptString2 += \"my_obj2=app.activeDocument.rectangles.itemByID("+my_obj.id+");\"\n";
myScriptString += "myScriptString2 += \"my_obj2.allGraphics[0].itemLink.relink(myfile_new);\"\n";

но ведь объект может оказаться не только прямоугольником, а перебирать в цикле всё (oval...)- не хочется... Я не смог найти объекта содержащего все элементы.

Извиняйте ежели туплю.
 
Ответ: Как запомнить графический объект. (Обратиться по ID)

Вы несколько мутно описалали задачу
но рискну предподожить способы решения
итак предлагаю сохранять ваши промежуточные данные:
а) в переменной label (это свойство есть практически у всех объектов indesign)
б) в текстовый файл
в) в глобальные переменные (#targetengine "session")
 
Ответ: Как запомнить графический объект. (Обратиться по ID)

У меня основная проблема как потом обратиться к запомненному объекту.
Как я понял, чтобы оборатиться к label, например, надо указать тип объектов, в которых искать, к примеру: myFrame=myDoc.textFrames.item("Script Label");
а у меня может оказаться и oval и Rectangle и что-нибудь еще...
хотелось бы что-то вроде myFrame=myDoc.item("Script Label"), но так не работает.
 
Ответ: Как запомнить графический объект. (Обратиться по ID)

Обратитесь к объекту PageItem (что угодно на странице).

Set myOb = myDoc.PageItems.Item(Label)
 
Статус
Закрыто для дальнейших ответов.