我正在编写一个与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但可能正在运行或未运行的环境中运行的脚本(未编译)?
答案 0 :(得分:3)
我相信这是因为当你没有给出一个特定的名字时,它会匹配(正常运行的)EvernoteHelper应用程序。
我认为只要你有Evernote本身在编译时间运行,正确的引用将在脚本中结束,因此编译后的脚本应该在运行时启动Evernote而不是EvernoteHelper
您可能会发现使用捆绑包标识符“com.evernote.Evernote”而不是应用程序的硬编码路径也可以使用:
tell application id "com.evernote.Evernote"
(注意“id”部分。)
答案 1 :(得分:0)
如果其他人遇到同样的问题,如果我指定应用程序的完整路径而不仅仅是名称,它似乎会修复它。所以:
tell application "/Applications/Evernote.app"