check = true}

}

} while (sel = sel.nextTextFrame)

)

Сначала задаем массив из названий присутствующих в публикации стилей:

var myParagraphStyles_names = new Array(); а также идентификаторы фреймов назначения левой и правой полос плюс набор разделителей:

var labels = new Array("L"r "R");

var divs = new Array"»") ; Начинаем с проверок начальных условий, чтобы скрипт работал корректно всегда. Мы должны обеспечить, чтобы, исходя из логики его работы, соблюдались такие условия:

в публикации должен быть выделен только один объект;

он обязан быть текстовым фреймом.

with(app){

if((selection.length!=1)||(selection.length==l && ^ selection[0].constructor.name != "Textframe")){

Иначе - вывод предупреждения и прекращение работы:

alert("Проверьте, чтобы был выделен лишь один текстовый фрейм!"); exit(); }

Вводим еще несколько сокращений: для выделенного фрейма, а также для стилей публикации (не на их реальные названия, это было сделано раньше через переменную myParagraphstyies_names, а на массив, как он хранится в самом InDesign):

var mySelection = app.activeDocument.selection[0];

var myParagraphStyles = app.activeDocuirient.paragraphStyles

Перебираем все существующие в публикации стили и заносим их названия в массив, чтобы потом их вывести в диалоговом окне- иначе пользователь увидит не названия стилей, а их порядковые номера:

for (i=0; i<myParag'raphStyles. length; i++)

myParagraphStyles_name[i] = myParagraphStyles[i].name; Настало время заняться созданием диалогового окна. Оформляем окно:

var myDLG = dialogs.add();

with (myDLG.dialogColumns.add()) {

with (dialogRows.addO.borderPanels.add().dialogColumns.add()) {

На данном этапе мы задали контейнер для всех элементов управления и начинаем их добавлять:

with (dialogRows.add()) {

staticTexts.add({staticLabel: "Искать стиль:"}); Теперь выведем названия всех доступных в публикации стилей myParagraphstyies name (с тем, чтобы пользователь мог выбрать требуемый), в виде раскрывающегося списка:

var DLG_myParagraphStyles = dropdowns.add({stringList: myParagraphStyles_name}); Как правило, в публикации стилей много, поэтому установим стилем по умолчанию (selectedlndex) расположенный в середине списка- в таком случае мы будем меньше путешествовать по списку стилей:

dropdowns[0].selectedlndex = Math.ceil(dropdowns[0].stringList.length/2)

}

Продолжаем наполнять диалоговое окно элементами управления. Настала очередь заняться выбором метода занесения текста в колонтитул:

брать только первый найденный на странице;

последний;

по умолчанию (checkedstate) выберем объединение результатов поиска:

with (myRadioButtons = radiobuttonGroups.add()) {

radiobuttonControls.add({staticLabel:"Первый на стр.1'}); radiobuttonControls.add({staticLabel:"Последний на стр."}); radiobuttonControls.add({checkedState:true, staticLabel:"Все на стр."}) }


⇐ вернуться назад | | далее ⇒