【物語】
その日、僕たちの部署は浮き足立っていた。なぜなら、美人で最強に仕事ができる太田部長に新しいパソコンが支給されたのだ。それだけであれば、「良いなぁ」くらいで終わっていたニュースなのだが、なんと、そのパソコンには、最初からWindows11が搭載されていたのだ!
マイクロソフトは、Windows10をリリースした際、それが最後のOSだと言っていた。しかし、去年2021年10月にWindows11をリリースした。僕はすぐに試してみたかったのだが、我が社では慎重派が多いため、しばらくWindows11にはアップデートせずに使うことになっていたため、太田部長のパソコンが、我が社第一号のWindows11マシンなのだ。パソコン好きな社員が休みごとに彼女の席にやって来て、Windows11の使い勝手を尋ねている。しかし、太田部長(なお僕は個人的に「太田先輩」と呼んでいる)の回答はみんなを困らせるものだった。
営業部の星野さん「太田さん、Windows11良いですねー。使い勝手はどうですか?」
太田先輩「そうね、強いて言うなら、Windows11から、デスクトップ向けのPower Automateが標準搭載になったのよ。セキュリティでバッチファイルやWSHを気軽に実行できない昨今、Power Automateがオフィス自動化の鍵になりそうね。」
その答えに多くの社員はポカーンとしていたけれど、美人の太田部長に憧れる我が経理部の面々は大きくうなずいていた。そもそも、太田部長は、最近、デスクトップ用のPower Automateに夢中になっているのだ。
そもそも、Power Automateとは、マイクロソフトが開発している作業の自動化のためのツールで、プログラミングをほとんどしないで作業を自動化する「ローコード」と呼ばれるツールだ。Windows 11には、デスクトップ向けのPower Automateが最初からインストールされている。しかも、現在、Windows 10でも無料でインストールして使うことができるのだ。(より詳しくはこちらを参考に。)
太田部長はそのニュースを見てから、ずっとPower Automateでいろいろな業務を自動化している。そして、太田部長が作ったツールを活用している我が部署では、既にPower Automateで多くの業務を自動化していた。
僕も早速、自分のWindows10にPower Automateをインストールし、いろいろ作っている。そして、最近、我が部署で流行っているのが、このツールを使って、クリップボードの拡張ツールを作るというものだった。
Power Automateを使うと、クリップボードにコピーされているテキストを取得したり設定したりが簡単にできるのだ。これを利用して、WordやExcelで作業をしている時に、特定のキーワードをコピーすると、何かの処理を実行したり、別の文字に書き換えたりということが可能になる。
例えば、「@@今日」と入力して、そのテキストをコピーすると、実際の日付にクリップボードを書き換えてくれるとか、「@太田部長にメール:こんにちは」と入力してコピーすると、メールソフトのOutlookを起動して、太田部長宛に「こんにちは」というメールを送信するという自動処理が可能になる。
あまりにも簡単に面白いツールが作れるので、僕は社内Wikiに、Power Automateによるクリップボードツールの特設ページを作って、みんなで共有することにした。憧れの太田先輩も僕の作ったツールを使ってくれているようだ。かなり嬉しい。
しかし、僕はこれに味をしめて調子に乗ってしまった。クリップボードにコピーしたテキストを全てファイルに保存するツールを作って、得意になってみんなに自慢して回っていた。
何人かは苦笑いしつつも「すごいね」と言ってくれたのだが、辛口の佐藤先輩はズバッと言い放った。
「それわざわざ自分で作らなくてもフリーソフトであるよ。」
確かに。それらのソフトはPower Automateよりも、省メモリで動きも良く高機能だ。僕は何も言えなくなってしまった。とは言え、既にあるツールよりも自分で作ったものの方が愛着がわくもの。気にせず使っていこう。
【プログラム】
本連載では、今回から時々、太田先輩や主人公の田中君がはまっているデスクトップ向けPower Automateを使って便利なツールを作っていく予定です。
Windows 11では、デスクトップ向けPower Automateが最初からインストールされています。Windows 10を使っている場合には、最初にデスクトップ向けPower Automate (旧: Power Automate for Desktop)をインストールします。先月より、Microsoft Storeからインストールできるようになりました。
Power Automateを起動すると、Microsoftアカウントでサインインする必要があります。サインインしてはじめて、Power Automateを使えるようになります。
Power Automateでは、一つの自動作業を行うプロジェクトを「フロー」と呼びます。これは、Excelで言えば一つのブック(ファイル)に相当するものと考えると良いでしょう。そのため、Power Automate「新しいフロー」を作ることから始めることになります。
サインイン後すぐに出る「新しいフロー」のボタン、または、画面上にある「新しいフロー」のボタンをクリックして、フローを作成しましょう。すると、名前を入力する画面になるので「クリップボード」などとフローの名前を入力して「作成」ボタンを押します。
すると、次のようなフローの編集画面が表示されます。フローは複数のアクションから組み立てられます。画面左側にたくさんのアクションが用意されています。そのアクションを画面中央のキャンバスに貼り付けていくことで作業を自動化するのです。
クリップボードに現在日時をコピーするフローを作ろう
それでは、最初に、クリップボードに現在日時をコピーするフローを作ってみましょう。画面左側のアクションの一覧から、「日時 > 現在の日時を取得します」というアクションを探して、画面中央のキャンバスにドラッグ&ドロップします。
Power Automateではアクションを貼り付けると、そのアクションの設定ダイアログが表示されます。このアクションは、現在の日時を取得して、変数「CurrentDateTime」に値を保存するものです。アクションの設定の下方に「生成された変数 (CurrentDateTime)」というのが出ているので、この変数名を覚えておきます。生成される変数名を確認したら「保存」ボタンを押しましょう。
次に、クリップボードに現在時刻を書き込むため、画面左側のアクションの一覧から「クリップボード > クリップボードテキストを設定」を選んで、キャンバスに貼り付けましょう。なお、次の画像のように、画面左上の検索ボックスにキーワードを入力して探すことも可能です。
すると、先ほどと同様に設定ダイアログが表示されます。ここでは、クリップボードに設定したいテキストを入力します。「%CurrentDateTime%」と入力しましょう。こうすると、先ほどの手順で取得した現在日時をクリップボードにコピーできます。
なお、変数名はPower Automateに全て記憶されているので、入力ボックスの右側にある{x}というボタンを押すと、変数の一覧から%CurrentDateTime%を選ぶことができます。
以上でフローは完成です。画面上部にあるアイコン[▷]のボタンを押してみましょう。すると、フローが上から下へと実行されます。これによって、クリップボードに現在日時が設定されます。
メモ帳を起動して、メニューから[編集 > 貼り付け]を実行すると、クリップボードが書き換わり、現在日時が設定されているのを確認できるでしょう。
クリップボードを監視して書き換えるようにしよう
そして、物語に出てきた「@@今日」とクリップボードにコピーすると、現在日時にクリップボードを書き換えるフローを作るには、アクションを次のように並べます。
フローを実行すると、クリップボードの監視が始まります。1秒に1回クリップボードを確認し、内容が「@@今日」の場合に、現在日時にクリップボードを書き換えます。
なお、Power Automateでは、アクションを一覧から選んで貼り付けるほか、『Robin』と呼ばれるプログラムコードをキャンバスに貼り付けることでも、フローを組み立てることができます。こちらからRobinのコードをコピーして、Power Automateのキャンバスをクリックした後、貼り付けると、上記のアクションが挿入されます。
太田先輩がはまった、Power Automateはプログラムを書くことなく、作業の自動化を可能にするツールです。ぜひ、皆さんも試してみてください。
自由型プログラマー。くじらはんどにて、プログラミングの楽しさを伝える活動をしている。代表作に、日本語プログラミング言語「なでしこ」 、テキスト音楽「サクラ」など。2001年オンラインソフト大賞入賞、2004年度未踏ユース スーパークリエータ認定、2010年 OSS貢献者章受賞。技術書も多く執筆している。直近では、「シゴトがはかどる Python自動処理の教科書(マイナビ出版)」「すぐに使える!業務で実践できる! PythonによるAI・機械学習・深層学習アプリのつくり方 TensorFlow2対応(ソシム)」「マンガでざっくり学ぶPython(マイナビ出版)」など。