every UI Elementsで調べる

Mac OS X では、メニューやダイアログなどを操作することができます。
(※操作可能な状態にするには、あらかじめ アップルメニュー > システム環境設定 の「ユニバーサルアクセス」を開いて、「補助装置を使用可能にする」をオンにしておく必要があります。)

…… しかし…どういう命令を送ればよいのでしょうか?基本形は以下のような形です。
tell application "System Events"
tell process “アプリケーションの名前”
コマンド
end tell
end tell
では、アプリケーション Finder の 「新規ウインドウ」メニューを実行させるにはどうすればよいのでしょうか?
まずは、なにが操作可能なのか調べましょう。「every UI Elements」というコマンドを実行します。すべての UI Elements という意味ですね。
tell application "System Events"
tell process "Finder"
every UI element
end tell
end tell
結果ウインドウには、以下のような表示が行われます。
menubar1.jpg
tell している部分より前は記述する必要はありません。menu bar 1 of application process “Finder” ってところの of application ~ は省略可能です

どうやら、menu bar 1 というのと、scroll area “ ” というのがあるようです。
メニュー操作をしたいので、menu bar 1 というのが関係ありそうです。menu bar 1 に含まれる要素をしらべるには、tell menu bar 1 として、menu bar 1 が持っているすべての UI Elements という形になおします。
tell application "System Events"
tell process "Finder"
tell menu bar 1
every UI Elements
end tell
end tell
end tell

menubaritemapple.jpg
menu bar item “Apple”はアップルメニュー

…… どうやら menu bar item “ファイル” ってのが目的のメニューみたいです。先ほどと同様に、menu bar item “ファイル” に含まれるメニューを調べましょう。
…… すると「menu “ファイル”」というのが出てきますので、さらに繰り返していくと、目的のメニューが出てくるところまでたどりつきます。
tell application "System Events"
tell process "Finder"
tell menu bar 1
tell menu bar item "ファイル"
tell menu "ファイル"
every UI element
end tell
end tell
end tell
end tell
end tell

sinkifinderwindow.jpg
どんどんなじみの文字が出てきます

あとは、every UI Elements の行を削除して、pick menu item “新規 Finder ウインドウ”と記述するだけです。「pick」というコマンドについては、System Events の用語説明に載っていませんが、メニューを実行するコマンドです。
tell application "System Events"
tell process "Finder"
tell menu bar 1
tell menu bar item "ファイル"
tell menu "ファイル"
pick menu item "新規 Finder ウインドウ"
end tell
end tell
end tell
end tell
end tell
Finder に切り替えると、新しいウインドウができてますね。

ここまでは、メニュー操作の紹介でしたが、ほかにもダイアログ上のボタンなどでも、同じような感じで、階層をたどっていけば、目的の機能にたどり着きます。
たどり着いたら、「pick」や「click」および「keystroke」などのコマンドで操作します。

あと、注意点としては、いちおう、メニュー操作する場合は、そのアプリケーションを前面に移動した方が安全ですので、上記例では、Finder を全面に移動するコマンドを実行します。「activate」というコマンドを使います。
tell application "Finder"
activate
end tell

tell application "System Events"
tell process "Finder"
tell menu bar 1
tell menu bar item "ファイル"
tell menu "ファイル"
pick menu item "新規 Finder ウインドウ"
end tell
end tell
end tell
end tell
end tell


【関連情報】
アップル - Mac OS X
美しいソフトウェア(from All About)
Excel + AppleScript(from All About)
AppleScript をはじめよう!(from All About)
続・AppleScript をはじめよう! AppleScrip...(from All About)
一行AppleScript(from All About)
GUI Scripting を楽しもう!(from All About)
ウインドウのサイズを制御する(from All About)

→All About「Mac OS の使い方」トップページへ
→その他の記事はこちら










※記事内容は執筆時点のものです。最新の内容をご確認ください。
※OSやアプリ、ソフトのバージョンによっては画面表示、操作方法が異なる可能性があります。