アプリケーションの[ヘルプ]メニューの[検索]ボックスに焦点を当てたOSX10.5用のスクリプトがあります。キーの組み合わせで使用しており、Spotlightと同様に、スクリプトを実行するときに切り替えたいと考えています。そこで、検索ボックスがすでに入力用にフォーカスされているかどうかを検出したいので、フォーカスされている場合は、[ヘルプ]メニューをクリックする代わりにEscと入力します。
現在のスクリプトは次のとおりです。
tell application "System Events"
tell (first process whose frontmost is true)
set helpMenuItem to menu bar item "Help" of menu bar 1
click helpMenuItem
end tell
end tell
そして、私はこのようなことを考えています:
tell application "System Events"
tell (first process whose frontmost is true)
set helpMenuItem to menu bar item "Help" of menu bar 1
set searchBox to menu item 1 of menu of helpMenuItem
if (searchBox's focused) = true then
key code 53 -- type esc
else
click helpMenuItem
end if
end tell
end tell
...しかし、このエラーが発生します:
{アプリケーション「システムイベント」のアプリケーションプロセス「スクリプトエディタ」のメニューバー1のメニューバー項目「ヘルプ」のメニュー「ヘルプ」のメニュー項目1}に焦点を合わせることができません。
では、検索ボックスがすでにフォーカスされているかどうかをスクリプトで検出する方法はありますか?
私はそれを回避することによって私の問題を解決しました。メニュー項目が選択されているかどうかを確認する方法がまだわからないので、このトピックは開いたままにしておきます。