[ID CC-CC2021] Как создать и применить объектный стиль, входящий в группу?

rezunoff

Участник
Топикстартер
Сообщения
69
Реакции
13
1. Подскажите, как создать группу и объектные стили, входящие в эту группу (см. рис.)
2. Как применить стиль 1 из группы 1 к выделенному объекту ?
1605541964185.png
 

Любимцев

15 лет на форуме
Сообщения
4 199
Реакции
2 055
Перейти в палитру "стили объектов" и применить, не вариант?
 

azz

alexey
15 лет на форуме
Сообщения
711
Реакции
359
по первому вопросу
JavaScript:
var myObjStGrp = app.activeDocument.objectStyleGroups.add();
myObjStGrp.name = "Группа 1";
var myObjSt1 = app.activeDocument.objectStyles.add();
myObjSt1.name = "1";
myObjSt1.move(LocationOptions.UNKNOWN, myObjStGrp)
по второму
JavaScript:
var doc = app.activeDocument;
var objectStyle = doc.objectStyleGroups.itemByName("Группа 1").objectStyles.itemByName("1")
var sel = app.selection[0];
sel.applyObjectStyle(objectStyle)
 

rezunoff

Участник
Топикстартер
Сообщения
69
Реакции
13
по первому вопросу
JavaScript:
var myObjStGrp = app.activeDocument.objectStyleGroups.add();
myObjStGrp.name = "Группа 1";
var myObjSt1 = app.activeDocument.objectStyles.add();
myObjSt1.name = "1";
myObjSt1.move(LocationOptions.UNKNOWN, myObjStGrp)
по второму
JavaScript:
var doc = app.activeDocument;
var objectStyle = doc.objectStyleGroups.itemByName("Группа 1").objectStyles.itemByName("1")
var sel = app.selection[0];
sel.applyObjectStyle(objectStyle)
Спасибо! То, что надо.
Мой вариант на котором я завис:
 

rezunoff

Участник
Топикстартер
Сообщения
69
Реакции
13
Код:
with (app) {
  try {
    var myDoc = activeDocument;
  } catch (error) {
    exit()
  }
try {
    var myGroup = myDoc.objectStyleGroups.add({name: "Группа 1"});
    var myStyles1 = myGroup.objectStyles.add({name: "1"});
    var myStyles2 = myGroup.objectStyles.add({name: "2"});
    var myStyles3 = myGroup.objectStyles.add({name: "3"});
    }catch (e) {exit()};
}
//---------------Применить к выделенному объекту------
    var myDoc = app.activeDocument;
    var frame = app.selection[0];
    frame.appliedObjectStyle = myDoc.objectStyleGroups.itemByName({name: "Группа_1"}).objectStyles.itemByName({name: "1"});
    //Не работает, что не так???
 

azz

alexey
15 лет на форуме
Сообщения
711
Реакции
359
name "Группа 1" у вас разные
 

azz

alexey
15 лет на форуме
Сообщения
711
Реакции
359
exit уберите из try..catch, иначе у вас из скрипта выходит если ошибка.
да и эта строчка мне выглядит странно, так работает:
frame.appliedObjectStyle = myDoc.objectStyleGroups.itemByName("Группа 1").objectStyles.itemByName("1");
 
Последнее редактирование: