Power Automate Desktop サンプル「ごみ箱を空にする」のつくりかた
2021.05.18
Power Automate Desktop とは
Power Automate Desktop は2020年に Microsoft がリリースした RPA ツールです。直感的な操作で、日々のルーチン業務を自動化することができます。さらに、2021年3月に Windows 10 ユーザーを対象に無償での提供が開始されました。
この記事では、Power Automate Desktop を活用して「ごみ箱を空にして、ログをテキストファイルに出力する」簡単なフローをデザインしてみたいと思います。なお、クラウドフローは利用せず、無償版だけで作成できます。
前提条件
フローの設計にあたり、次の二点が必要です。
・Windows 10
・Microsoftアカウント(個人のアカウント、職場または学校のアカウント)
作成手順
1. Power Automate Desktop のインストール
下記URLの「無料でダウンロード」から、Power Automate Desktop のインストーラーをダウンロードしてください。
https://flow.microsoft.com/ja-jp/desktop/
2 . Microsoftアカウントでサインイン
インストーラーを起動します。インストールが完了したら、用意した Microsoft アカウントでサインインしてください。

3. フローの作成
3.1. アクションの追加
サインインがしたら、画面左上の 「新しいフロー」をクリックします。アクションペインから「システム」→「ごみ箱を空にする」、「日時」→「現在の日時を取得します」、「ファイル」→「テキストをファイルに書き込みます」アクションをそれぞれ追加してください。
「テキストをファイルに書き込みます」アクションでは、「現在の日時を取得します」アクションで生成された「CurrentDateTime」変数と「ごみ箱を空にしました」というテキストを組み合わせて、ログを出力するよう設定します。

この内容で保存します。
「実行」を押下すると、ごみ箱が空になり、テキストファイルに実行ログが記述されます。

3.2. 条件の追加
このままでもフローとして利用できますが、意図しない操作を防ぐためにも、実行前に警告メッセージが表示された方が良いでしょう。「メッセージ」から「メッセージを表示」アクションを追加します。


Power Automate Desktop はコードを書かずに、こうしたメッセージボックスも表示させることができます。だいぶシステムらしい作りになってきましたが、もう少し追加設計が必要です。
アクションペインの「条件」から「If」ブロックを選択します。

メッセージボックスで「はい」をクリックすると、ごみ箱を空にしてログを記録するようにしたいため、「If」ブロックで「ButtonPressd」変数(メッセージボックスに入力した内容を格納する変数)が「はい」と等しい時に「ごみ箱を空にする」後続のアクションを実行するよう、アクションをドラッグ&ドロップしていきます。
下画像のようになりました。これで保存して実行してみますが…ごみ箱が空になりません。

こうした場合、どこで躓いているのかを見極める為に、通しではなく、ひとつずつアクションを実行するようにします。
編集ペインの「アクションごとに実行」をクリックして、動作をステップ毎に確認してゆきます。

メッセージボックスで「はい」をクリックした時点(ステップ2)で画面右の変数ペインを見ると、生成された「ButtonPressed」変数の中身が「Yes」であることがわかります。「If」ブロックの条件は「ButtonPressed の中身が “はい” であるならごみ箱を空にする」と設定していますから、ここが問題であることが判明しました。
「If」ブロックを下記のように修正と、フローが意図通りに動作するようになります。

フロー変数について
Power Automate Desktop では、一部のアクションを配置すると、後続のアクションに利用できるフロー変数が自動的に生成されます。例えば、この記事で利用した「日時を取得します」アクションの「CurrentDateTime」変数や「メッセージを表示」アクションの「ButtonPressed」変数もフロー変数のひとつです。
一方、「ごみ箱を空にする」アクションはフロー変数は生成しません。そのため「ごみ箱にどんなファイルが存在するか」「ごみ箱にある何件のファイルを削除したのか」など、より詳細な情報をログ出力したい場合には、別のアクションを組み合わせて工夫する必要があります。