代码之家  ›  专栏  ›  技术社区  ›  Liam

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

  •  0
  • Liam  · 技术社区  · 7 年前

    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工具包CC中,我的目标是Photoshop,而且 #target photoshop 在脚本文件的顶部,但它总是在 执行 . 没有录制的命令可以正常工作,只有在运行录制的命令时才会出现错误。

    有人知道为什么会这样吗?我一直在看文档,所以,和博客,但找不到实现这一点的方向,所以任何帮助将不胜感激。

    1 回复  |  直到 7 年前
        1
  •  0
  •   Sergey Kritskiy    7 年前

    invokeCommand 和 modalStateChanged