Порядок выделения объектов

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

Alex_jax

Участник
Топикстартер
Сообщения
31
Реакции
0
Здравствуйте. Пишу скрипт для CS3. Скриптую на жабе скрипт.
Вот таким кодом я получаю веделенные объекты

Код:
for(var myCounter = 0;myCounter < app.selection.length; myCounter++){
   switch (app.selection[myCounter].constructor.name){

Но он возвращает объекты в порядке их создания в документе. А можно ли как нить получить объекты в порядке их выделения инструментом "Selection Toll"?
 
Ответ: Порядок выделения объектов

К сожалению пока никак.
осуждалось гдето полгода назад, keywords: selection[0]
 
Ответ: Порядок выделения объектов

На VB

'список выделенных объектов.
Set mySelections = myDocument.Selection

'В этом списке
Set mySelection = mySelections(1) ' объект выделенный последним
Set mySelection = mySelections(2) ' объект выделенный предпоследним

' и т. д.

На JS, наверное, так же, только нумерация в списке с 0.
 
Ответ: Порядок выделения объектов

Alex_jax сказал(а):
Непонял этого выражения (
это ключевые слова для поиска в форуме :)

MT сказал(а):
На Вэ Бэ может и так - нет возможности проверить.
А на Js в CS3 ситуация очень грусная...

Киньте кусок кода на VB
и плиз скажите какое расширение файлу писать.
подозреваю что .VBS но вруг ошибаюсь
 
Ответ: Порядок выделения объектов

На JS, наверное, так же, только нумерация в списке с 0.
Нет, там таким образом. На 0 ставится, из выделенных, созданное первым на 1 -вторым и так далее. Сомневаюсь, что у ВБ другая ситуация. Если не тяжело, действительно, киньте кусок кода, для проверки. ченить типа

for(var myCounter = 0;myCounter < app.selection.length; myCounter++){
alert (app.selection[myCounter].constructor.name)
}
 
Ответ: Порядок выделения объектов

Проверил -- работает.
ИД ЦС3

На странице создаю несколько объектов
разного типа (круг, прямоугольник, линию),
выделяю их в произвольном порядке и
запускаю сценарий. Он выводит типы выделенных объектов
в порядке, обратном порядку выделения.

Полный текст сценария:
Set myInDesign = CreateObject("InDesign.Application.CS3")
Set myDocument = myInDesign.ActiveDocument

'список выделенных объектов.
Set mySelections = myDocument.Selection

'Выводим циклом в окошке тип объекта
for i = 1 to mySelections.Count
' i-й объект
Set mySelection = mySelections(i)
' Выводим тип объекта
msgbox TypeName(mySelection )
Next
 
Ответ: Порядок выделения объектов

у меня неработает.

ID CS3 (5.0.2)
создаю .VBS файл сл. содержания:
PHP:
Set myInDesign = CreateObject("InDesign.Application.CS3")
Set myDocument = myInDesign.ActiveDocument

'список выделенных объектов.
Set mySelections = myDocument.Selection

'Выводим циклом в окошке тип объекта
for i = 1 to mySelections.Count
' i-й объект
Set mySelection = mySelections(i) 
' Выводим тип объекта
msgbox TypeName(mySelection )
Next
создаю документ
рисую в нем прямоугольник, овал, звездочку...
запускаю скрипт он мне при любом порядке выделения выдает: Rectangle, Oval, Polygon
 
Ответ: Порядок выделения объектов

Еще раз проверил.
И правда:
в ЦС2 работает, а ЦС3 нет.

Приношу свои извинения за недопроверенную информацию.
 
Статус
Закрыто для дальнейших ответов.