[AI CC2023] Скрипт выполняющий действие Object --- Path --- Clean Up...

ITIT

Топикстартер
15 лет на форуме
Сообщения
500
Реакции
194
Уважаемые господа нужна Ваша помощь.
Для многоходовой Action нужен скрипт выполняющий функцию Object --- Path --- Clean Up... ,НО такой чтобы
не вызывал всплывающего подтверждающего окна,как будто кнопка ОК уже нажата.
Конечно нажать ОК не трудно,но когда это нужно несколько десятков раз,то это отнимает время.
Сразу оговорюсь,что все radio button в подтверждающем окне должны быть задействованы,как по умолчанию.
Возможен ли такой скрипт?
Всем ответившим заранее спасибо.
 

qsedftghk

фея
15 лет на форуме
Сообщения
2 032
Реакции
1 198
Уважаемые господа нужна Ваша помощь.
Для многоходовой Action нужен скрипт выполняющий функцию Object --- Path --- Clean Up... ,НО такой чтобы
не вызывал всплывающего подтверждающего окна,как будто кнопка ОК уже нажата.
Конечно нажать ОК не трудно,но когда это нужно несколько десятков раз,то это отнимает время.
Сразу оговорюсь,что все radio button в подтверждающем окне должны быть задействованы,как по умолчанию.
Возможен ли такой скрипт?
Всем ответившим заранее спасибо.
Код:
app.executeMenuCommand ('cleanup menu item');
а кнопку ОК нажать автохоткеем, например. Хотя не знаю, может уже скриптами и кнопки жать можно...

либо вот так попробовать

Код:
app.userInteractionLevel=UserInteractionLevel.DONTDISPLAYALERTS;
app.executeMenuCommand ('cleanup menu item');
app.userInteractionLevel=UserInteractionLevel.DISPLAYALERTS;
 
Последнее редактирование:

qsedftghk

фея
15 лет на форуме
Сообщения
2 032
Реакции
1 198
Мне для обновления данных в голове очень бы хотелось бы увидеть vbs в действии, а, точнее, нажатие кнопочки ок в данном случае. Хотя я и не помню, когда в последний раз использовал vbs в иле.
 

Drawer

Участник
Сообщения
1 818
Реакции
799
увидеть vbs в действии
Вот так для конкретно такой задачи
все radio button в подтверждающем окне должны быть задействованы
После выполнения скрипта вернутся как было :)
JavaScript:
#target Illustrator
var vbsFile = File("~/send_key.vbs")
vbsFile.encoding = 'UTF-8';
vbsFile.open('w');
var vbsText = 'Dim WshShell\nSet WshShell = WScript.CreateObject("WScript.Shell")\nWScript.Sleep 200\nWshShell.SendKeys("%SUE~{ESC}")'
vbsFile.write(vbsText);
vbsFile.close();
sleep(200)
vbsFile.execute();
app.executeMenuCommand ('cleanup menu item');
var vbsFile = File("~/send_key.vbs")
vbsFile.execute();
app.executeMenuCommand ('cleanup menu item');
sleep(500)
vbsFile.remove();

function sleep(milliseconds) {      
    const date = Date.now();      
    var currentDate = null;      
    do {              
       currentDate = Date.now();    
    } while (currentDate - date < milliseconds);
}
Поскольку фича с UserInteractionLevel в CS6 к примеру не работает и
для обновления данных в голове
товарища qsedftghkа выкладываю.
Есть с этим способом сложности (таймауты и обязательно окно должно быть активно), потому если фича UserInteractionLevel таки работает в вашей версии (интересно с какой она таки стала работать как надо?), то лучше не придумать :)
 
Последнее редактирование:
  • Спасибо
Реакции: ITIT и qsedftghk

qsedftghk

фея
15 лет на форуме
Сообщения
2 032
Реакции
1 198
Понятненько, ясненько. Туплю на ровном месте. Нового не открыл, но зато старое вспомнил (и мало ли кому пригодится). Старость, она такая. когда долго чем-то не занимаешься, забываешь =)
ЗЫ. UserInteractionLevel должен работать. Никогда с ним особых проблем не было, вроде со времен CS3
 
Последнее редактирование:

Drawer

Участник
Сообщения
1 818
Реакции
799
ЗЫ. UserInteractionLevel должен работать. Никогда с ним особых проблем не было, вроде со времен CS3
очень интересно :) У меня какой-то другой CS6? :)
Есть откатил систему в вирт. машине до свежеустановленной и сразу после этого установлен CS6. История та же :(
1.gif


Не по теме:
Какого черта движок решил править мою корявую орфографию сам?:)
 
Последнее редактирование:

qsedftghk

фея
15 лет на форуме
Сообщения
2 032
Реакции
1 198
Ну, что тут сказать? Скриптинг в иле всегда был полон сюрпризов. Видимо в CS6 UserInteractionLevel не во всех местах работал. В новых версиях работает, хотя и не удивлюсь, если с другими какими-то окнами и в новых версиях не сработает.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 229
Реакции
10 851
У меня в CS6 тоже не подавляет предупреждение