Microsoft 365

Power Automate Desktop サンプル「ごみ箱を空にする」のつくりかた

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 アカウントでサインインしてください。

image 9
3. フローの作成

3.1. アクションの追加

サインインがしたら、画面左上の 「新しいフロー」をクリックします。アクションペインから「システム」→「ごみ箱を空にする」、「日時」→「現在の日時を取得します」、「ファイル」→「テキストをファイルに書き込みます」アクションをそれぞれ追加してください。

「テキストをファイルに書き込みます」アクションでは、「現在の日時を取得します」アクションで生成された「CurrentDateTime」変数と「ごみ箱を空にしました」というテキストを組み合わせて、ログを出力するよう設定します。

image 4

この内容で保存します。

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

image 10

3.2. 条件の追加

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

image

image 1


Power Automate Desktop はコードを書かずに、こうしたメッセージボックスも表示させることができます。だいぶシステムらしい作りになってきましたが、もう少し追加設計が必要です。

アクションペインの「条件」から「If」ブロックを選択します。

image 2


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

下画像のようになりました。これで保存して実行してみますが…ごみ箱が空になりません。

image 5


こうした場合、どこで躓いているのかを見極める為に、通しではなく、ひとつずつアクションを実行するようにします。

編集ペインの「アクションごとに実行」をクリックして、動作をステップ毎に確認してゆきます。

image 6


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

「If」ブロックを下記のように修正と、フローが意図通りに動作するようになります。

image 7

フロー変数について

Power Automate Desktop では、一部のアクションを配置すると、後続のアクションに利用できるフロー変数が自動的に生成されます。例えば、この記事で利用した「日時を取得します」アクションの「CurrentDateTime」変数や「メッセージを表示」アクションの「ButtonPressed」変数もフロー変数のひとつです。

一方、「ごみ箱を空にする」アクションはフロー変数は生成しません。そのため「ごみ箱にどんなファイルが存在するか」「ごみ箱にある何件のファイルを削除したのか」など、より詳細な情報をログ出力したい場合には、別のアクションを組み合わせて工夫する必要があります。