我在Photoshop(CC)中实现流程自动化时遇到问题,希望您能为我提供帮助,或带我到哪里寻找答案。
我在PS中创建了自己的动作,该动作可以处理照片并添加各种图形元素(我称之为工作方式:动作A)。
我有很多照片,所以 我使用“批处理顺序...”运行该动作。
批处理序列将打开照片并启动“动作A”。时间过后,将显示警报框。
然后我可以选择“停止”和“继续”。
这时,我需要在对话框出现时激活第二个动作(我称其为“动作B”)
我在各种论坛中寻找解决方案,但发现只有以下几点: https://forums.adobe.com/thread/1218184
请帮助。
我打招呼亚瑟
答案 0 :(得分:1)
您可以将Action转换为脚本,然后使用任何条件语句来决定下一步要做什么。
例如,假设您的动作A有10个步骤,而您希望第10个步骤成为决定下一步操作的条件。您可以使用xbytor的ActionToScript脚本(working link)将操作转换为脚本,在生成的JSX文件中,您将找到所有转换为javascript代码的操作步骤。您可以使用此文件代替Action A,也可以仅使用所需的部分(在本示例中为第10步),将之前的所有9个步骤保留为操作步骤,并在最后一步插入脚本。
然后,您可以在脚本中使用try..catch
或if
语句来确定要播放的动作,例如,此代码是从“动作”转换而来的“羽毛选择”命令。它会尝试播放,如果一切正常,接下来将播放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");
}