特定の基準に基づいて Daylite タスクにいくつかの電子メールを自動的に追加する必要があるため、Mail.app ルールと AppleScript を設定してこれを実現します。1 つだけ問題があります。AppleScript がメッセージの内容を取得すると、最後に 'a' が追加されます (ビープ音も鳴り、明らかに許可されていないキーストロークを試みたことを知らせます)。
AppleScript は次のようになります。
using terms from application "Mail"
on perform mail action with messages theMessages for rule theRule
tell application "Mail"
repeat with eachMessage in theMessages
try
set this_subject to subject of eachMessage
set this_body to content of eachMessage
if this_subject is "" then error
on error
set this_subject to "No subject."
end try
activate application "Daylite"
tell application "System Events"
keystroke "t" using {command down, shift down}
keystroke this_subject
keystroke tab
keystroke this_body
keystroke "s" using command down
end tell
end repeat
end tell
end perform mail action with messages
end using terms from
これにより、Daylite で新しいタスクが取得されます。タスクのタイトルは電子メールの件名であり、正しく表示されますが、電子メールの本文である添付メモは正しく表示されません。
したがって、ルールに一致する電子メールを受信した場合、その電子メールは次のとおりです。
From: 架空の妻
件名:ゴミ出しを忘れずに!
本文:もう一度忘れたら離婚します。
最終的には、次のようなタスクになります。
☐ ゴミ出しを忘れずに!
もう一度忘れたら、離婚を申請します。
… このシナリオでの架空の妻を、読み書きがほとんどできないカナダ人のように聞こえるようにします。(さらに、許可されていない何かを入力しようとしたことを知らせるシステム警告音が鳴ります。)
本文に複数行のテキストがある場合、改行も削除されます。
私はそれを次のように設定できることを知っています:
set the clipboard to this_body
そして交換
keystroke this_body
と
keystroke "v" using command down
…しかし、それは本当に洗練されていない解決策であり、ルールが実行されるたびにクリップボードにあるものを置き換えたくありません。
ここで何が間違っていますか?TextEdit でもこれをテストしましたが、そこでも同じ問題が発生するため、Daylite の問題ではありません。また、「set this_body…」行の末尾に「as Unicode text」または「as string」または「as «class UTF8»」を追加しようとしましたが、どれも問題を解決しませんでした。
完全な馬鹿として、それが私があなたを理解する唯一の方法だからです。ありがとう。