Compiler errors Applescript-应为行尾,但找到标识符

Compiler errors Applescript-应为行尾,但找到标识符,compiler-errors,applescript,Compiler Errors,Applescript,我一直在用Applescript为我的一个朋友制作一些东西,通常,通过一些搜索/研究,我能够克服我一直面临的问题。 然而我发现了一个我不理解的问题 例如,我有: tell application "Acrobat Distiller" Distill sourcePath inputFile1 adobePDFSettingsPath fullPathToJobOptions end tell 如果我将其替换为: tell application "/Applications/Adob

我一直在用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
我在“提取sourcePath inputFile1 adobePDFSettingsPath fullPathToJobOptions”行中遇到错误。更确切地说是“源路径”这个词。 错误是: “语法错误:应为行尾,但找到标识符”

这里可能有什么问题? (感谢您的帮助!):)

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

tell application "/Applications/Adobe Acrobat XI Pro/Acrobat Distiller.app"
程序的名称(实际上是路径)在引号中,编译器可以查看应用程序以提取其字典

编译器不知道您正在与哪个程序交互。只有在运行时,脚本才知道存储在pathtodistiller中的值,现在让编译器知道要查找哪个应用程序的字典已经太迟了。

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

tell application "/Applications/Adobe Acrobat XI Pro/Acrobat Distiller.app"
程序的名称(实际上是路径)在引号中,编译器可以查看应用程序以提取其字典

编译器不知道您正在与哪个程序交互。只有在运行时,脚本才知道存储在pathtodistiller中的值,现在让编译器知道要查找哪个应用程序的字典已经太迟了。


您可以将其环绕在“使用来自…”的术语”块中,如下所示:

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


补充:

我只是用iTunes测试了一下

set thePathToDistiller to "/Applications/iTunes.app"
using terms from application "iTunes"
    tell application thePathToDistiller
        playpause
    end tell
end using terms from
这就行了。


您可以将其环绕在“使用来自…”的术语”块中,如下所示:

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


补充:

我只是用iTunes测试了一下

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

这很有效。

谢谢你的帮助。但是很奇怪。。。我理解你写的东西(特别是在读了ganbustein的答案之后),但是,即使是你的代码,我也一直有同样的错误。你有不同版本的蒸馏器吗?可能是AppleScript使用的版本不理解“提取”命令,或者使用了其他语法(如果您有这样的版本)。只是猜测而已,奇怪的是。。。这个问题是因为我的朋友有两个蒸馏器版本,但我没有这个问题。所以我试着在不改变代码的情况下编写一个在两台计算机上工作的代码。但作为对你问题的回答。。。没有,我只有一个蒸馏器。我想我会放弃这条路,走另一条。无论如何,谢谢!:)我本想告诉你关于使用“使用来自…”的术语块,但Zero抢先告诉了我,所以我+1-ed了他的答案,这应该行得通。您必须确保
pathtodistiller
的值对于运行脚本的机器是正确的,无论是哪台机器。否。。。。我真的不能让它工作(我想我会在其他方面继续编写脚本,如果我有时间,我会再次尝试执行此操作。我发现可以使用“告诉应用程序”的“打开”命令,我甚至不需要“使用术语”块……但我需要更改提取的质量(使用joboption文件)我没有找到一个命令,不使用“蒸馏”。哦……回到“画板”。鉴于所发生的事情,我应该考虑任何正确的答案吗?谢谢各位!谢谢你的帮助。奇怪的是……我理解你所写的(特别是读了甘布斯坦恩的答案)。但是,即使使用了您的代码,我仍然会遇到相同的错误。您是否存储了不同版本的蒸馏器?这可能是因为AppleScript使用的版本不理解“蒸馏”命令或具有其他语法(如果您有这样的版本).只是一个猜测。奇怪的是…这个问题是因为我的朋友有两个蒸馏器版本,但我没有那个问题。所以我试图编写一个代码,在不更改代码的情况下在两台计算机上工作。但是作为你问题的答案…不,我只有一个蒸馏器。我想我会放弃这条路径,选择另一个。无论如何,谢谢!:)我本想告诉你如何使用“使用来自…”的术语块,但Zero抢先告诉了我,所以我+1-ed了他的答案,这应该行得通。您必须确保
pathtodistiller
的值对于运行脚本的机器是正确的,无论是哪台机器。否。。。。我真的不能让它工作(我想我会在其他方面继续编写脚本,如果我有时间,我会再次尝试执行此操作。我发现可以使用“告诉应用程序”的“打开”命令,我甚至不需要“使用术语”块……但我需要更改提取的质量(使用joboption文件),我没有找到一个没有使用“提取”的命令。哦,好吧…回到“绘图板”鉴于所发生的事情,我应该考虑任何一个正确的答案吗?谢谢大家!谢谢你的帮助。在阅读了你的答案之后,我确实明白了这个问题,我希望零的代码能解决这个问题,但是同样的错误发生了。这是否意味着我要做的……在Apple脚本中是不可能的?谢谢。在阅读了你的答案后,我确实理解了这个问题,我希望Zero的代码能够解决这个问题,但还是出现了同样的错误。这是否意味着我要做的…在Applescript中是不可能的?