}

else {

myError(noObj ects)}

}

else{

myError(noOpenDocuments)

}

noObjects = "На развороте нет никаких объектов"; noOpenDocuments = "Нет ни одного открытого документа.

Перед запуском скрипта убедитесь, что открыт хотя бы один документ" Как видите, использование функций до предела упростило читабельность кода и сделало более наглядным логику скрипта, который состоит из отдельных шагов: отображение диалогового окна и сбор данных, выбор необходимых типов объектов; выдача предупреждения, если объектов заданного типа не оказалось или скрипт был запущен, когда не был открыт ни один документ.

А теперь определяем использованные функции.

function myDisplayDialog(){ var myDialog;

11 Создаем пользовательское окно

with(myDialog = app.dialogs.add({name:"SelectObjects"})){ with(dialogColumns.add()){ with(borderPanels.add()){

staticTexts.add({staticLabel:"Select:"}); Вид используемого селектора зависит от степени функциональности скрипта. Если можно ограничиться выбором лишь какого-то определенного типа объекта, то достаточно создать раскрывающийся список- он не допускает множественного выделения. Однако увеличим функциональность, предусмотрев множественный выбор типов - чтобы была возможность выбора не только, скажем, прямоугольников, но и контейнеров, содержащих импортированную графику и т. п. В таком случае используем элементы интерфейса - флажки:

with(dialogColumns.add()){ var myRectanglesCheckbox = 'b

checkboxControls.add({staticLabel:"Rectangles", 'b checkedState:true}); var myEllipsesCheckbox =

checkboxControls.add({staticLabel:"Ellipses", checkedState:true}); var myPolygonsCheckbox = 'b

checkboxControls.add({staticLabel:"Polygons", checkedState:true}); var myGraphicLinesCheckbox = 'b

checkboxControls.add({staticLabel:"Graphic Lines", 'b checkedState:true}); var myTextFramesCheckbox = 'b

checkboxControls.add({staticLabel:"Text Frames", checkedState:true}); var myGroupsCheckbox = 'b

checkboxControls.add({staticLabel:"Groups", 'b checkedState:true}); var mylmagesCheckbox = 4>

checkboxControls.add({staticLabel:"Images", checkedState:true}); var myPDFsCheckbox =

checkboxControls.add({staticLabel:"PDFs", checkedState:true});

var myEPSsCheckbox = 'Ь

checkboxControls. add( {staticLabel: "EPSs", checkedState:true});

}

)

)

}

// Отображение диалогового окна myResult = myDialog.show(); if (myResult){

var myObjectTypes = new Array;

// Сбор данных из диалогового окна и сохранение их

if (myRectanglesCheckbox.checkedState == true){ myObjectTypes.push("rectangles");

)

if(myEllipsesCheckbox.checkedState==true){ myObjectTypes.push("ovals");

)

if(myPolygonsCheckbox.checkedState==true){ myObj ectTypes.push("polygons");

)

if (myGraphicLinesCheckbox. checkedState=true) { myObj ectTypes.push("graphicLines");

)

if(myTextFramesCheckbox.checkedState=true)( myObj ectTypes.push("text Frames") ;

)

if (myGroupsCheckbox.checkedState=true) { myObj ectTypes.push("groups");


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