PowerAutomateDesktopを使って、認証が必要なWEBサイトを自動で開く方法

##はじめに

こんにちは。小売業のシステム部門で働いているhousakoです。今日は、PowerAutomateDesktopを使って、WEBサイトを開く方法を投稿します。
Microsoft365の認証と、独自認証の2通りを紹介します。認証が不要な場合は、その部分を省略してご覧いただければと思います。


##本人が忘れていてもパソコンが教えてくれたら…

皆様の職場では、社内のコミュニケーションツールってどんな感じですか？
たぶん、一人ひとりにパソコンが貸与されている方なら、メールは使ってますよね。
ほかにも、社内掲示板とか、色んなツールを利用されているのではないでしょうか。

私は勤めている会社では、店舗で働いている方の事務処理は
「できるだけシンプルに、必要最小限に済ませる」という考え方に基づいて、
店舗向けコミュニケーションツールの種類と運用を以下のようにしています。

###①メール

　　　店長専用で、店長個人に宛てた「親展」のみで利用。

###②社内連絡ツール

　　　A.業務指示：報告を伴う店舗向け指示で利用。
　　　　　　　　　（メーカー自主回収商品の撤去指示と、その完了報告、など）
　　　B.相談連絡：店舗から発信する問い合わせや連絡で利用。
　　　　　　　　　（業務端末のバッテリーが劣化したので新しいものが欲しい、など）

###③掲示板

　　　報告を必要としない連絡事項の共有で利用。

<font color="blue">一言でいえば、店舗で働いている方は、社内連絡ツールと掲示板だけ見ていれば良い、
という運用です。

その、唯一の連絡手段である社内連絡ツールを、本社の担当者は1日1回は確認し、
自部署に向けた相談や連絡に回答するルールになっているのですが、自分の業務課題に
追われて<font color="blue">社内連絡ツールの確認を忘れてしまう<font color="black">ことがあります。
「本部は店舗のためにある」という基本を履行するために、この「確認忘れ」を
対策したいと考えていたところで、PowerAutomateDesktopを触る機会に恵まれました。


＜課題＞
　　　1日1回チェックすべきWEBサイトを、忘れずにチェック出来ないか？
　　　　　　①社内連絡ツール
　　　　　　②SharePointOnlineのドキュメントライブラリ

＜解決策＞
　　　PowerAutomateDesktopを始業時に自動的に起動し、強制的に当該サイトを開く。


##実装

　　　使用するのはPowerAutomateDesktopだけです。

　　　※手順の数字はフローの中に配置したサブフローの番号と合わせています。


####1.サブフロー：新しいMicrosoftEdgeを開く

　　　まずは、自動で開きたいWEBサイトをブラウザで開きます。
　　　パスワード認証が必要な場合は、その画面のまま次に進んでください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2496293/a8301441-6902-d082-3426-9e6f773c1845.png)


　　　PowerAutomateDesktopを起動し、「新しいフロー」をクリックしてください。
　　　　・フローの名前は、任意で決めてください。
　　　　・説明では、「◆ブラウザの自動起動」と命名します。
　　　フローの名前を入力したら、「作成」をクリックしてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2496293/1500d55f-1ce3-f9f3-b0a6-bf90c48d8621.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2496293/1719d491-ec5b-1f30-4919-d6722f77d429.png)

　　　アクションの検索窓にedgeと入力すると、「新しいMicrosoftEdgeを起動する」
　　　という候補が表示されるので、これを空白部分にドラッグ&ドロップします。

　　　※ここでは、MicrosoftEdgeを使った説明をします。
　　　　ほかにも、ChromeやFirefoxも使えます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2496293/b6524aa2-91c5-9a67-794d-698364396225.png)

　　　パラメータの選択画面が表示されるので、初期URLに先ほど予め開いたサイトの
　　　URLを指定して、「保存」をクリックしてください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2496293/895d5de9-1151-7e27-0197-293b1fd49251.png)

####2.サブフロー：Webページに次が含まれる場合

　　　アクションの検索窓にwebと入力すると、
　　　「webページに次が含まれる場合」という候補が表示されるので、
　　　これを空白部分にドラッグ&ドロップします。
　　　
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2496293/2416d39d-371b-2a5d-9a1c-2768c22395b2.png)

　　　パラメータの選択画面が表示されるので、
　　　　・Webページを確認する　は　「テキストを含む」
　　　　・テキスト　は　「アカウントを選択する」
　　　と指定して、「保存」をクリックしてください。

　　　※Microsoft365の認証画面の例です。テキストは画面に応じて変更してください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2496293/1d568f16-ea3b-cac9-78f6-3f0574daef7e.png)

####3.サブフロー：ウィンドウのUI要素をクリックする

　　　手順2.のサブフロー「webページに次が含まれる場合」を配置すると、
　　　条件分岐を締めくくる「end」が自動的に生成されます。（サブフローの3番目）

　　　「UIオートメーション」の中にある「ウィンドウのUI要素をクリックする」を、
　　　サブフロー2と3の間に配置してください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2496293/c17f8686-978b-e3b3-ec41-944535318a6b.png)

　　　パラメータの選択画面が表示されるので、プルダウンメニューをクリックして
　　　「UI要素の追加」をクリックしてください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2496293/aee93709-dd75-1a7d-4ae5-c4026e2a7971.png)

　　　「追跡セッション」というウィンドウが開いたら、手順1.で予め開いておいた
　　　ブラウザの画面を表示させ、選択するアカウントを
　　　<font color="blue">Ctrlキーを押しながら<font color="black">クリックしてください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2496293/153feadc-420c-5c82-0be6-7964c6b6a009.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2496293/bc3e2914-ef53-9897-00e9-e1ef393b39bc.png)

