今回紹介するのは、マイクロソフトの「Power Automate for Desktop」です。本ツールはWindows上で動作し、マウス操作で作業を並べていくことで自動処理を実現します。今年3月より無料で使えるようになりました。また、Windows11には最初からインストールされています。変数や条件分岐や繰り返しなど基本的なプログラミング言語の機能を備えていることから本連載で紹介します。

Power Automate for Desktopとは

Power Automate for Desktop(以後、PADと略します)とは、マイクロソフトが開発している作業の自動化のためのツールです。PADの特徴は、高度な作業を人間に変わって行う自動化を指す「RPA」(Robotic Process Automation)や、プログラミングをほとんどしないで作業を自動化する「ローコード」と呼ばれるツールとして開発されている点です。ちなみに、Windows10以降のOSで無料で利用できます。

なお、本連載でプログラミング言語の一つして紹介するのには理由があります。繰り返しや条件分岐など基本的なフロー制御が可能で変数も利用できるため、これらを使うことにより、複雑な処理も実現可能です。

  • Power Automateはプログラミング言語の基本的なフロー制御が可能

    Power Automateはプログラミング言語の基本的なフロー制御が可能

また、PADはDesktopと謳われていることから分かるとおり、Windowsのデスクトップ上で動作します。ExcelをはじめWindows上で動作するアプリを自動操作できます。また、コピーなどのファイル処理や圧縮、暗号化なども可能です。

Power Automate for Desktopをインストールしよう

それでは、PADをインストールしてみましょう。インストールは、マイクロソフトの「デスクトップ向けPower Desktop」のWebサイトからダウンロードできます。なお、Windows 11には最初からインストールされています。Windows 10では「無料でダウンロードする」のリンクからダウンロードしてインストールします。Windows 11には最初からインストールされています。

一番簡単なフローを作ってみよう

インストールが完了したら、スタートメニューから[Power Automate > Power Automate]をクリックして起動しましょう。初回起動時には、Microsftアカウントの入力を求められます。

アカウントを入力すると次のような画面が表示されます。ここで、左上にある「+新しいフロー」のボタンをクリックしましょう。

  • Power Automateの最初の画面

    Power Automateの最初の画面

PADではプログラムの事を「フロー(流れ)」と呼びます。フローに名前を付けて[作成]ボタンをクリックしましょう。

  • フローの名前を入力しよう

    フローの名前を入力しよう

すると、以下のようなフローの編集画面が表示されます。画面左側にたくさんのアクションが並んでいます。ここのアクションから「メッセージボックス」を探しましょう。そして、メッセージボックスをクリックすると出てくる「メッセージを表示」をマウスでドラッグして、画面中央にあるキャンバスに貼り付けましょう。

  • 画面左から「メッセージを表示」を選んでドラッグしよう

    画面左から「メッセージを表示」を選んでドラッグしよう

すると、「メッセージ表示」というアクションの詳細が表示されるので、ここに次の画像のようなメッセージを入力しましょう。そして右下の「保存」ボタンをクリックします。

  • 表示するメッセージを入力

    表示するメッセージを入力

そして、画面上部にある実行ボタンを押すか、画面上部にあるメニューから[デバッグ > 実行]をクリックしましょう。すると、以下のようにフローが実行されます。

  • 実行ボタンを押してフローを実行しよう

    実行ボタンを押してフローを実行しよう

このように、画面の左側にあるアクションを選んで、キャンバスにドラッグすることで、フローを作成できます。

本連載恒例のFizzBuzz問題も実行可能なのか

さて、ここからが本題です。本連載では、必ずFizzBuzzのプログラムを作っています。PADを使ってFizzBuzzのプログラムを組むことができるでしょうか。

なお、FizzBuzz問題とは次のようなプログラムです。

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

結論から言うと、余裕でFizzBuzz問題も記述可能です。アクションから[条件 > If]や[ループ > Loop]を選んで使う事で、簡単にFizzBuzz問題を解くプログラムを作ることができます。

具体的には次のようなフローを組み立てましょう。

  • FizzBuzz問題を解くフロー

    FizzBuzz問題を解くフロー

プログラムを実行すると、ファイルダイアログが表示されます。ここで、保存ファイル名を指定します。すると、すごい勢いでカーソルが動き出します。フローの実行が完了すると、ファイルにFizzBuzzの結果が保存されます。メモ帳などで開くと次のように表示されます。

  • FizzBuzzフローを実行した結果

    FizzBuzzフローを実行した結果

まとめ

以上、今回はPower Automate for Desktopについて紹介しました。マウス操作でさまざまなアクションを選んで手軽にフローを構築して実行できます。しかも、変数や制御構文なども利用できますし、プログラミング言語の関数に相当する「サブフロー」という機能もあります。そのため、思ったよりも複雑な処理も実現できます。

そして、「スクリプト」というアクションが用意されており、PowerShellやDOSコマンド、VBScriptやJavaScriptを実行できます。PADに不足している機能を、このスクリプトで補うことができます。これを使えば大きくPADの可能性を広げられます。

基本的に、プログラマー以外の人に使ってもらうことを想定しているため難しくありません。プログラムの各要素をタイル(アクション)に置き換えただけですので、ちょっと触っていればすぐに使いこなすことができるでしょう。

もちろん、「マウス操作にイライラする」とか「PythonやVBAでプログラムを作った方が早い」と感じる人もいることでしょう。それでも、プログラマー以外の人でも使える点、Excelなどオフィス作業に特化した機能を手軽に利用できる点、調べたり深く考えたりしなくても使える点は、大きなメリットです。

加えて、Windows 11には標準で搭載されるため、今後、業務で利用する機会も増えることでしょう。プログラマー的には「嗜みの一つ」として軽く触っておくと良いでしょう。

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