「フローの簡略化・自動化」と聞くと心が躍る私(@saosaoyamayama)です。
私は今の仕事に就く以前、「自動化=プログラミングができる方々の特権」、一般人の手が届かない魔法のように考えていました。しかしGoogle Apps Scriptに出会い「パンピーでもラクできるんや!」と気付き、今は立派な素人自動化沼の住人です。
最近は「ノーコード・ローコードツール」が増えたので、多くの方が自動化・効率化に触れたり興味を持ったりするチャンスが増えたのではないでしょうか。
今回はMacの純正ノーコードツール「ショートカット.app」のお話です。尺の都合上、アプリの特徴と実例として「PDF画像化ショートカット」の作成方法を書いておこうと思います。
私が作成したショートカットはまだまだ数が少ないので、もう少し増えたらレシピをご紹介したいなと考えておりまーす!
こんな人の役に立てたらうれしい
「ノーコード」に騙されて自動化を断念した経験をお持ちの方。MacのAutomatorで挫折した方。自動化・効率化に興味があってMacユーザーの方。
Contents
ショートカット.appはMacOS・iOSの自動化ツール
ショートカット.appはMacやiOS端末にプリインストールされています。まずはアプリを開いてみましょう。ひな祭りの菱餅がアバンギャルドになったようなアイコンです。
アプリを立ち上げたら、左サイドバーから「ギャラリー」を覗いてみてください。私はここでつまずきました。
というのも、ピンとこないショートカットばかりで、「こんなショートカット使わないんだけど!」と思ってしまったんです。
ただ、何となく「工程の省略・短縮」ができそうだってことはわかると思います。
後に説明する「アクション」を見ると、より具体的にイメージできるのでご安心を。
まずはこの辺に触れておきます。なお、以降はMac中心のお話です。
たとえばどんなことができるのか
いろいろできます。画像内に2つ挙げましたが、ごく一部です。
ショートカットのレシピを公開しているサイトを徘徊すると、時々「それ、できるの?!」みたいなアプリを作っている方を見かけます。
上の2つではアプリの良さがまったく伝わらないので、以下にもいくつか挙げてみました。「★」は私が使っているショートカットです。
- 仕事準備
- 仕事に関係するアプリだけ残して他のアプリは終了
- ディスプレイ操作
- 特定のアプリで画面分割
- 画像★
- 画像を指定サイズに縮小
- OCR
- PDFからテキストを取得してメモにペースト
- メール★
- 特定フレーズを含むメッセージに自動返信(家族の「帰ります」に「はい」で返す怠惰なアプリ)
- 生活
- 配達物の番号から配達物を追跡(これスゴいと思った)
- ネットワーク★
- リモートデスクトップ接続
ショートカット.appはMac純正なので、同じく純正のカレンダー・リマインダーなどですぐに使えるアクション(動作パターン?)が豊富です。またファイル関係はもちろん、ネットワーク周りのショートカットもあります。
最初は純正アプリ用のショートカットを1つ作ってみると、ショートカット.appの全体像が見えてくると思います。
とっかかりとして何をするといいか
ギャラリーを見てもピンと来ない方は、アクションを眺めてみましょう。
ショートカット.appの「Starter Shortcuts」を開き、上部の「+」をクリック。右サイドバー内の「カテゴリー>すべてのアクション」で全アクションが確認できます。
またアプリごとのアクションが知りたいなら、右サイドバーの「Apps」からどうぞ。
気になるアクションは左のスペースにドラッグ&ドロップしてみましょう。「表示を増やす」をクリックすると、どんな値がセットできるのか確認できます。
ざっと目を通すだけで「そんなこともできるんかい!」と興味が湧くはず。
Automatorとの違いは何か
MacにはAutomatorという優秀な自動化アプリがあります。こちらもノーコードツールであり、もちろんMac純正。ショートカット.appが「原宿」ならAutomatorは「有楽町」って感じです(?)。
私はAutomator・ショートカット.appどちらも使っていますが、明確な違いを語れるほどのスキルがありません。現時点ではAutomatorのほうが自由度が高く、痒いところに手が届きます。ただ、見た目が有楽町とか新橋なイメージ。
現在は2つの類似アプリが共存しているわけですが、今後はショートカット.appに一本化される見通しです(WWDC21)。
そのため、今からショートカットを作るならショートカット.appを選んだほうがよいかもしれません。
もしもAutomatorでファイルを作ったとしても、ファイル(.workflow)はそのままショートカット.appに移植できるようになっているので問題はありません。
しかし私が作ったワークフローの中には「そのアクションはショートカット.appで使えませんよ」と拒否られてしまったものがありました。
ちなみに「マウスの動きを記録して自動化」できるのはAutomatorだけっぽいです(ショートカット.appにあったら教えてください)。私は非純正アプリの自動化で活用していたので、ショートカット.appにも実装されるとよいなぁと思っています。
MacOSとiOSでショートカットを共有できるのか
そもそもショートカットはiOSへの実装が先でしたよね!? ということでショートカット.appで作成したショートカットは、Mac OSとiOSで共有できますよ〜!
Macショートカット.appの「i」ボタンから「共有シートに表示」にチェックを入れると、iOSショートカット.appの「共有シート」に当該ショートカットが表示されます。
なかなか同期しない場合は、iOS端末の「iCloud設定>iCloudを使用しているアプリ>ショートカット」のトグルをOFF→ONにすると読み込んでくれると思います。
なお、Macでショートカットを作成すると「Finderから〜」とか「書類フォルダに〜」とか、PC環境をベースにしてしまいがちです。こうしたショートカットをiOSで実行すると「はい無理〜」と言われてしまうのでご注意を。
フォルダを指定するならクラウドがベストですね。
PDFの画像化ショートカットを作ってみよう
それでは例として、PDFをPNGに変換するショートカットを作ってみます。実現したい流れは以下のとおりです。
- Finderで変換したいPDFを選択
- そのファイルがPDFかどうか判定
- PDFならPNGに変換
- 「PDF-PNG変換」というフォルダに保存
- PDFでない時は「PDFではないようだ!」とアラートを表示
PDFをPNGに変換し、指定フォルダに保存します。読み込んだファイルがPDF以外だとアラートが出る仕組みです。
ファイルの取得とテスト
画像化したいPDFをFinder上で選択しておき、ショートカットさんに取得させる、というのが最初の動作ですね。
ということで右サイドバーから[Finder項目からファイルを選択]を画面中央にドラッグ&ドロップします。これだけ。
本当にこれだけでファイルを認識してくれるのだろうか、と不安な方はテストしてみましょう。
画像の右側、2枚のPDFファイルを選択した状態でショートカット.appに戻り、上部の[▶]をクリックします。そうすると、アクションの下に先ほど選択したPDFファイルが表示されました(画像ではPDFが1枚しか写っていませんが、ページャーで2枚目のPDFが表示できます)。
こんなふうにアクションのテストをしながら進めていくと大失敗が防げます。
[Finder項目からファイルを選択]と[ファイルを選択]は違います。
[Finder項目からファイルを選択]は、あらかじめ選択しておいたファイルを読み込んでもらうアクション。
[ファイルを選択]はショートカット開始後にファイル選択画面が表示されるアクションです。
IF文の条件設定
[IF文]は条件分岐のアクションです。ちょっと取っ付きにくい印象ですが、「もし晴れていたら帽子を持つ、それ以外なら持たない」のようにシンプルに考えましょう。
- 条件:選択したファイルの拡張子がPDF
- TRUE:(PDFだったら)ファイルをPNGに変換
- FALSE:(PDF以外なら)アラート表示
これを1つずつ設定しますよ〜。
- [IF文]をドロップ
- 青文字の[ファイル]を[ファイル拡張子]に変更
- 青文字の[条件]を[が次を含む]に変更
- 青文字の[テキスト]に[pdf]を入力
まずは[IF文]のアクションをドロップしましょう。自動的に3つのアクションに分裂してビックリです。
[IF文]三兄弟の長男は、初期状態だと[もしファイルが条件ならば]になっています。青文字はクリックで変更できるので、変更しますよ〜。
まず青文字[ファイル]をクリックすると、日付や名前などの選択肢が表示されます。その中から[ファイル拡張子]を選択しましょう。
続いて[条件]は[が次を含む]をチョイスします。すると右隣に[テキスト]項目が増えるはず。ココをクリックして、[pdf]と記入しましょう。
[もしファイルが条件ならば]というアクションが[もしファイル拡張子が次を含む pdfならば]になりました!
なお、ファイル拡張子の条件設定で「次と一致→pdf」にするとうまくいかないことがあったので「次を含む→pdf」にしました。
なお、アクション上の青文字を編集する時は必ずアクションの左から設定していくのがポイントです。左を設定すると、次(右)の青文字の中身が変わるんですよね。
たとえば左を[ファイルサイズ]にしたら、右はサイズ・数字に適した選択肢に切り替わります。
ファイルサイズの条件として[次の範囲内]を設定したら、2つの数値が指定できるようになる。[次より大きい]だと1つの数値が指定できる。だから必ず左から設定するわけです。
IF文が正の場合のアクション
- [イメージを変換][ファイルを保存]をドロップ
- 画像形式をPNGに変更
- 画像の保存先を指定
IF文三兄弟の長男の下に、[イメージを変換][ファイルを保存]の2アクションをドロップ。すると自動的にインデントがかかります。見やすいですね〜。
ドロップした瞬間、アクションの文字列が変化したことにお気付きでしょうか。
- [イメージを変換]→[ファイルをJPEGに変換]
- [ファイルを保存]→[変換済みのイメージを保存]
このアプリは、上流のアクション設定を考慮して、下流のアクションに適切な変数名を自動的にセットしてくれるんですね〜。天才。
その代わり、下流の変数を下手にいじると上流がおかしなことになるので、ご注意くださいませ。
画像形式を変更
今回はJPEGではなくPNGに変換したいので、青文字をクリックしてPNGに変更します。また「表示を増やす」をクリックして、「メタデータを〜」のチェックを外しました。この辺はお好きなようにどうぞ。
なお[ファイル拡張子をPNGに変換]ではありません。上流で選択したファイルを変換する、という意味なので[ファイルをPNGに変換]でOKです。
保存先を指定
続いては保存です。「表示を増やす」をクリックして詳細を確認してみたところ、ファイルの保存先を毎回尋ねることになっていました。これは鬱陶しいので、保存場所を指定しましょう。
「毎回尋ねる」のチェックを外すと保存場所が指定できるようになります。今回は「PDF-PNG変換」というフォルダを指定しました。
なおiOSでもショートカットを使うなら、保存場所はiCloudや他のクラウド内にしておくのが無難です。
IFを満たさない場合のアクション
- [アラートを表示]をドロップ
- アラート内容を入力
- キャンセルボタンの有無を設定
続いてはIF文アクション次男[その他の場合]の下に、[アラートを表示]アクションを挿入しました。
アラートの初期設定は[このまま続けますか?]ですね。今回は[PDFではないようだ!]に書き換え、キャンセルボタンを表示するようにしました。
これでPDF→PNG変換ショートカットは完成したはず! なお、ショートカットは自動保存されています。
動かしてみよう!
作ったショートカットを動かしてみましょう!
Finder上でPDFファイルを2つ選択した状態で、ショートカットを発動させます。
こんな感じで、多少お時間を要したものの、うまくいきました。
今回チョイスしたPDF、実は複数ページをまとめたPDFでした。でもこれといった指定ナシでも1ページずつPNGに変換してくれましたね〜!
複数ファイル選択・複数ページ変換がワンクリックでできるって、かなり便利なショートカットだと思います。
続いて、PDFではなくPNGを選択した状態でショートカットを発動してみました。
「PDFではないようだ!」が何だか腹立たしいですけどね。
もしもデフォルトの「続けますか?」が表示されても何が起きたかわかりませんから、これぐらい具体的なアラートがちょうどよい。
「PDFかどうかの判定」はショートカット内の上流に位置しているので、アラートの発動がめちゃくちゃ早かったですね!
その他の設定
こちらは主に共有設定です。「共有シート」周りについては説明済みなので省きます……。
「メニューバーにピン固定」にチェックを入れると、Macメニューバーにショートカット.appのアイコンが追加されます。ここをクリックして、一覧からショートカットを発動できるようにする設定です。
「クイックアクションとして使用」はその名のとおり。クイックアクション内にショートカットが追加されます。
その他「Finder」や「サービスメニュー」からショートカットが発動可能なので、この設定自体が効率化に寄与しそうです。
ショートカット.appの今後に期待
「あれもできるかも」「これもできるかも」でいろいろ試している最中です。とりあえず、PDFからテキストを抽出するショートカットはイマイチでした。
いわゆる「文章」からなるPDFなら問題ないと思います。
たとえば表組みしてある請求書は、項目名と項目内容があちこちに散らばってしまいました。必要な項目だけ正規表現で抜き出せたものの、作成にあまりにも時間がかかりそうだったので断念。
また同じくPDFからのテキスト抽出で、Amazonの請求書は文字化けしてしまいました。
その他、まだまだ発展途上っぽいショートカット.appですが、使いこなしている人はほんっとーにスゴいの作っていますし、今後アクションがもっと充実する可能性もあります。
今後に期待しつつ、ショートカットが増えてきたらまた別の記事でレシピを紹介できればと思っています。