出现警告框后运行操作的Photoshop(CC)脚本

时间:2018-09-30 19:32:55

标签: javascript automation photoshop-script cc

我在Photoshop(CC)中实现流程自动化时遇到问题,希望您能为我提供帮助,或带我到哪里寻找答案。

我在PS中创建了自己的动作,该动作可以处理照片并添加各种图形元素(我称之为工作方式:动作A)。

我有很多照片,所以 我使用“批处理顺序...”运行该动作。

批处理序列将打开照片并启动“动作A”。时间过后,将显示警报框。

然后我可以选择“停止”和“继续”。

这时,我需要在对话框出现时激活第二个动作(我称其为“动作B”)

我在各种论坛中寻找解决方案,但发现只有以下几点: https://forums.adobe.com/thread/1218184

请帮助。

我打招呼亚瑟

1 个答案:

答案 0 :(得分:1)

您可以将Action转换为脚本,然后使用任何条件语句来决定下一步要做什么。

例如,假设您的动作A有10个步骤,而您希望第10个步骤成为决定下一步操作的条件。您可以使用xbytor的ActionToScript脚本(working link)将操作转换为脚本,在生成的JSX文件中,您将找到所有转换为javascript代码的操作步骤。您可以使用此文件代替Action A,也可以仅使用所需的部分(在本示例中为第10步),将之前的所有9个步骤保留为操作步骤,并在最后一步插入脚本。

然后,您可以在脚本中使用try..catchif语句来确定要播放的动作,例如,此代码是从“动作”转换而来的“羽毛选择”命令。它会尝试播放,如果一切正常,接下来将播放Action B中的My Actions。如果遇到错误(例如,无法选择羽毛),将播放Action C

function cTID(s){return app.charIDToTypeID(s);};
function sTID(s){return app.stringIDToTypeID(s);};

try
{
    var desc2285 = new ActionDescriptor();
    desc2285.putUnitDouble(cTID('Rds '), cTID('#Pxl'), 5.000000);
    desc2285.putBoolean(sTID('selectionModifyEffectAtCanvasBounds'), false);
    executeAction(cTID('Fthr'), desc2285, DialogModes.NO);

    app.doAction("Action B", "My Actions");
}
catch (e)
{
    app.doAction("Action C", "My Actions");
}