Как запустить код, сгенерированный плагином Photoshop ScriptListener? - PullRequest
0 голосов
/ 28 октября 2018

У меня проблемы с запуском кода, записанного плагином ScriptListener.Я скопировал команды из журналов в Extendscript Toolkit CC, но каждый раз, когда я запускаю их (с функцией или без нее), все они терпят неудачу в строке кода executeAction и говорят: «Эта функция может быть недоступна в этой версиииз Photoshop "

Вот код, который я пытаюсь запустить:

function pasteAsPath() {
    var idinvokeCommand = stringIDToTypeID( "invokeCommand" );
    var desc32 = new ActionDescriptor();
    var idcommandID = stringIDToTypeID( "commandID" );
    desc32.putInteger( idcommandID, 105 );
    var idkcanDispatchWhileModal = stringIDToTypeID( "kcanDispatchWhileModal" );
    desc32.putBoolean( idkcanDispatchWhileModal, true );
    executeAction( idinvokeCommand, desc32, DialogModes.NO );

    // =======================================================
    var idmodalStateChanged = stringIDToTypeID( "modalStateChanged" );
    var desc33 = new ActionDescriptor();
    var idLvl = charIDToTypeID( "Lvl " );
    desc33.putInteger( idLvl, 1 );
    var idStte = charIDToTypeID( "Stte" );
    var idStte = charIDToTypeID( "Stte" );
    var identer = stringIDToTypeID( "enter" );
    desc33.putEnumerated( idStte, idStte, identer );
    var idkcanDispatchWhileModal = stringIDToTypeID( "kcanDispatchWhileModal" );
    desc33.putBoolean( idkcanDispatchWhileModal, true );
    var idTtl = charIDToTypeID( "Ttl " );
    desc33.putString( idTtl, """Paste""" );
    executeAction( idmodalStateChanged, desc33, DialogModes.NO );

    // =======================================================
    var idmodalStateChanged = stringIDToTypeID( "modalStateChanged" );
    var desc34 = new ActionDescriptor();
    var idLvl = charIDToTypeID( "Lvl " );
    desc34.putInteger( idLvl, 0 );
    var idStte = charIDToTypeID( "Stte" );
    var idStte = charIDToTypeID( "Stte" );
    var idexit = stringIDToTypeID( "exit" );
    desc34.putEnumerated( idStte, idStte, idexit );
    var idkcanDispatchWhileModal = stringIDToTypeID( "kcanDispatchWhileModal" );
    desc34.putBoolean( idkcanDispatchWhileModal, true );
    var idTtl = charIDToTypeID( "Ttl " );
    desc34.putString( idTtl, """Paste""" );
    executeAction( idmodalStateChanged, desc34, DialogModes.NO );

    // =======================================================
    var idpast = charIDToTypeID( "past" );
    var desc35 = new ActionDescriptor();
    var idAs = charIDToTypeID( "As  " );
    var idPath = charIDToTypeID( "Path" );
    desc35.putClass( idAs, idPath );
    executeAction( idpast, desc35, DialogModes.NO );
}

В Extendscript Toolkit CC я нацеливаюсь на Photoshop, а также наверху скрипта есть #target photoshopфайл, но он всегда терпит неудачу в executeAction.Не записанные команды работают нормально, только когда я запускаю записанную команду, я получаю сообщение об ошибке.

Кто-нибудь знает, почему это происходит?Я просматривал документацию, ПО и блоги, но не могу найти направления для этого, поэтому любая помощь будет признательна.

1 Ответ

0 голосов
/ 29 октября 2018

Попробуйте удалить все блоки invokeCommand и modalStateChanged.Они ничего не делают, когда запускаются из скриптов: и я думаю, что они начали появляться только после CC2015.По сути, они просто показывают, что было модальное окно, которое появилось, а затем было закрыто.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...