用于控制Photoshop保存对话框的Applescript

时间:2016-09-16 08:16:31

标签: macos dialog operating-system applescript photoshop

你好吗?

我已经创建了一个applescript自动化,可以在保存对话框打开时保存.JPG中的文件。 (所以我可以控制保存文件的名称)

有没有办法控制Photoshop的保存对话框?

我想要发生的是:出现保存对话框时 -Command + a将发生(选择所有字符)
- 按删除(删除所有选中的字符)
- 延迟8秒=我有足够的时间来写我自己的文件名。
-Automation将按回车键以我自己的书面文件名保存文件。

我尝试在脚本编辑器中阅读Photoshop的字典,但没有找到控制Photoshop的保存对话框的结果。

  

我尝试做系统事件来执行命令+按删除+延迟8   秒和按返回但该事件仅在保存后发生   对话框消失,而不是在实际保存对话框中执行此操作   框。

我的Photoshop是:CS6 Extended
Os:El Capitan

Screenshot of the save dialog box

非常感谢。

2 个答案:

答案 0 :(得分:0)

您应该避免使用GUI脚本:每次Adobe(或Apple)更改“另存为”对话框的图形显示时,您的脚本可能不再有效。

相反,使用两步法:1)使用标准的“选择文件名”获取错误的名称和路径,然后使用此文件在Photoshop中使用“保存”命令进行保存。该脚本假设有一个当前打开的文档。

请用您的版本更新'Adobe Photoshop CS3'(我的版本有点陈旧,但还是足以测试!)。

此外,可以根据需要调整默认文件夹(此处为=桌面)。

tell application "Adobe Photoshop CS3"
set docRef to the current document
set docName to name of docRef -- current name will be use as default new name
set file2save to ((choose file name default location (path to desktop) default name docName) as string)
save docRef in file file2save as JPEG appending lowercase extension with copying
end tell

注1:您可以通过检查file2save变量中键入的扩展名来改进该脚本,如果缺少,脚本可以添加正确的扩展名(即'jpg')。

注2:Adobe在版本CS3和CS6之间对“open”命令进行了一些更改。我希望这些更改不会影响'save'命令。

答案 1 :(得分:0)

这是您指定的代码,也包括打开保存框:

tell application "Adobe Photoshop CS6"
    activate
    tell application "System Events"
        keystroke "s" using {command down, shift down}
        delay 1
        keystroke "a" using {command down}
        delay 0.1
        key code 51
        delay 8
        keystroke return
    end tell
end tell