コラム 「RPAの気になる話」

Microsoft Power Automate / Power Automate Desktopを使ってみました

2023.11.07

Power Automate for desktopは、Microsoftが提供するRPA(Robotic Process Automation)ツールの一つです。
例えば、マウスクリックやキーボード入力などの一連の操作を記録し、それを自動的に再生することで、定型的な作業を自動化したり、エラーを減らしたりすることが可能です。

本稿では、このPower Automate Desktopと同プランに含まれるPower Automateとはどのような製品か、それらを利用する上で気を付けるポイントは何か、についてご紹介できればと思います。
 

Power Automate Desktopとは?

はじまりはMicrosoftによるSoftmotiveの買収(2020/5/19)

Microsoft が従来提供していた自動化プロセス作成機能「Microsoft Flow」に、SoftmotiveのローコードRPA開発の機能とノウハウを取り入れたものがPower Automate Desktopです。これにより、「Microsoft Flow」は、Windowsを使う多くのユーザが業務を自動化できるRPA製品に生まれ変わりました(☞詳しくはこちら)。

  • 自動化プロセスをマウスクリックなどの直感的な操作で作成できるになった
  • レガシーシステムから最新のデスクトップアプリまで、幅広いサービスと連携した自動化プロセスを作成できるようになった

Power AutomateとPower Automate Desktopの違い

