2

「ノートの検索」と呼ばれるコマンド (Evernote の辞書の Evernote Suite 内) を使用して、Evernote for Mac と対話する AppleScript を作成しています。これが私のスクリプトです:

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

Evernote が既に開いているときにスクリプトを実行すると問題なく動作しますが、スクリプトを実行したときに Evernote がまだ開いていない場合、「行末が予期されましたが、識別子が見つかりました」というエラーが表示されます。2 行目の「notes」という単語が強調表示されます。

AppleScript Editor から実行しても、シェル osascript として実行しても、同じように動作します。

「find notes」という動詞の一部ではなく、完全な動詞として「find」を解析しているようです。ただし、Evernote が開いている場合は、完全な動詞が認識され、正しく機能します。

これを、Evernote がインストールされている環境で実行される (コンパイルされていない) スクリプトとして動作させる方法はありますか?

4

2 に答える 2

3

これは、特定の名前を付けない場合、代わりに (通常実行されている) EvernoteHelper アプリと一致するためだと思います。

コンパイル時にEvernote 自体を実行している限り、スクリプト内で正しい参照が行われると思います。そのため、コンパイルされたスクリプトは、実行時に EvernoteHelper ではなく Evernote を起動する必要があります。

アプリへのハードコードされたパスの代わりに、バンドル識別子「com.evernote.Evernote」を使用しても機能する場合があります。

tell application id "com.evernote.Evernote"

(「id」の部分に注意してください。)

于 2013-09-05T23:32:46.913 に答える
0

他の誰かが同じ問題に遭遇した場合、名前だけでなくアプリケーションへのフル パスを指定すると、問題が解決するようです。そう:

tell application "/Applications/Evernote.app"
于 2013-09-05T23:19:51.567 に答える