AppleScriptをmenubarから実行できるようにする@macOS Mojave


概要

色々あってAppleScriptを動かしたくなったので備忘録。アプリケーション登録してダブルクリックするとかターミナルから起動とかでも良かったのですが、簡単に起動できることを最優先にしたいってことでメニューバーから起動できるようにしてみます。

最終的にはこんな感じ。

メニューバーにScript menuを追加(アクティブ化)する

調べたら環境設定からできるって書いてあったけどMojaveだとメニューの項目としてなかったのでターミナルから表示されるようにする。

open '/System/Library/CoreServices/Script Menu.app'

これでメニュー自体は表示されて標準で用意されているものだけが表示される。

AppleScriptを書く

適当にディレクトリ(お試しなんでmyAppleScriptsとかでOK)作って標準搭載されているスクリプトエディタを起動する。新規作成で以下のコードを記載して実行してみるとダイアログでハロワが表示される。表示されなければ何かがおかしいから自力で解決して。

display dialog "hello world"

動くことが確認できたら「hello world」とかそんな名前で保存。

Script menuに追加

Script menuの「スクリプトフォルダを開く」->「ユーザ・スクリプト・フォルダを開く」をクリック。Finderが表示されるので、ここに先程作成したディレクトリ(myAppleScript)丸ごとコピー。そうするとscript menuに勝手に追加される。便利。

後は上の画像のように階層を追って「hello world」をクリックすればダイアログが表示される。便利。

おまけ

各アプリケーション(TeamsやSlack)単位でScriptファイルの格納場所が違うので、Teamsでしか実行したくない(されたくない)とかSlackでしか実行されたくないとかその辺の切り分けが簡単に行える。コンピュータ・スクリプト・フォルダは初期セット(ColorSyncとかFont Bookとか)と同じセクションになる。

もちろんAppleScriptから他のファイルをキックすることもできるので、AppleScriptには利便性だけ求めて実装は他言語とかでも良いと思う。環境依存するので汎用性(チーム内で使うとか)は無くなるけど。

おわり

AppleScript初心者なのでどこまでできるとかはまだあまり見えてないけどmac上で普段手で行ってるルーチンをScript化しちゃえば色々と楽になるし忘れてたとかも防止できそうな気がする。気がしてるだけかもしれないが。