[AppleSript] メニューバーの操作

メニューバーを操作します。

これは手動で操作するのと比べると、格段に速いです。

GUI Scriptingなので補助装置にアクセスを許可しないとエラーになります。

許可する設定方法は[システム環境設定]-[セキュリティとプライバシー]を開いて、以降は実行するOSのバージョンによって以下のように異なります。

< OSX10.8以前のOSの場合 >
[補助装置にアクセスできるようにする]チェックボックスにチェックを入れる

< OSX10.9以降のOSの場合 >
[プライバシー]-[アクセシビリティ]のリストにスクリプトエディタもしくはアプリケーションとして保存したスクリプトを登録してチェックを入れる

スポンサーリンク

メニューバー操作

-- メニューバー操作
tell application "System Events"
	-- 以下の"Finder"を任意のアプリケーションに設定する
	tell process "Finder"
		tell menu bar 1
			(* menu bar item 2 および menu item 3 を任意のターゲットに変更
			  ※ セパレータもmenu itemに数えられるので注意 *)
			pick menu item 3 of menu 1 of menu bar item 2
		end tell
	end tell
end tell

説明

上記の例では「tell process “Finder”」としているのでFinderのメニューバーを操作しています。
「Finder」部分を操作したいアプリケーションに設定して使用してください。

「tell menu bar 1」で操作するメニューバーを指定しています。
「pick menu item 3 of menu 1 of menu bar item 2」で「二番目のメニューバーアイテムの一番目のメニューの三番目のアイテム」を操作するという意味なので、それぞれの数字を操作したい対象になるように変更してください。
セパレータ(項目の間にある横線)も一つのアイテムとして数えられます。