概要
毎朝検温をしてMicrosoft Fromsでその結果を送信するという、誰も真面目にやってないであろう"作業"がある
気が向いたからこれを自動化した
毎朝7:00に、Microsoft Fromsにログインし選択肢を選んで送信ボタンを押すというプログラムを実行する
実行環境はWin10
なお、本記事は基本的に実装の詳細を解説するのではなく、回答の自動化をする一つの手段を紹介するという意図で作ってある
詳細なソフトの使い方等は別途ググることを想定している
使ったツール等
PowerAutomateDesktop
以下、頭文字を取ってPADと呼称する
Win11では標準搭載、Win10では公式からダウンロード・インストールして使用
無料版ではプログラムの定時実行をする機能がないから以下のPadFlowRunとタスクスケジューラを使用して定時実行を実装する
PadFlowRun
以下、頭文字を取ってPFRと呼称する
前述のPADをコマンドラインで実行するためのマクロのようなもの
ダウンロード・解説はこのリンクから
タスクスケジューラ
プログラムを定時実行するためのWindows標準搭載のソフト
時間、間隔、実行するプログラムのパスを指定し、指定した時間に実行する
今回の場合、上記のPFRで生成したコマンドをバッチファイルとして保存し、定時実行する
実装の流れ
以下、実装の流れを軽く説明する
1. PADで回答を自動化する
2. PFRでフローの実行をコマンドラインで行えるようにする
PFRの使い方に関してはここを参考にどうぞ
- PFRで生成したコマンドをテキストファイルに保存し、拡張子を
.bat
あるいは.cmd
に変更してバッチファイルを作成- ここで一旦バッチファイルを実行してPADで作成したフローが実行されることを確認
- この際、Windowsのユーザー名に日本語やスペースが含まれている場合、対策をしないと正常に機能しない可能性がある(参考)
3. タイムスケジューラでバッチファイルを定時実行
Windows標準搭載のタスクスケジューラで2. にて作成したバッチファイルを定時実行する
応用
今回PADで作成したフローではMicrosoft Fromsにログインするときに変数を使ってあらかじめメアドとパスワードを格納してあるが、この変数の代わりに二次元配列とループ処理を組み合わせれば複数のアカウントにログインしてそれぞれのアカウントからフォームに回答することも可能