本連載35回目でiOSのショートカットアプリについて紹介しましたが、macOSでも同じアプリが利用できます。日々の作業を自動化できるmacOSのショートカットアプリについて紹介し、プログラミングする方法を紹介します。

macOSでAutomatorに代わるショートカットアプリとは?

今でもmacOSには処理の自動化が可能な「Automator」というアプリが備わっています。このAutomatorはプログラムを記述することなく処理の自動化を実現するアプリでした。画面左側にある「アクション」を選んで、画面右側のフローに貼り付けていくことで一連の流れ(ワークフロー)を自動で実行することができました。これがとても便利で、筆者もよく利用していました。

  • macOSの作業を自動化できるAutomator

    macOSの作業を自動化できるAutomator

その後、iPhone/iPadで使える「ショートカット」というアプリがiOS12で登場しました。筆者は「AutomatorのiOS版か」と思っていたのですが、その後、macOS Monterey以降ではmacOSでも「ショートカット」アプリが使えるようになりました。iOSとmacOSの両方で使えるため利便性がよく、macOSで組み立てをして、iPhoneやApple Watchで動かすということも可能です。

  • iOS/macOSで使えるショートカットアプリ

    iOS/macOSで使えるショートカットアプリ

ショートカットアプリで実現可能なこと

ショートカットアプリを使うとさまざまな処理が自動化できます。例えば、カレンダーに登録してある今日の予定を取得したり、現在地の天気予報を取得したりして、それらをまとめてメールすることができます。記念日までの残り日数を読み上げしたり、音声入力したテキストをリマインダーに登録したり、選択した画像に書かれている文字を読み取ってメモに保存したりといった処理が可能です。

また、macOSではシェルスクリプトを実行するアクションが用意されているので、ショートカットに対応したアプリとPythonのスクリプトと組み合わせて処理することもできます。

なお、ショートカットアプリを開いて画面左側にある「ギャラリー」を選ぶと便利なショートカットの一覧が表示されます。このギャラリーにあるショートカットを確認することで、どんなことが可能なのか確認できます。

  • ギャラリーから好きなものを選ぶことができる

    ギャラリーから好きなものを選ぶことができる

それから、macOSの作業を効率化する上で役立つ点ですが、作成したショートカットを、Siriを使って実行することもできますし、任意のキーの組合せ(ショートカットキー)で実行することもできます。そのため、クリップボードと組み合わせれば、データ入力などの作業を大幅に効率化できます。

1分でできるショートカット入門

本連載35回目でiPadでの操作方法を紹介していますが、ここでは、macOSを利用して作業する方法を解説します。

ショートカットアプリを起動するには、macOSの画面右上にある「Spotlight」(虫眼鏡のアイコン)を開き「ショートカット.app」と入力します。あるいは、Finderのアプリケーションを開くと、一覧の中に「ショートカット.app」があります。

  • 「ショートカット.app」はアプリケーション一覧にある

    「ショートカット.app」はアプリケーション一覧にある

ここでは、例として、音声入力で入力した内容をクリップボードにコピーするというショートカットを作ってみましょう。

ショートカットを起動したら、画面上部にあるメニューから「ファイル > 新規ショートカット」をクリックして新規ショートカットを作成しましょう。

ショートカットの画面は左側がワークフローの編集画面であり、右側に追加できるアクションの一覧が並んでいます。それで、画面右側から追加したいアクションを選んで、画面左側にドラッグ&ドロップで追加していきます。基本的には実行したいアクションを順番に並べていけば、ショートカットが完成します。

  • ショートカットの基本的な使い方

    ショートカットの基本的な使い方

ショートカットでは、最初からたくさんのアクションが登録されており、一覧から探すのは難しいものです。画面右側の上部にある検索ボックスでアクションを探すと便利です。

そこで、最初に「音声入力」を検索して「テキストを音声入力」というアクションを探して、画面左側のキャンバスにドラッグ&ドロップで貼り付けます。続いて「クリップボード」を検索して「クリップボードにコピー」というアクションをキャンバスに貼り付けます。すると、次のようなアクションが完成します。

  • 簡単なショートカットを作ったところ

    簡単なショートカットを作ったところ