機能 Power Automate
(旧Microsoft Flow)
Power Automate Desktop for Windows 10
フロー クラウドフロー(4種類あり) デスクトップフロー
作成
  • ブラウザ上または、アプリ上(一部サービス)から直接作る
  • 多くのテンプレートを活用できる
  • 画面操作によりレコーディングしながら作る
  • デスクトップアプリ Power Automate Desktopのインストールが必要になる(☞インストール手順はこちら

フローとは自動化プロセスのことです。具体的には人がPCで行う操作を機械に記憶させた「ロボットの作業手順」のようなものです

Power Automate for desktopの特長

Power Automate for desktopの使用の特長をご紹介します。

①カンタンに扱える
複雑な機能等は省かれており、専門的な知識等を必要としません。そのため、これから作業の自動化に取り組んでいこうと検討しているユーザーにとっても扱いやすい機能となっています。

②無償で利用可能
Windows10以上をインストールしていれば無償で利用可能です。有償版よりは機能が絞られているものの、十分に業務に活用できるレベルです。

③Microsoft社のOfficeツールとの連携が容易
他のRPAツールと比較して、ExcelやOutlookなどとの連携機能が充実しています。比較的このような対応が可能と言えるでしょう。

クラウドフローとデスクトップフローは連携して使える

Power Automate Desktopを上手く活用する方法の一つが、クラウドフローからデスクトップフローの呼び出しです。最初に、クラウドフローとデスクトップフロー実行場所(自身のPC)の間を安全に接続するためのオンプレミスデータゲートウェイをインストールする必要があります(☞インストール手順はこちら

なお、この連携機能は、冒頭で触れた「Power Automate per user with attended RPA」では有償の機能にあたります(『Microsoft Power Apps, Microsoft Power Automate and Microsoft Power Virtual Agents Licensing Guide』より)。

クラウドフローは「○○(トリガー)したら△△(アクション)する」というかたちで処理を設定します。デスクトップフローを呼び出すには、アクションに [Power Automate Desktopで構築したフローを実行する] を設定します。

初めてデスクトップフローを呼び出す際は、接続情報の設定が必要になる

オンプレミスデータゲートウェイを選択し、Windowsのドメインアカウント、またはローカルアカウントを [ドメイン名とユーザー名] に、アカウントパスワードを [パスワード] に入力します。

接続情報の設定の後、呼び出すデスクトップフローと実行モードを選択します。デスクトップフローとクラウドフローの間で受け渡しする入出力変数を用意している場合、その値も設定します。

クラウドフローからデスクトップフローに連携するイメージ

この図は、クラウドフローから乗換ルート検索を行うデスクトップフローに[出発地][到着地]を渡し、デスクトップフローから受け取る最安値料金をメールで通知する流れを表しています。これを例にフローを作成してみます。

フロー間で変数をやり取りする

まずデスクトップフロー側で入力変数を2つ、出力変数を1つ作ります。

変数パネル [入出力変数] で ⊕ から変数を追加すると、次の編集画面が現れます。変数名は日本語を使用できませんので英語で命名します。クラウドフロー側で表示される [外部名] は、デスクトップフローがどのような処理をするかや、デスクトップフローにとって入力・出力どちらにあたるかを推測できる名前にすると分かりやすくなります。

完成したクラウドフロー

 

ライセンスによってPower Automateでできることが異なる

ここで、利用しているPower Automateのライセンスを確認してみましょう。

Power Automateのブラウザ上で Ctrl + Alt + Aキーを押すと、セッションのデバッグ情報画面が現れ、これまで有効化されたサービスプランが一覧表示されます。複数のプランが有効状態(properties[capabilityStatus]Enabled)であっても、利用ライセンスとして適用されるのは [userServicePlans][isCurrent]が“true” のプランです。ライセンス上の制限事項や利用できる機能を知るには、このproperties内の設定値を確認します。

たとえば、プレミアムコネクタの利用可否は[accessPremiumApis]で設定されています。適用中のライセンス「FLOW_P2_TRIAL_INTERNAL」を確認してみると、この設定値が“true”となっており、先ほどのクラウドフローからデスクトップフローの呼び出しを行うアクション(プレミアムコネクタの一つ)を利用できることが分かります。

また、複数プランが有効状態かつ、それらの「パフォーマンスプロファイル」の優先度が異なる場合は上位のプランがライセンスとして適用されるようです (☞制限事項はこちら

 

クラウドフローのトリガー条件を細かく設定する

アクション数の増加や条件分岐の入れ子によりフローが見づらくなってしまったら、トリガーに条件を追加してしまいましょう。

たとえば、よく使う [ファイルが変更されたとき] トリガーは、フォルダ内の任意のファイルの変更時にトリガーされます。この例では /Power Automateフォルダのいずれかのファイルが更新されるとトリガーされます。

ですが、フォルダの特定のファイルが変更された時だけトリガーしたい場合もあると思います。そんな時は […] の [設定] から設定画面を開き、

次の [+追加] で入力欄を作り、条件式を指定します。

@equals() は2つの引数が等しいかどうか判定する関数です。ここでは第一引数にトリガーが検知した更新ファイルのファイル名 base64ToString(string(triggerOutputs()?[‘headers/x-ms-file-name-encoded’]))を、第二引数に指定したいファイル名を渡し、両者のファイル名が同じである場合トリガーが実行されます。(☞条件で式を利用する方法はこちら

補足:@eqauls()の2つの引数について(☞関数リファレンスはこちら

●トリガーが検知した更新ファイルの関数はアクションで使用して確認することができる

・[…]の[コードのプレビュー]から開く

●第一引数:triggerOutputs()?[‘headers/x-ms-file-name-encoded’]について

base64ToString()を使ってbase64でエンコードされたファイル名をデコードする。triggerOutputs()?[‘headers/x-ms-file-name-encoded’]は、トリガーに指定する時点ではNull型であるため、string()関数でString型に変換してからbase64ToString()のパラメーターに指定する。

●第二引数:拡張子つきのファイル名で指定する

 

使ってみた感想:自分でささっと自動化したい場合におすすめ

1番の特徴は簡単に作れる点、作ったものを活用しやすい点かと思います。UiPath StudioXなどプログラミングスキルを要さない製品は他にもありますが、Microsoftならではのシームレスなサービス連携により、自動化を日常業務の一部にしてしまう、そんな作りやすさを感じました。

  • 業務で利用するアプリケーションから離れることなくフローを作成できる

Microsoft 365サービス(SharePoint、OneDrive等)やビジネスでよく利用されるツール(Twitter、Slack等)など多くのサービスと連携しています。Teamsなど一部サービスは、アプリからクラウドフローを作ることもできます。

  • 作成したフローを実行するための管理が簡単

クラウドフローの実行モード切替え機能が便利。オンにしておくといつでも自動実行されるため、Windowsタスクスケジューラの設定や、専用ロボットアプリケーションへ自動化プロセスをセットする必要がありません。

  • 複数の自動化プロセスを並列で実行させることができる

異なるトリガーで開始する複数のフローをオンにしておけば、各フローがトリガーされて1台のPC上で並列実行ができます。

 

UiPathやWinActorとの比較、目的に合わせて最適なRPAを選びましょう

当社はUiPath、WinActorの2つのRPA製品を扱っております。ここにPower Automateを含め比較してみます。

Power Automate WinActor UiPath
  • 現場でRPAを実践できる
  • 一人ひとりが自身で身の回りの業務を効率化し働き方改革ができる
  • 初心者でも修得しやすいため、社内にRPA技術者を育て、RPAを内製したい場合に向く
  • 開発・運用を比較的早く始める事ができる。
  • 保守性・拡張性の高い自動化プロセスを開発しやすい。小さく始めて徐々に拡大・展開できる。
  • 企業規模でRPAを進めるための管理機能が充実している
草の根導入に向く
(草の根導入、詳細はこちら
CoE導入に向く
(CoE導入、詳細はこちら

Power Automate、UiPath、WinActor、どのRPA製品が良いかは状況によって様々です。「せっかく導入したけれど狙った効果を得られなかった」という事態にならないよう、製品の特長理解がRPA活用の第一歩になります。今後も様々なRPA製品をご紹介していきますので、選定のヒントとしてご参考にしてみてください。

当社ではニーズに合わせたRPA製品選定コンサルティングを行っています。また、RPAの導入効果を最大化するには、自社の業務とRPAの相性を理解すること、自社にあったRPAの推進組織を作ること、RPAに何を期待できて何を諦めなければいけないか理解することなど、製品の特長理解の他にも考慮したいポイントがたくさんあります。

少しでも気になった方、私たちにお声がけください。一緒にRPAを最大限活用していきましょう。

このコラムの執筆者

株式会社シーエーシー
アドバンスドテクノロジー本部
今泉 由莉花

世の中の自動化浸透にITの分野から携わりたいと思い2020年に入社。「お客様に最適なロボットを提供できる開発者」を目指し、技術検証などを通して複数のRPA開発ツールに触れてきました。文系出身エンジニアとして、初心者視点でUiPath開発の躓きやすいポイント、コツや注意点をお伝えできればと思います。

本記事のカテゴリ :RPA技術コラム

ジャンル:RPA計画・導入

関連記事

PickUP

本記事に関連するCACのサービスやお役立ち情報をご紹介します。

RPA技術レポート無料ダウンロード

15分で読める「RPAを一人で始めて、会社を巻き込むコツ」(PDF)
15分で読める「RPAを一人で始めて、会社を巻き込むコツ」(PDF)
ダウンロード ダウンロード
RPAで全社的な業務改善をするならCoE導入という選択肢
RPAで全社的な業務改善をするならCoE導入という選択肢
ダウンロード ダウンロード
RPA導入初期につまずかないTips5選
RPA導入初期につまずかないTips5選
ダウンロード ダウンロード