当应用程序未打开时,Applescript使用Evernote的“查找备注”动词给出错误

时间:2013-09-05 22:19:25

标签: applescript evernote

我正在编写一个与Evernote for Mac交互的苹果脚本,使用命令(在Evernote的字典中的Evernote Suite中)称为“查找备注”。这是我的剧本:

tell application "Evernote"
set myNotes to find notes ("intitle:Title")
end tell

如果我在Evernote已经打开的情况下运行脚本就可以正常工作了,但是如果我在运行脚本时Evernote还没有打开它会给我一个错误:“预期的行结束但是 找到标识符。“第二行中的”注释“一词突出显示。

无论是从AppleScript编辑器还是作为shell osascript运行它,它的行为都相同。

似乎是将“find”解析为一个完整的动词,而不仅仅是动词“find notes”的一部分。但如果Evernote打开,那么它会识别完整的动词并正常工作。

有没有办法让这个工作作为在安装了Evernote但可能正在运行或未运行的环境中运行的脚本(未编译)?

2 个答案:

答案 0 :(得分:3)

我相信这是因为当你没有给出一个特定的名字时,它会匹配(正常运行的)EvernoteHelper应用程序。

我认为只要你有Evernote本身在编译时间运行,正确的引用将在脚本中结束,因此编译后的脚本应该在运行时启动Evernote而不是EvernoteHelper

您可能会发现使用捆绑包标识符“com.evernote.Evernote”而不是应用程序的硬编码路径也可以使用:

tell application id "com.evernote.Evernote"

(注意“id”部分。)

答案 1 :(得分:0)

如果其他人遇到同样的问题,如果我指定应用程序的完整路径而不仅仅是名称,它似乎会修复它。所以:

tell application "/Applications/Evernote.app"