Power Automate Desktop を利用した業務の半自動化
立林千里 1*
鳥取大学技術部 情報システム部門 情報基盤技術分野 1
1. はじめに事務仕事を行う上で，文章作成などの応用力が求められる業務は人の手で行うことが望ましいが，同じ動作を繰り返すような単純作業は人ではなくコンピュータの方が適任である．コンピュータに業務を任せることで，時間と労力の削減，また人為的なミスを無くすことができる．コンピュータによって業務を自動化するためには，スクリプトやプログラムを作成し業務の自動化を行うのが一般的である．しかし作成するためには専門的な知識が問われるため，知識を持ちえない状態から作成するのは困難である．
今回 Power Automate Desktop(以下 PAD) 1)と呼ばれるソフトウェアを使用し，専門的な知識を使うことなく業務の半自動化を行った．そのため PAD の概要と使い方，また行った業務の半自動化について報告する．

2.

PAD の概要

2.1.

PAD とはPAD は Microsoft 社が提供するアプリケーションの 1 つであり，パソコン上で行う400 種を超える操作を直感的に自動化することができる．マウスを移動してクリックする，数値を打ち込むといった一連の操作の塊をフローと呼び，フローを作成することによって業務の自動化を行う．Windows10/11 であればこれらの機能を無償で利用することができる．
PAD ができることの一例として，Excel などのデスクトップアプリを利用した単調な記録作業の自動化，アプリの GUI 上で行うマウス操作の自動化といった，パソコン上で行う定型的な操作の自動化が挙げられる．できないこととしては，作成したフローを他の人に共有することや，毎日決まった時間にプログラムを起動することなどが挙げられる．これらの機能は有償版の PAD にアップグレードすることによって使用できるようになる．多人数でプログラムを編集し利用する場合やスケジュールに沿って定期的にフローを起動させたい場合は有償版の方が適任である．
似たようなアプリとして同じく Microsoft 社が提供している Power Automate(以下 PA)が挙げられる．PA は Microsoft Azure と呼ばれるクラウドプラットフォーム上で利用するアプリである．Twitter や Facebook といった外部サービスと連携して自動化を行うことができる．PAD と比べると有償版しかなく操作が複雑であるが，外部サービスと連携させデータを取得し，そのデータを作業に活かすといった業務を自動化することができる．このような用途で使用したい場合は PAD より PA を利用するべきだと考えられる．

- 15 -

2.2.

PAD の使用方法
図 1 にあるのは PAD の作業ウィンドウの一部分である．図をみると左側のリストに自動化可能なアクションが並んでいる．この中から自動化したいアクションを真ん中の作業スペースにドラッグ＆ドロップする．すると図 2 のようなパラメータを設定する画面が表示される．ここにパラメータを設定することでそれに応じたアクションを自動化することができる．例えば，自動で指定した場所にフォルダを作成したいとする．その場合はまず，”フォルダを作成するアクション”をリストから作業スペースへドラッグ＆ドロップする．その後，フォルダを作成する場所とフォルダの名前を設定することで実装することができる．
自動化するアクションを追加していくと図 3 のようにブロック状の GUI が並んでいく．PAD では上から順番にブロックのアクションを行う．図 3 のフローを動作させるとファイルの移動を行った後，確認メッセージが出現するようになっている．また，IF 文，FOR 文といった状況によって動作させるアクションを変更する条件分岐を利用することができる．これらを利用し複数のアクションを組み合わせることで，少し手間はかかるものの複雑な業務も自動化することが可能である．
PAD には変数機能も実装されている．ある Excel ファイルにデータを何度も書き込む場合，アクションのたびに Excel ファイルの場所を指定しなくても，Excel ファイルの場所を変数に入れておき，変数を使いまわすことでフォルダの場所を毎回書く必要が無くなり，簡単にフローを作成することができる．

図1

PAD の作業画面

図3

図2

アクションが追加された作業画面- 16 -

