
今回ご紹介するのはAppleScriptを利用してwi-fiを切り替える方法だ。結果的には、手で切り替えるほうが早いので使わなくなってしまったが、一応スクリプティングで切り替えることはできる。
このAppleScriptの使い方を覚えておくと、Macのメニューを操作する方法が学べる。
もともとAppleScript化したかったのはアクションが複数あるからだ。
- まずカメラのwi-fiに接続
- つぎにカメラのカードにアクセス
- そこでファイルをダウンロード
- 日付別のフォルダーを毎日作ってそこにファイルをコピーする
作り方がわからずディスカッションフォーラムで質問した。AppleScriptはやり方が少し特殊で、最初にどんなメニュー項目があるかを調べてからコーディングしなければならないらしい。自分の場合wifiメニューはメニューバーの6番目のアイテムに当たるのだが一つ一つ当たってゆくのである。
every UI element whose name contains のように英語化してしまったために構文がわかりにくくなっている。これはPQI Air CardIIというwi-fiがあったら見つけてきてリストに入れてくれという意味だ。UI上の階層をたどって行き、それをクリックしたり命令を伝えたりすることになる。
AppleScriptには文献が少ない。OSのバージョンによって仕様も少しづつ変わっているようだ。文献が少なくコミュニティもないことが普及が進まなかった原因の一つなのかもしれない。
このスクリプトはOS10.5.8で動作した。
tell application "System Events" tell process "SystemUIServer" tell menu bar 1 tell menu bar item 6 click delay 2 tell menu 1 set myList to every UI element whose name contains "PQI Air card II" set number_of_items to count (myList) if (number_of_items = 0) then click "[name of original wi-fi]" else click menu item "PQI Air card II" delay 5 tell application "Finder" activate "Finder" mount volume "ftp://192.168.1.1" delay 5 open ("Volumes/192.168.1.1/sd/DCIM" as POSIX file) end tell end if end tell end tell end tell end tell end tell