新手在这里。
我在Automator中运行Photo Booth程序。它使用此代码运行photoshop操作:
on run {input, parameters}
--set theImage to choose file with prompt "Please select an image file:"
--display alert class of (theImage as alias) buttons {"OK"} as warning
set theImage to input
tell application "Adobe Photoshop CS4"
open file (theImage as text) as Camera RAW showing dialogs never
do action "OneCopyColourDFS" from "Photobooth" --replace 'name' and 'group' with the correct items from Photoshop; the "group" is the folder the action appears under in Photoshop; capitalization and spacing matter
end tell
return input
end run
但是,我已将Photoshop版本更新为CS6。但是,当我改变 -tell application" Adobe Photoshop CS4" - 至 -tell application" Adobe Photoshop CS 6 " -
...然后运行Automator,它立即切换回' CS4'当它运行Applescript时。为什么?我假设它必须是Automator做某事吗?
提前感谢您的帮助吗?
伦纳德
答案 0 :(得分:0)
如果我没记错的话,AppleScript脚本会保存对使用别名数据的应用程序的引用,因此定位不同的应用程序版本可能会很棘手。
我会尝试以下方法:
在Automator中,选择脚本的内容并将其复制到剪贴板。
打开TextEdit并创建一个新文档。使用Format > Make Plain Text
将新文档的格式更改为纯文本。然后粘贴剪贴板的内容,以便获得AppleScript纯文本的备份副本。
返回Automator并删除Run AppleScript操作的所有文本。保存Automator文档。
保存Automator文档后,返回TextEdit,选择之前粘贴的所有纯文本,然后将其复制到剪贴板。
返回Automator并将纯文本粘贴到Run AppleScript操作中。 在之前点击编译,请确保已正确设置新名称,即“Adobe Photoshop CS6”。编译时,应该保留Adobe Photoshop CS6
而不必恢复到CS4。
如果这样做,基本上,你正在做的是基本上强制AppleScript(或Automator)丢弃脚本处理的AppleScript对象的所有内部/缓存表示,并通过重新解析来重新创建它们从头开始的文字。