最後に画面上部に「ボイスクリップ」などの適当な名前をつけた後で、実行してみましょう。画面右上の再生ボタン「▶」を押すと、上から順番にアクションが実行されます。メモアプリを起動して、クリップボードの内容を貼り付けてみると、入力したテキストがクリップボードにコピーされているのを確認できるでしょう。分かりやすい名前を付けておくと、Siriから直接実行することができます。

ショートカットで変数の使い方

ショートカットでは、アクションを実行すると、その後のアクションから、その実行結果を変数として参照できるようになっています。例えば、音声入力で連絡先を検索して、その連絡先のメールアドレスをクリップボードにコピーするというショートカットを次の手順で作ってみましょう。

- (1)「テキストを音声入力」アクションを貼り付け
- (2)「連絡先を検索」アクションを貼り付け
- (3) 上記(2)のアクションで「すべての連絡先を検索」にして「+ フィルタを追加」ボタンをクリック
- (4) 下記の図を参考にして、上記(2)のアクションのフィルタで「名前」が次と等しいとして「すべて」を右クリックして「変数を挿入 > 音声入力されたテキスト」をクリック
  • 変数が選択できる

    変数が選択できる

- (5) 「連絡先の詳細を取得」アクションを貼り付け
- (6) 上記(5)のアクションを『「メールアドレス」を「連絡先」から取得』となるように変更
- (7) 「クリップボードにコピー」アクションを貼り付け

下記の図は、ショートカットを完成させたところです。実行すると、音声入力の画面が出てきてきます。連絡先に登録している人物の名前を言うと、連絡先を検索してメールアドレスをクリップボードにコピーします。

  • 完成したショートカット

    完成したショートカット

ショートカットで再びFizzBuzz問題を解く

既に連載35回目でショートカットアプリでFizzBuzz問題に挑戦しているのですが、バージョンアップして、当時よりもスクリプト機能が充実しました。そこで、もう一度、ショートカットアプリでFizzBuzz問題を解いてみましょう。FizzBuzz問題とは次のようなものです。

1から100までの数を出力するプログラムを書いてください。ただし、3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」と表示してください。3と5の倍数の時は「FizzBuzz」と表示してください。

それでは挑戦してみましょう。利用するアクションは次のものです。

・「テキスト」…FizzBuzz/Fizz/Buzzなどのテキストを変数に代入するために利用
・「変数を設定」…実行結果を保持するのに利用
・「If文」…条件判定に利用
・「テキストを結合」…最終的に実行結果をまとめるのに利用
・「結果を表示」…実行結果を表示するのに利用
・「コメント」…アクションの間に入れるち処理が分かりやすくなる

これらのアクションを次のように配置することでFizzBuzz問題を解くプログラム(ショートカット)を作成できます。

  • FizzBuzzを作ったところ

    FizzBuzzを作ったところ

これを実行してみると、次のようにFizzBuzz問題の結果が表示されます。

  • FizzBuzzを実行したところ

    FizzBuzzを実行したところ

まとめ

このように、スクリプト機能も充実しているため、かなり本格的な処理も作成することができます。とは言え、Pythonで書けば5分以内で作成できるプログラムも、ショートカットで作るなら15分以上かかってしまうことでしょう。ビジュアル言語の限界です。そのため、あまり複雑な処理が必要な場合には、Pythonなどのプログラミング言語で作っておいて、それをショートカットのアクション「シェルスクリプトを実行」で実行すると良いでしょう。

筆者はPythonで書いたプログラムを、敢えてショートカットから実行できるように設定しています。そうすることで、任意のショートカットキーでプログラムを実行したり、Siriからプログラムが起動したりできるからです。macOSのショートカットアプリを活用するなら、大いに業務の自動化に役立ちます。試してみてください。

自由型プログラマー。くじらはんどにて、プログラミングの楽しさを伝える活動をしている。代表作に、日本語プログラミング言語「なでしこ」 、テキスト音楽「サクラ」など。2001年オンラインソフト大賞入賞、2004年度未踏ユース スーパークリエータ認定、2010年 OSS貢献者章受賞。技術書も多く執筆している。直近では、「実践力をアップする Pythonによるアルゴリズムの教科書(マイナビ出版)」「シゴトがはかどる Python自動処理の教科書(マイナビ出版)」「すぐに使える!業務で実践できる! PythonによるAI・機械学習・深層学習アプリのつくり方 TensorFlow2対応(ソシム)」「マンガでざっくり学ぶPython(マイナビ出版)」など。