• ベストアンサー

AppleScript 振り分けしたい

set myText to unread count of mailbox "選択" of application "Mail" として "選択"ボックスに未読があるのでそのボックスをオープンしたいのだが if myText=1 then 選択ボックスを開き、処理したい。 end if 行き詰まってしまいました。 open~でもopen aliasでも開かずopen documentでも開きません エラー連発です。 メールの開き方ってどうしたら開く事ができるのでしょうか。どなたかお力をくださいませ。

質問者が選んだベストアンサー

  • ベストアンサー
  • ki073
  • ベストアンサー率77% (491/634)
回答No.1

MailのAppleScriptはバックグラウンドで操作することを念頭に置いているようですので、特定のメールボックスを開く機能は無いように思います。 このような場合はSystem Eventsを使います。こちら設定では activate application "Mail" tell application "System Events" tell process "Mail" select row 20 of outline 1 of scroll area 1 of splitter group 1 of window 1 end tell end tell で指定したメールボックするを開くことができますが、設定によってselect ~をしていしてやる必要があります。UI Browser(有料)を使えば簡単に書けます。 tell application "Mail" to activate とするだけが簡単かも知れません。 Automatorで記録しAppeScriptから呼び出す方法も使えるのですが、Mailではうまく記録できないようです。

vvvsuro
質問者

お礼

いつもありがとうございます。m(_ _)m 上記の方法で指定したメールボックスを開く事ができました。 どおりでどうあがいてもできなかったのですね。AppleScriptは簡単などといわれていますがなかなか難しいものです。 ちなみにselect row 20の選択ですがメールボックスの番号をあらかじめ知る方法はあるのでしょうか。 適当に番号を指定し希望のフォルダを見つけています。 properties of message viewer で確認しても番号は出てきません。 またビューアウィンドウが閉じた場合selectがエラーになります。 UI Browserの件ですが(ttp://www.fsight.co.jp/products/uibrowser/ 必要な動作環境でみるとMac OS X 10.3以降となっているようですがMarvericksでは起動しません。 英語版UI Browser2.4.3 ttp://pfiddlesoft.com/uibrowser/ こちらはMarvericksに対応しているようです)将来の事を考えると純粋にAppleScriptで記述した方が良いと考えていますができる範囲も限られているのでしょうか。 しかし、自分の思い通りのシステムを目指していくしかないと思っています。