Render.ru

activeDocument.selection

Константин К.

Активный участник
Рейтинг
5
#1
Суть такова: нужно сделать рамку вокруг абзаца, сделал я небольшой скрипт, но больно уж он долго работает. Есть подозрение, что долго ищет тип выделенного элемента потому, что просто Table/Convert to table делает это намного быстрее (текст на 1.5 тысячи абзацов).

var mySelection = app.activeDocument.selection[0];
myTable = mySelection.convertToTable();
myTable.cells[0].fillColor = app.activeDocument.swatches[2];
myTable.rows[1].remove();

Как можно исправить? И вообще где можно почитать про класс selection с его свойтсвами и методами? Я скачал PDF-ку (http://indesignusergroup.com/thirdparty/scripting/scripting_guide_cs.pdf), в ней все хорошо написано про все классы, а об этом классе ни слова...
 
#2
Selection это объектная переменная (а точнее, Variant-ного типа), в которую помещается выделенный объект (объекты). Соответсвенно, она наследует свойства и методы находящихся в ней объектов. По крайней мере так должно быть. (И так я это понимаю.)

Ежели о классах, то нет такого класса.
Selection фигурирует только как свойство классов Application, Document, Window, StotyWindow и LayoutWindow.
 
#5
Проще взять UltraBorder.js Олега Бутрина (http://indesign.rudtp.ru), посмотреть код и (если не устраивает чем-то его работа) сделать свое.

Описание: Скрипт, рисующий рамки вокруг абзацев определенного стиля (аналог скрипта MagicBorder).
Умеет:
1. Рисовать рамки с линией любого (!) стиля. Можно применять все встроенные стили и рисовать свои. Это компенсирует невозможность выбирать параметры линии для каждой из сторон.
2. Цвет и насыщенность рамки, а так же цвет и насыщенность заливки можно выбирать.
3. Отступы до, после и внутри рамки можно настраивать.

Скрипт имеет довольно приятный интерфейс.
 

Константин К.

Активный участник
Рейтинг
5
#6
Да, действительно, хорошо сделано. У меня он был, но почему-то я не обратил на него внимание, может потому что привык отдельно каждую рамку рисовать — еще недавно делал это в PageMaker с помощью прямоугольников. Привычка — вторая натура... :)

Спасибо.
 
#7
Было бы за что, нарисуешь что и не жалко будет другим показать, пиши.
 
Сверху