1

Evernoteノートから添付ファイルをエクスポートするための非常に単純なAppleScriptの作成で重大な問題が発生しています。次のコードを数回使用しましたが、機能しているように見えますが、実際には、イベントログに正しい応答が表示されていても、サイレントに失敗します。

Evernoteの最近のバージョンには、AppleScriptのサポートに関する重大な問題があると聞きました。EvernoteとAppleScriptの「エキスパート」がいる場合は、スクリプトを見直して、何かを忘れていないことを確認してください。

Mac OS X10.8.2とMacAppStoreバージョンのEvernote5.0.5(400805)を使用しています。

コード:

set ExportPath to "LegatusHD1:Users:me:Downloads:Test"
set theAttachments to {}
set selectedItems to {}

tell application "Evernote"
set selectedItems to selection
repeat with selectedItem in selectedItems
    set theAttachments to (attachments of selectedItem)
    repeat with theAttachment in theAttachments
        set theFilename to (ExportPath & ":" & theAttachment's filename)
        write theAttachment to theFilename
        set theFilename to ""
    end repeat
end repeat
end tell
4

2 に答える 2

0

Apple は最近、AppStore からのアプリのサンドボックス化を導入しました。したがって、OSX のバージョンによっては、Evernote アプリが独自のフォルダー構造の外部にあるファイル システムにアクセスできないため、これがサイレント モードで失敗する理由である可能性があります。エクスポート パスを Evernote フォルダ内の何かに設定してみてください。

于 2013-02-19T03:36:42.580 に答える
0

この質問は古いですが、私は今提供できる答えを探してつまずきました:

参考までに、OSX 10.9.1 (Mavericks) と Evernote 5.4.4 を App Store 経由でインストールしています。

Mustafa が正しかったことを確認できます。アプリの App Store バージョンを使用すると、サンドボックス (/Users/{username}/Library/Containers/com.evernote.Evernote/) 内のファイルにしか書き込むことができません。

簡潔な答え

Evernote Web サイトからアプリをインストールするか、App Store のアプリを使用する場合:

上記のスクリプトを使用して、エクスポート パスをサンドボックス内の何かに変更します。

set ExportPath to "Users:{username}:Library:Containers:com.evernote.Evernote:Data:attachment_export"

最初に attachment_export フォルダーを作成し、{username} をユーザー名に置き換えることを忘れないでください

デバッグに関する注意

残念ながら、サンドボックスの外に書き込もうとしても、applescript エディターはエラーを表示しません。ただし、コンソール アプリケーションでエラーを表示できます ([アプリケーション] -> [ユーティリティ] にあります)。コンソールで、検索ボックス (右上隅) に「sandbox」と入力すると、ウィンドウの下部に次のようなものが表示されます。

1/29/14 10:22:29.426 sandboxd[310]: ([4433]) Evernote(4433) 拒否ファイル-書き込み-作成 /Users/{username}/Desktop/Evernote スナップショット 20140128 134741.jpg

于 2014-01-29T04:23:15.010 に答える