我正在编写一个 applescript,它使用名为“查找笔记”的命令(在 Evernote 字典中的 Evernote 套件中)与 Mac 版 Evernote 进行交互。这是我的脚本:
tell application "Evernote"
set myNotes to find notes ("intitle:Title")
end tell
如果我在 Evernote 已打开时运行脚本,效果很好,但如果在运行脚本时 Evernote 尚未打开,则会出现错误:“预期行尾,但 找到标识符。”第二行中的“notes”一词突出显示。
无论我是从 AppleScript 编辑器运行它还是作为 shell osascript 运行它,它的行为都是一样的。
它似乎将“find”解析为一个完整的动词,而不是动词“findnotes”的一部分。但如果 Evernote 打开,那么它会识别完整的动词并正常工作。
有什么方法可以让它作为一个脚本(未编译)在安装了 Evernote 但可能运行也可能不运行的环境中运行?
最佳答案
我相信这是因为当您没有给出具体名称时,它会匹配(正常运行的)EvernoteHelper 应用程序。
我认为,只要您在编译时运行 Evernote 本身,正确的引用就会最终出现在脚本中,因此编译后的脚本在运行时应该启动 Evernote 而不是 EvernoteHelper .
您可能会发现使用包标识符“com.evernote.Evernote”而不是应用程序的硬编码路径也有效:
tell application id "com.evernote.Evernote"
(注意“id”部分。)
关于当应用程序未打开时,Applescript 使用 Evernote 的 "find notes"动词给出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18646847/