[ID CC2024] Взаимодействие Индезайна и Фотошопа через скрипты

iGrey

Топикстартер
10 лет на форуме
Сообщения
102
Реакции
6
Ситуация:
Скрипт индезайна, при запуске вешает окошко информирущее о том что скрипт работает и запускает скрипт в фотошопе:
JavaScript:
#target indesign
#targetengine "Sesion"
with (app) {
    try {
        myWindow.show ();
    }
    catch (e)
    {
        myWindow = new Window ("palette", "To CMYK");
        myWindow.alignChildren = "bottom";
        myWindow.orientation = "column";
        myWindow.add ("statictext", undefined, "Начали.");
        myWindow.show ();
    }

Когда скрипт в фотошопе отработал, хочу закрыть информационное окно.
Скрипт фотошопа:
JavaScript:
with (app) {
var bt = new BridgeTalk();
bt.target = "indesign";
var myScript = Ansver.toString() + '\r';
myScript += 'Ansver ();';
bt.body = myScript;
bt.send(1000);

function Ansver () {
#targetengine "Sesion";
app.activeDocument.links.everyItem().update(); 
//alert ('Фотошоп отработал!');
myWindow.hide ();
}
}

Окно не закрывается.
Делаю что-то не так, или ситуация неразрешима в принципе?
 
Последнее редактирование:

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 229
Реакции
10 851
Ситуация:
Скрипт индезайна, при запуске вешает окошко информирущее о том что скрипт работает и запускает скрипт в фотошопе:
JavaScript:
#target indesign
#targetengine "Sesion"
with (app) {
    try {
        myWindow.show ();
    }
    catch (e)
    {
        myWindow = new Window ("palette", "To CMYK");
        myWindow.alignChildren = "bottom";
        myWindow.orientation = "column";
        myWindow.add ("statictext", undefined, "Начали.");
        myWindow.show ();
    }

Когда скрипт в фотошопе отработал, хочу закрыть информационное окно.
Скрипт фотошопа:
JavaScript:
with (app) {
var bt = new BridgeTalk();
bt.target = "indesign";
var myScript = Ansver.toString() + '\r';
myScript += 'Ansver ();';
bt.body = myScript;
bt.send(1000);

function Ansver () {
#targetengine "Sesion";
app.activeDocument.links.everyItem().update();
//alert ('Фотошоп отработал!');
myWindow.hide ();
}
}

Окно не закрывается.
Делаю что-то не так, или ситуация неразрешима в принципе?
Признайтесь, вам этот странный код нейросеть писала?
 

iGrey

Топикстартер
10 лет на форуме
Сообщения
102
Реакции
6
Признайтесь, вам этот странный код нейросеть писала?
Признаюсь.
Я ни разу не скрптописатель :( .
Все честно украдено и адаптировано под мои нужды из просторов интернета.
 

Drawer

Участник
Сообщения
1 816
Реакции
799
Не особо вижу смысла городить огород с этими окнами :)
Скрипт фотошопа:
JavaScript:
var jsFile = File("~/run_script.jsx")
jsFile.encoding = 'UTF-8';
jsFile.open('w');
var jsText = '#target indesign\n#targetengine "Sesion"\nmyWindow.hide ();'
jsFile.write("\uFEFF"+jsText);
jsFile.close();
var bt = new BridgeTalk;
bt.target = "indesign";
bt.body = "app.activeDocument.links.everyItem().update();var jsFile = File('~/run_script.jsx');app.doScript(jsFile,ScriptLanguage.JAVASCRIPT);jsFile.remove();";
bt.send();
 
Последнее редактирование:
  • Спасибо
Реакции: iGrey

iGrey

Топикстартер
10 лет на форуме
Сообщения
102
Реакции
6
Не особо вижу смысла городить огород с этими окнами :)
Мне интересно.
И в будущем может быть заготовка под что-то большее.
Спасибо за идею с запуском скрипта из файла.
Попробую - посмотрю что получится.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 229
Реакции
10 851
Не особо вижу смысла городить огород с этими окнами :)

JavaScript:
var jsFile = File("~/run_script.jsx")
jsFile.encoding = 'UTF-8';
jsFile.open('w');
var jsText = '#target indesign\n#targetengine "Sesion"\nmyWindow.hide ();'
jsFile.write("\uFEFF"+jsText);
jsFile.close();
var bt = new BridgeTalk;
bt.target = "indesign";
bt.body = "app.activeDocument.links.everyItem().update();var jsFile = File('~/run_script.jsx');app.doScript(jsFile,ScriptLanguage.JAVASCRIPT);jsFile.remove();";
bt.send();
Так вы пробовали, работает? КМК nmyWindow вообще в другом контексте находится, не должно прохилять такое 'hmmm'