如何 运行 由 Photoshop ScriptListener 插件生成的代码?

How do I run code generated by the Photoshop ScriptListener plugin?

我遇到的问题是 运行 ScriptListener 插件记录的代码。我已经将日志中的命令复制到 Extendscript Toolkit CC 中,但是任何时候我 运行 它们(有或没有函数)它们都在代码的 executeAction 行失败并说 "This functionality may not be available in this version of 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 处失败。未记录的命令工作正常,只有当我 运行 一个记录的命令时,我才会收到错误。

有谁知道为什么会这样?我一直在查看文档、SO 和博客,但找不到实现此目标的方向,因此我们将不胜感激。

尝试删除所有 invokeCommandmodalStateChanged 块。从脚本启动时,它们不会执行任何操作:而且我认为它们是在 CC2015 之后才开始出现的。基本上那些只是表明有一个模式 window 出现然后关闭。