[AI CC-CC2021] скрипт для панели atributes

v90001

Участник
Сообщения
9
Реакции
0
ну примерно так для выделенного. за порядок не отвечаю, возможно сортировка понадобится, но возможно и нет

Код:
var myObjs = app.selection;
for(var i=0;i<myObjs.length;i++)
myObjs[i].note = (i+10).toString();
Не очень понял какие Вы задачи ставите...
the obj [A] , i want .note that obj [A] have no.1-note also have no.2-note
now, if obj [A] have note no.1, after note no.2,,,,, before the note no.1 miss
----
for find note, me also use action, but have some way can use js ?
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
Не сказал бы, что стало сильно понятнее
 

v90001

Участник
Сообщения
9
Реакции
0
Не сказал бы, что стало сильно понятнее
объект 1, помеченный a и b, после метки a не может быть помечен b,
Кроме того, поиск пометки a, кроме action, можно использовать js? '))'
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
Я ничо не понимаю реально. Метка одна, пометили все объекты по порядку. Из js можно прочитать значение note для любого объекта.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835

v90001

Участник
Сообщения
9
Реакции
0
как найти с js
 

Drawer

Участник
Сообщения
1 755
Реакции
775
Код:
var desiredNode = 11; //what are we looking for

var myObjs = app.activeDocument.pageItems;
app.activeDocument.selection = false;
for(var i=0;i<myObjs.length;i++) {
    if (myObjs[i].note == desiredNode.toString()){
        myObjs[i].selected = true;
        break;
    }
}
 
Последнее редактирование:
  • Спасибо
Реакции: ITIT, v90001 и Skvoznyak

v90001

Участник
Сообщения
9
Реакции
0
Код:
var desiredNode = 11; //what are we looking for

var myObjs = app.activeDocument.pageItems;
app.activeDocument.selection = false;
for(var i=0;i<myObjs.length;i++) {
    if (myObjs[i].note == desiredNode.toString()){
        myObjs[i].selected = true;
        break;
    }
}
Неплохо
Можешь бежать.
но можно выбрать только один
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
если строчку break убрать, то выберутся все
 

v90001

Участник
Сообщения
9
Реакции
0
Я убежал,
Просто выберите содержимое с пометкой,
Некоторые пометки в этом документе, другие нет.
один объект а, другой объект в

Код:
function createnotes() {
    var desiredNode = "sel2"; //Просто выберите содержимое с пометкой, 
    var myObjs = app.activeDocument.pageItems;
   // app.activeDocument.selection = false;
    for (var i = 0; i < myObjs.length; i++) {       
        if (myObjs[i].note = desiredNode.toString()) {         
                myObjs[i].selected = true;
                i++;
                
//break;
            
        }
    }
}

createnotes();

выше для выполнения, выберите половину объектов в документе, которые не помечены
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
из-за строчки i++ вы половину объектов пропускаете
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
ну, не половину, но следующий после найденного точно )
 

Drawer

Участник
Сообщения
1 755
Реакции
775

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
может, только это по-моему хаотичный выбор... а так да, человек с китайского судя по локации переводит, можно понять трудности
 
  • Спасибо
Реакции: v90001

v90001

Участник
Сообщения
9
Реакции
0
может, только это по-моему хаотичный выбор... а так да, человек с китайского судя по локации переводит, можно понять трудности
对的,我来自中国,听闻俄语区大神多,脚本啊编程序啊插件技术一流,没想到真是人才济济,百花齐放,各有千秋。
 

v90001

Участник
Сообщения
9
Реакции
0
Код:
//Добавить еще один
    nam = "sel2"
    s = app.selection;
    if (s.length == 0) { }
    for (var i = 0; i < s.length; i += 1) {
        if (s[i].note.search(nam) == -1) {
            s[i].note += nam;
        }
    }

////
var nam = "sel2"; //Поиск содержимого комментария который уже существует
    var myObjs = app.activeDocument.pageItems; 
    for (var i = 0; i < myObjs.length; i++) {     
        if (myObjs[i].note == nam.toString()) {   //Изменить =к == 
            myObjs[i].selected = true;
        }
    }

Новые вопросы:
Вторичные комментарии, которые очищают предыдущие
 
Последнее редактирование:

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835

eugeny

15 лет на форуме
Сообщения
855
Реакции
210
Код:
//Добавить еще один
    nam = "sel2"
    s = app.selection;
    if (s.length == 0) { }
    for (var i = 0; i < s.length; i += 1) {
        if (s[i].note.search(nam) == -1) {
            s[i].note += nam;
        }
    }

////
var nam = "sel2"; //Поиск содержимого комментария который уже существует
    var myObjs = app.activeDocument.pageItems;
    for (var i = 0; i < myObjs.length; i++) {    
        if (myObjs[i].note == nam.toString()) {   //Изменить =к ==
            myObjs[i].selected = true;
        }
    }

Новые вопросы:
Вторичные комментарии, которые очищают предыдущие
How is a replacement comment created? What algorithm is used?

Как создается комментарий для замены?
 
  • Спасибо
Реакции: v90001

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835