パラメータ設定画面

3.
3.1.

PAD を利用した学生情報登録の半自動化
自動化を行う背景
本学では 4 月と 9 月に正規学生が，不定期に非正規学生が入学する．本学の学務支援システムや学内ネットワークなどを利用するためには，学籍番号やパスワードといった学生情報を本学のシステムに登録する必要がある．学生情報の登録は学生が入学されるたびに行うものであり，今まではその都度手動で登録を行っていた．登録にかかる時間として，私が初めてこの業務を行った際は，慣れていなかったため 1 時間以上かかった．
この学生情報は Excel ファイルより決まった形で送られてくる．学生情報の中身が変わっても登録の際に行うべき操作は変わらないため，登録する操作をコンピュータに任せることによって効率化できると考えた．PAD は，無償で Excel のデータ操作やデスクトップアプリを操作することが可能である．そのため，PAD を使用し業務を自動化することで効率化を考えた．

3.2.

全体の流れ
この度行ったのは，学生部より渡される学生情報の入った USB をパソコンに差し込
み PAD のフローを起動することで，半自動で学生情報の加工，記録，アーカイブを行うフローの作成である．また，登録後にマトリクスコードと呼ばれるコードを生成しなければならないため，その作業もフローに組み込む必要がある．
図 4 に学生情報を登録する一連の作業を示している．これらの操作を行う上で使用するデスクトップアプリは，Excel，リモートデスクトップ接続，ターミナルエミュレータ，メモ帳の 4 つである．基本的にマウスの移動とクリック，キーボードの打ち込み，アプリの起動の 3 つの操作を組み合わせることで実現した．

図4

自動化を行う業務の全体像- 17 -

3.3.

操作の一部抜粋
実際にどのようにして自動化したのか一部抜粋して紹介する．
① フォルダの作成とデータの移動
1. メッセージボックスを表示し，登録日などの必要な情報を入力させる
2. 入力された情報を変数に代入し，変数を参照してフォルダを作成する
3. そのフォルダの中にさらにフォルダを 4 つ作成する
4. 最後に規定の場所へ USB から学生情報をコピーしフォルダ内へ保存する
所定の場所に作成日などの情報を入れたフォルダを作成し，さらにその中にフォルダを 4 つ作成する．その後 USB にある学生情報の入っているファイルをフォルダ内にコピーするという作業を自動化したものである．手動でも慣れれば 2，3 分で可能な作業だが，PAD を使用し自動化を行えばわずか数秒で完了することができる．学生情報を登録する度にフォルダを 5 つ作成し名前の変更をファイルごとに行うのは，回数が増えていくと時間と労力を伴うため，自動化することで業務の効率化を行うことができると考えられる．
② 画面上の画像を参照したマウス操作
1. リモートデスクトップ接続アプリを起動する
2. テキストボックスの UI を認識させ，接続先のアドレスを入力する
3. 画像の座標にマウスを移動し操作することで学生情報の登録を行う
4. 学生情報を登録している間はメッセージボックスを表示し，登録が完了した
ことが確認でき次第メッセージボックスの OK ボタンを押させる
キーボードとマウスでリモートデスクトップ接続アプリを自動操作し，学生情報の登録を行った．PAD では，予めマウスを移動させたい場所の画像を取得しておくことによって，その場所にマウスを動かすことができる．マウス移動には画像ではなく UI 情報も利用することができる．しかし，このアプリからは UI 情報を検出することができなかったため画像を利用してマウスを操作した．画像は見た目が一致しなければ認識することができないが，UI 情報は見た目が変化したとしてもある程度対応することができるため，基本的には UI 情報を利用すべきである．
この自動化を行う上で一つ問題点が発生した．学生情報の登録を行う際に，登録ボタンを押した後に，登録開始から登録完了までの待ち時間が必要である．しかし PAD はアクションを完了すると即時次のアクションを実行してしまうため，登録を終える前に次のアクションに移ってしまう．この登録するまでの時間は，登録する情報の量によって変化し，登録終了画面も情報によって変化する．そのため一定の待ち時間をフロー内に入れることや，登録終了画面を認識させ次のアクションへ移るといった方法をとることができなかった．
解決策として，メッセージボックスを利用した．メッセージボックスを表示させるアクションは，操作者がメッセージボックスを消さない限り次の処理には移らない．登録ボタンを押した直後にメッセージボックスを表示させ，登録が完了したことを操作者が確認した後，手動でメッセージボックス消すことで次のアクションに移る形式に変更した．これにより完全な自動化ではなくなってしまうが，終了を確認し，ボタンを押すだけの操作なため大きな手間にはならないと考えた．

