Applescript - 预期结束但找到标识符

时间:2014-12-27 02:37:16

标签: compiler-errors applescript

我一直在用Applescript制作一些东西给我的一个朋友,通常,通过一些搜索/研究,我能够克服我一直面临的问题。 但是......我发现了一个我不理解的问题。

例如,我有:

tell application "Acrobat Distiller"
    Distill sourcePath inputFile1 adobePDFSettingsPath fullPathToJobOptions
end tell

如果我将其替换为:

tell application "/Applications/Adobe Acrobat XI Pro/Acrobat Distiller.app"
    Distill sourcePath inputFile1 adobePDFSettingsPath fullPathToJobOptions
end tell

我没有任何问题......但...... 如果我做了类似的事情:

set thePathToDistiller to "/Applications/Adobe Acrobat XI Pro/Acrobat Distiller.app"

tell application thePathToDistiller
    Distill sourcePath inputFile1 adobePDFSettingsPath fullPathToJobOptions
end tell

我在“Distill sourcePath inputFile1 adobePDFSettingsPath fullPathToJobOptions”行中收到错误。更准确地说是“sourcePath”这个词。 错误是: “语法错误:预期行结束但找到标识符”

这可能是什么问题? (感谢您提供的任何帮助!):)

2 个答案:

答案 0 :(得分:3)

tell application "Acrobat Distiller"

编译器可以看到程序的名称并在编译时加载程序的字典。有了字典,它知道Distill的含义及其参数是什么。

相同
tell application "/Applications/Adobe Acrobat XI Pro/Acrobat Distiller.app"

程序的名称(实际路径)就在引号中,编译器可以查看应用程序以提取其字典。

tell application thePathToDistiller

编译器不知道您正在与哪个程序进行交互。只有在运行时,脚本才知道存储在thePathToDistiller中的值,而且让编译器知道要查看哪个应用程序的字典为时已晚。

答案 1 :(得分:2)


你可以使用......中的术语来包裹它。"块,像这样:

set thePathToDistiller to "/Applications/Adobe Acrobat XI Pro/Acrobat Distiller.app"
using terms from application "Acrobat Distiller"
tell application thePathToDistiller
    Distill sourcePath inputFile1 adobePDFSettingsPath fullPathToJobOptions
end tell
end using terms from



ADDITION:

我刚用iTunes测试过它;

set thePathToDistiller to "/Applications/iTunes.app"
using terms from application "iTunes"
    tell application thePathToDistiller
        playpause
    end tell
end using terms from

并且有效。