　　　追跡セッションのウィンドウにある「完了」をクリックしてください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2496293/c18d07cc-b545-0cdc-a9cd-35c981c90e16.png)

　　　「保存」をクリックして、サブフロー3の設定は完了です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2496293/35c21049-f693-ddd5-68f9-4e5fb568c50b.png)

####4.サブフロー：end

　　　※2番目のサブフローの締めくくりとして自動生成されたものです。
　　　　ここでは処理不要です。

####5.サブフロー：ウィンドウのUI要素をクリックする

　　　サブフロー3と同じものを、サブフロー5に配置します。
　　　「パラメータの選択」では、手順3.で指定した認証をパスした後の画面を
　　　指定します。

　　　サブフロー3をコピペして、サブフロー5に配置するのが楽です。
　　　※コピペしたときは、サブフロー5をダブルクリックして「パラメータの選択」から
　　　　ブルダウンをクリックし、「UI要素の追加」から自動でクリックさせたい
　　　　リンクを指定します。

　　　図の赤枠部分が、毎日チェックしたいドキュメントライブラリのリンクです。
　　　

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2496293/2f52e17d-2811-0360-1a35-bd73c6416736.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2496293/2269298c-dfad-12b8-1532-b2e403c6416a.png)

　　　指定したら、「保存」をクリックしてください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2496293/eec823b0-d3bd-d09c-195c-5e5751da4118.png)


　　　ここまでで、SharePointOnlineのドキュメントライブラリを開くまでが
　　　設定できました。ひとまず、上書き保存しておきましょう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2496293/d278a17e-eba6-5fc9-9722-303365a295b5.png)

　　　それでは、動かしてみます。（保存アイコンの一つ右にある、右向きの三角形）
　　　・・・手動で動かしている時と同じスピード感で画面が勝手に動いていきます。
　　　結果、目的の画面を表示させることが出来ました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2496293/85d58e50-5fb7-5756-d74e-14b177f7b340.png)


　　　続けて、もう一方の画面を自動で開く登録を行っていきます。
　　　こちらは、専用のIDとパスワードを使う、オーソドックスな独自認証画面です。
　　　認証をパスした後の初期画面を表示するところまでを自動化します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2496293/da844be1-ba32-903d-47b6-d75b66e55d57.png)

####6.サブフロー6：新しいMicrosoftEdgeを起動する

　　　サブフロー1をコピペして6番目に配置し、もう一方の開きたいURLを指定します。

####7.サブフロー：Webページ内のテキストフィールドに入力する

　　　アクションの検索窓にwebと入力すると、
　　　「webページ内のテキストフィールドに入力する」という候補が表示されるので、
　　　これを空白部分にドラッグ&ドロップします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2496293/7d0b027c-6b7c-27a8-c59e-321582fe46e4.png)

　　　パラメータの設定画面では、UI要素のプルダウンから「UI要素の追加」を
　　　クリックし、ユーザIDのフィールドを指定します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2496293/98bc8bc7-db1d-12c2-d8cc-c09279e42767.png)

　　　パラメータの選択画面では、テキスト欄にユーザIDを入力します。　　　

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2496293/08c41d29-53a7-1d01-b78a-e507790e879d.png)

####8.サブフロー：Webページ内のテキストフィールドに入力する

　　　サブフロー7.をコピペし、サブフロー8.に配置します。
　　　ユーザIDを指定したのと同じ要領で、今度はパスワードを登録します。

####9.サブフロー：webページのボタンを押します

　　　アクションの検索窓にwebと入力すると、「webページのボタンを押します」
　　　という候補が表示されるので、これを空白部分にドラッグ&ドロップします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2496293/66d0b420-ddce-bc3e-d8a4-96b020e5495a.png)

　　　パラメータの選択画面では、UI要素のプルダウンから「UI要素の追加」をクリックし、
　　　ログインボタンを指定します。　　

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2496293/38f5e708-fa0d-93f7-d53e-e9748a32f06b.png)


　　　これで、全ての設定が出来ました。
　　　上書き保存して、実行してみましょう。

　　　・・・サブフロー5.で開いたSharePointOnlineのドキュメントライブラリの上に
　　　もう一つウィンドウが開き、目的のページが表示されました。
　　　赤枠部分（図では赤丸の①と表示）を一目見るだけで、
　　　対応すべき連絡事項の有無を確認出来ます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2496293/451a89f9-770f-0981-b2f2-9549ed197a8c.png)


##残課題

　　　ひとまず、PowerAutomateDesktopを使って認証が必要なWEBページを表示する
　　　までは出来ました。しかし、これだけだと手作業と時間は大して変わらないし、
　　　作成したフローも自動起動されないので、もうひと工夫必要です。

　　　PowerShellを使ってフローを自動起動する方法もあるようですが、
　　　別途ダウンロードとインストールが必要らしく、会社のパソコンにかけられた制限
　　　のため、別の方法を模索したいと考えています。

　　　まずは、スタートアップにPowerAutomateDesktopを登録してPC起動に合わせて
　　　アプリの自動起動まで行い、フローを手動起動するのを忘れずに行う、という形で
　　　スタートします。

　　　今回の投稿は、予想を大幅に超える長文となってしまいました。
　　　最後まで読んでくださった方、ありがとうございます。
　　　今後の投稿では、もっと読みやすくわかりやすいものにしていきますので、
　　　引き続きよろしくお願い致します。