- 18 -

③ 画面上の UI を参照したマウス操作
1. ターミナルエミュレータを起動する
2. SSH 接続するため，取得しておいた UI 情報をもとにマウスを操作し，ユーザ名とパスフレーズ，秘密鍵の設定を行いログインする
3. メッセージボックスを表示させ，ファイルのドラッグ＆ドロップを行う
4. CUI にコマンドを入力しマトリクスコードを生成する
5. UI 情報をもとに生成したファイルを出力する
キーボートとマウスでターミナルエミュレータを操作し，学生情報の加工を行った．エミュレータの UI 情報を取得することができたため，UI 情報を参照しながらマウス操作を行った．UI 情報によるマウス操作は，ファイル名が変わるといったデスクトップ上の見た目が変わってしまう場合でも，ファイルの種類やファイル名の一部などを参照することができるため対応することができる．画像を利用してマウス操作を行った時と比べて，少ない調整回数で業務を自動化することができた．
SSH 接続を行う際のログインや CUI によるコマンド入力は手動で行うと時間がかかってしまうが，自動化を行うことでかなり時間短縮へと繋がった．しかし，
SSH 接続でのログインの自動化は，フローを実行できてしまえば誰でもログインできてしまうため，フローを厳密に管理するなどセキュリティ面について考えなければならない．

4.

結果と考察
本件では PAD を使用し学生情報の加工，登録，アーカイブ，マトリクスコードの生成といった一連の作業を半自動化させ業務改善を行った．私が初めてこの業務を行った際には完了まで 1 時間弱かかり，2 回目以降も 30 分程度の時間を要した．しかし，PAD を利用し半自動化を行うと約 5 分で一連の作業を行うことが可能となった．また，大半を自動で行ってくれるため，知識のない状態からでも時間をかけることなく業務を行うことが可能である．デスクトップ上で行う業務を比較的容易に効率化することが可能であることが分かったため，業務改善を行う際には PAD の利用を一考する価値があると考えられる．
PAD は一度フローを作成してしまえばそれ以降は何度でもフローを使いまわすことができるため大きな業務改善へ繋がると考えられる．しかし，複雑な業務を効率化させるフローを作成するのには，時間が必要だということが分かった．本件での自動化
では約 160 個のアクションを実装し自動化することとなった．1 つ 1 つのアクションを自動化する手順は 2.2.で紹介した通り容易であるが，複雑な業務を自動化するためにはアクションが多くなる．PAD はアプリとしての作りが簡単なため，複雑な業務の自動化を行うとフローが肥大化しやすいと考えられる．そのため，複雑な業務は複数人でフロー作成を分担することで自動化する労力を抑えられるのではないかと感じた．
今回は私一人でフロー作成が可能であり，使用するのも自身のみだったため無償版のPAD でも問題なかった．しかし，分担作業が必要な際には，フローを共有する機能が入っている有償版の PAD を利用するべきだと考えられる．

参考文献：1) Power Automate Desktop の公式ストアページ
https://www.microsoft.com/ja-jp/biz/smb/column-power-automate-desktop.aspx* E-mail: tatebayashi@tottori-u.ac.jp- 19 -