当应用程序名称是变量时,Applescript会破坏吗?

时间:2016-05-18 09:32:28

标签: path applescript photoshop

我的机器上有一个脚本,它有多个版本的Photoshop,可以查找任何开放版本的Photoshop(在本例中为CS6),并将名称保存为名为AppName的变量。

它似乎可以正常检查"如果AppName正在运行"但是后来在脚本上我已经告诉应用程序..."当我开始在那里做事时,我得到错误1728.

示例:我打开了CS6并打开了一张图像。

tell application AppName
    log count documents
    log file path of document 1
end tell

那会产生

(*1*)
(*Adobe Photoshop CS6 got an error: Can't get path. - -1728*)

如果我只是输入" Adob​​e Photoshop CS6"它可以完美地运行。或" com.adobe.photoshop",但出于各种原因,我不能这样做,需要它保持变量。

有人有什么想法吗? = /

1 个答案:

答案 0 :(得分:0)

tell application的参数必须是文字字符串(常量),因为术语是在编译时计算的。

评估tell application旁边的AppleScript术语的唯一方法是在事件处理程序中经常使用的using terms from块,例如

using terms from application "Adobe Photoshop CS6"

end using terms from

但这也需要一个常量作为参数。实施取决于具体情况。