PowerAutomateDesktopでファイルを暗号化/復号

# はじめに

マリオカートにはゴースト機能というのがあって、自分がコースを走った様子を記録して半透明と化したキャラクター(ゴースト)に真似させることができる。ゴーストがコースを走る様子を眺めたりゴーストと一緒に走ったりすることができる。それのお仕事版がPowerAutomateDesktopなのだ(強引)。自分がよくやる操作をゴーストに覚え込ませて代わりにやってもらうのだ。

というわけで、PowerAutomateDesktop(PAD)の練習をしてみようと思う。PADを使って、指定フォルダにあるファイルを指定ソフトで暗号化/復号する。本当は[このソフト](http://www.pcinfo.jpo.go.jp/site/3_inet/index.html)を使った暗号化/復号がやりたいのだが、まずは[フリーソフト「ED」](http://type74.org/ed.php)で操作を確認してみる！事前学習は[「Microsoft Power Automate Desktop for Windows 10 初心者向け勉強会」](https://www.youtube.com/watch?v=mG2J7_wDLTo)の1:21:51～のところを見ただけ。

# インストール
[「Microsoft Power Automate Desktop for Windows 10 初心者向け勉強会」](https://www.youtube.com/watch?v=mG2J7_wDLTo)の1:21:51～の部分を見ながらインストールした。できた。

# フロー作成手順

概要：「デスクトップレコーダー」を使って大まかなフロー作成。できたフローを手直したら完成。


## 1.暗号化ソフトを起動しておく
 暗号化ソフトの起動部分は後でフローに記録する。
## 2.デスクトップレコーダでフローを大まかに記録
Power Automate Desktopを起動。「+新しいフロー」を押す
<img width="300" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1140682/3e6d76dd-96a6-fa21-0fe7-0cc2b5c01784.png">
「デスクトップレコーダー」ボタンを押す
<img width="300" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1140682/e4b4349d-3209-57d5-3e51-f0b5384d634b.png">
「記録の開始」を押す。すると、PADちゃんが操作を記録して勝手にフローにしてくれる状態になる。ボタンやテキストフィールドを勝手に認識してうまいこと記録してくれる。すごい。
<img width="200" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1140682/4439fce3-a6ee-aafc-eb4f-2594311f3afa.png">

どういうことかというと…「記録の開始」状態で暗号化ソフトをマウスで操作しようとすると、Buttonというテキストがついた赤枠が表示される。PADちゃんが「おっ！このボタン押そうとしてるんやな！押したら記録したるからな！」とアピールしているのだ。
<img width="200" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1140682/d31c75cc-0972-46a6-3642-3fec6dbf4583.png">

ボタンを押すと、デスクトップレコーダーにボタンを押したことが記録される。すごい。
<img width="400" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1140682/70e8623d-ec02-1ca8-1682-d376a022b120.png">

こんな感じで、操作するごとに操作がデスクトップレコーダーにどんどん記録される。なので、とりあえずやりたい処理を最後までやりきる。今回なら、ファイルを選択してパスワード入力して暗号化、さらに暗号化ソフトを閉じるところまで一気にやっちゃおう。後でフローは調整できる。もし操作がぐちゃぐちゃになっちゃったら「記録のリセット」でやりなおせるから大丈夫。終わったら「記録の一時停止」「終了」を押そう。


## 3.フローの調整
デスクトップレコーダーが作ってくれたフローは以下の通り。コメントとWaitは消してみようかな。

<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1140682/2257ceed-397a-a9de-7e7b-fa6933f16bc4.png">

後は最初に暗号化ソフトを起動するアクションを追加したい。準備としてソフトウェアを起動するファイルのパスを取得しておく。exeファイルを探し出して、Shift押しながら右クリックしてパスのコピー。今回は「"C:\Users\UserName\Documents\Software\ed41\E_D.exe"」というテキストがコピーできたものとする。
<img width="200" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1140682/cb484927-dccd-a96f-52b4-3a275ed5c0d5.png">

PowerAutomateDestTopに戻って、アクション「アプリケーションの実行」を追加する。検索窓にアプリといれたら「アプリケーションの実行」が出てくるのでダブルクリック。すると必要事項を記入するウインドウが開くので、アプリケーションパスのところに先程コピーしたパスを貼り付ける。""で囲まれていると思うけどそれは消しておく。
<img width="200" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1140682/d5b23d9b-3589-ba6d-1bd7-8e89b4592677.png">
<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1140682/e6d34ee9-7329-73ec-0208-91ea82ab7f71.png">


フロー完成。
<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1140682/deb3b700-287d-e4cb-5698-274a61987937.png">

# テスト・実行
編集画面で、1ステップずつアクションを確認しながら実行することができる(次のアクションを実行)。ドキドキしながら試してみよう。実際使うときにはフロー一覧の実行ボタンから実行するのかな。
<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1140682/6a1281ff-84d6-ca28-e8a9-3946bb47e333.png">

# 感想
PADちゃんすごい賢い。ボタンやメニューの認識力が特にすごい。
注意事項として、フロー実行中は半透明の自分がPCを操作していると思ったほうがいいのかなと思った。最中にキーボードやマウスを触っちゃうとフローの邪魔になってエラーの原因になりそう。
なお、間違えて意図しないファイルをいっぱい暗号化しちゃうと悲しいので、万一実践しようとするひとがいれば気をつけてください！Ctrl+Aでファイル全選択とかしてるしね！例えば「ウインドウを待機する」アクションを加えて、ファイルの確認画面で待機するようにしてもいいかな？そうしたら、暗号化したいファイルを自分で確認して、OKなら以降のフローをすすめる、という流れが可能になる。フォルダがなかったら、といったエラー処理を追加するとか、工夫の余地がいっぱいありそう。そういや復号の部分書いてないけどおんなじようにできるはずー！
PADを使えば、FileMaker単体ではやり方を思いつかなかった処理が実現できるかも。特に今回のような他ソフトでの処理。遊んでみようっと！