松本典子の「はじめよう!Azure Logic Apps/Power Automateでノーコード/ローコード」 第16回
クラウドフローから値を与えつつRPAをトリガーし、自動化する方法
Power Automateのデスクトップフローとクラウドフローを接続して使う〔実践編〕
2022年07月26日 08時00分更新
こんにちは、Microsoft MVP(Azure / Business Applications)の松本典子です。
前回の第15回では、Power Automateのデスクトップフローとクラウドフローを連携させて、クラウドフローからデスクトップフローを自動実行させるための準備について説明しました。
今回は、前回ご紹介したデスクトップフロー(Power Automate for desktop)の「例」(サンプルワークフロー)を利用して、クラウドフロー(Power Automate)と接続する方法についてご紹介します。
1. デスクトップフロー(Power Automate for desktop)の準備
前回は、「例」の「Webオートメーション」カテゴリにある「Webページのスクリーンショットを取得する」のフローを紹介しました。今回も同様のフローを利用し、クラウドフロー側で入力されたURLをデスクトップフロー側で受け取り、そのWebページのスクリーンショットを撮る仕組みを作成します。
1-1. 「入力変数」の追加
まずはPower Automate for desktopを起動し、第15回記事の「4. Power Automate for desktopの『例』を利用してみよう」で紹介した手順を参考にして、「例」にある「Webページのスクリーンショットを取得する」のフローを表示してください。
まずはクラウドフローからURLを受け取るための「入力変数」を追加します。
右上の「入出力変数」の枠にある「+」アイコンをクリックし、メニューから「入力」を選択します。これで入力変数が追加されます。
以下のように入力して、「保存」をクリックします。
(1) 変数名:わかりやすい名前を入力(今回は「WebURL」)
(2) データの種類:一覧から「テキスト」を選択
(3) 外部名:クラウドフロー側で表示される名前なので、わかりやすい名前を入力(今回は変数名と同じ「WebURL」とした)
(4) 説明:この部分に入力した文章がクラウドフロー側で表示されます
保存すると、「入出力変数」の欄に追加した変数名が表示されます。
1-2. Power Automate for desktopのフローを修正する
フローの上から2番目にある「入力ダイアログを表示」のアクションを編集します。
このアクションにマウスオーバーすると、右側に三点リーダー(…)が表示されます。クリックするとメニューが表示されるので「編集」を選択します。なおアクションを直接ダブルクリックしても、同じように編集画面が表示されます。
「既定値」の右側のアイコン「{x}」をクリックすると変数が一覧表示されます。ここで、先ほど作成した入力変数(今回は「WebURL」)を選んで「選択」ボタンをクリックします。
図のように、既定値が「%WebURL%」に書き換わっているのを確認し「保存」ボタンをクリックします。
最後に赤枠内のアイコンをクリックして、修正を加えたフローを保存します。
2. クラウドフロー(Power Automate)の準備
次に、Power Automate側の「クラウドフロー」でワークフローを作成します。本稿で作成するワークフローの全体図はこのような形です。
とてもシンプルなこのフローは、「ボタン」コネクタでフローをトリガーし、入力されたURLを、先ほど作成した入力変数経由でデスクトップフローに渡すものです。
それでは実際にワークフローを作成していきましょう。ブラウザでPower Automateポータルを開き、左メニューの「+作成」をクリックしたあと、「自動化したクラウドフロー」をクリックします。
「自動化したクラウドフローを構築する」というウィンドウが開きますが、ここでは「スキップ」をクリックします。
2-1. トリガーの作成
スキップするとフローのデザイナー画面が開くので、まずはフローの自動実行条件となるトリガーを設定します。
今回は、Power Automateのスマホアプリでボタンをタップするとフローが実行される「モバイルのフローボタン」をトリガーとします。このコネクタは「組み込み」タブをクリックすると表示されます。
「手動でフローをトリガーします」をクリックします。
トリガーの枠内に表示される「+入力の追加」をクリックします。
「ユーザー入力の種類の選択」という選択項目が表示されるので、「テキスト」をクリックします。これにより、スマホアプリでボタンをタップしてワークフローを起動したときに、ユーザーに値をテキスト入力させる(または選択肢から選択させる)動作が追加されます。
今回はスクリーンショットの対象とするWebページのURLを入力させたいので、説明文(赤枠内)は「URL」と入力しておきます。これでワークフローを起動したときに、入力フォームが表示されるようになります。
2-2. アクションの作成
続いて、PCにインストールしたPower Automate for Desktopのデスクトップフローを実行するアクションを追加します。
検索窓に「Desktop」と入力し、一覧の中から「Desktop flows」コネクタをクリックします。
アクションの一覧から「デスクトップ用Power Automateで構築したフローを実行する」をクリックします。
ここではデスクトップフローを呼び出すコネクタの設定をします。
なおこの設定を行うには、第15回の「3. Power Automate for desktopの「コンピューターの管理」を利用する」が完了している必要があります。
以下の内容を入力していきます。なお、(3)のドメイン名とユーザー名がわからない場合は、後述する「2-2-3. 『ドメインとユーザー名』の確認方法」の項を参照してください。
(1) 接続:プルダウンから「コンピューターに直接送信(Directly to machine)」を選択
(2) コンピューターまたはコンピューターグループ:プルダウンから登録したパソコンの名前を選択
(3) ドメインとユーザー名:利用しているPCのドメイン名とユーザー名を「ドメイン名\ユーザー名」のかたちで入力(「\」は半角文字)
(4) パスワード:上記PCにサインインするときのパスワードを入力
上述した設定内容で接続が完了すると、図のような表示になります。
(1) Desktopフロー:作成済みのデスクトップフローの一覧が表示されるので今回利用したいデスクトップフローの名前を選択
(2) 実行モード:「アテンド型(サインイン時に実行)」を選択
(3) WebURL:「1-1. 「入力変数」の追加」でデスクトップフローに追加した変数名が表示されます。動的なコンテンツから「URL」をクリックして設定
ここまで設定ができたら、ワークフローの名前を入力して保存します。今回は「PADを実行する」というワークフロー名にしました。
2-2-3. 「ドメインとユーザー名」の確認方法
前項の「(3) ドメインとユーザー名」で入力すべきドメイン名とユーザー名がわからない場合は、コマンドプロンプトで簡単に確認する方法があります。
コマンドプロンプトを起動して「set user」とコマンドを入力、Enterキーを押します。
コマンドを実行すると、「(1) USERDOMAIN」にドメイン名が、「(2)USERNAME」にユーザー名が表示されます。これらの情報を入力してください。
3. 実行結果
それでは、今回作成したワークフローを実行してみましょう。
フローデザイナーの画面上部にある「テスト」ボタンをクリックします。本来はモバイルアプリのボタンで起動するフローですが、テストの場合はPCブラウザから実行できます。
まず「フローのテスト」では「手動」を選択して「保存&テスト」をクリックします。URLの入力欄が表示されるので、スクリーンショットを撮りたいURLを入力して「フローの実行」をクリックします。そうすると、ワークフローが起動してデスクトップフローが実行されます。
Power Automate for Desktopは、デスクトップに上図のようなポップアップを表示します。「ウェブサイトのアドレスを教えてください」と書かれていますが、実際にはクラウドフローの実行時に入力したURLが受け渡され、入力欄に表示されているはずです。
「OK」ボタンをクリックすると、デスクトップフローの続きが実行されてEdgeブラウザが起動し、指定されたURLの内容を表示したうえでスクリーンショットを撮ります。
最後に
今回見てきたように、デスクトップフロー(Power Automate for Desktop)はクラウドフロー(Power Automate)から起動させることができます。単にフローをトリガーするだけでなく、変数を使ってクラウドフロー側から値を与えることもできました。
前回説明したとおり、ライセンスや事前準備が少し大変な部分はありますが、クラウドフローとつなげることでデスクトップフローの利用範囲は大きく広がると思います。ぜひ活用方法を検討してみてください。
その際には、デスクトップフローのサンプルである「例」が役に立ちます。ほかにもサンプルはありますので、ぜひそれらも試し、さらには今回の記事のようにカスタマイズして使い方を覚えていただきたいと思います。
この連載の記事
-
第44回
Team Leaders
契約書を確実に期限管理! SharePoint+Power Automateで期日通知を自動化 -
第43回
Team Leaders
社内からの質問に自動回答! AI Builder+ノーコードでQ&Aボットを作ろう -
第42回
Team Leaders
Power Automateで複数人の承認(多段階承認)ワークフローを簡単作成しよう -
第41回
Team Leaders
重要なTeamsメッセージの見失い/見落としを防ぐPower Autometeのフローを作ろう -
第40回
Team Leaders
クラウドフローからデスクトップフローを「Picture-in-Picture」で起動する -
第39回
Team Leaders
面倒なカレンダー登録作業を生成AIで自動化するワークフローを作ろう -
第38回
Team Leaders
生成AIに日本語プロンプトで指示を出し、メールから情報を抽出してもらおう -
第37回
Team Leaders
フォルダー内のすべてのファイルを添付してメールを自動送信するフローを作ろう -
第36回
Team Leaders
ローカルPCのテキストファイルをPower Automateに読み込ませて活用しよう -
第35回
Team Leaders
受信メールの添付ファイルを種類に応じたフォルダに自動保存する -
第34回
Team Leaders
Power AutomateでTeamsのチーム全員にメンションを送る方法 - この連載の一覧へ