【发布时间】:2019-04-01 16:56:53
【问题描述】:
我在运行 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 处失败。未记录的命令可以正常工作,只有当我运行记录的命令时才会出错。
有人知道为什么会这样吗?我一直在查看文档、SO 和博客,但找不到完成此任务的方向,因此我们将不胜感激。
【问题讨论】:
标签: javascript adobe photoshop extendscript photoshop-script