2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

毎日の検温の自動化

Last updated at Posted at 2022-11-19

概要

毎朝検温をしてMicrosoft Fromsでその結果を送信するという、誰も真面目にやってないであろう"作業"がある
気が向いたからこれを自動化した
毎朝7:00に、Microsoft Fromsにログインし選択肢を選んで送信ボタンを押すというプログラムを実行する
実行環境はWin10
なお、本記事は基本的に実装の詳細を解説するのではなく、回答の自動化をする一つの手段を紹介するという意図で作ってある
詳細なソフトの使い方等は別途ググることを想定している

使ったツール等

PowerAutomateDesktop

以下、頭文字を取ってPADと呼称する
Win11では標準搭載、Win10では公式からダウンロード・インストールして使用
無料版ではプログラムの定時実行をする機能がないから以下のPadFlowRunとタスクスケジューラを使用して定時実行を実装する

PadFlowRun

以下、頭文字を取ってPFRと呼称する
前述のPADをコマンドラインで実行するためのマクロのようなもの
ダウンロード・解説はこのリンクから

タスクスケジューラ

プログラムを定時実行するためのWindows標準搭載のソフト
時間、間隔、実行するプログラムのパスを指定し、指定した時間に実行する
今回の場合、上記のPFRで生成したコマンドをバッチファイルとして保存し、定時実行する

実装の流れ

以下、実装の流れを軽く説明する

1. PADで回答を自動化する

  • 詳細は別途ググった方が早いと思うから省くが、以下のようなフローを作成して回答を自動化した
    image.png

2. PFRでフローの実行をコマンドラインで行えるようにする

PFRの使い方に関してはここを参考にどうぞ

  • PFRで生成したコマンドをテキストファイルに保存し、拡張子を.batあるいは.cmdに変更してバッチファイルを作成
    • ここで一旦バッチファイルを実行してPADで作成したフローが実行されることを確認
    • この際、Windowsのユーザー名に日本語やスペースが含まれている場合、対策をしないと正常に機能しない可能性がある(参考)

3. タイムスケジューラでバッチファイルを定時実行

Windows標準搭載のタスクスケジューラで2. にて作成したバッチファイルを定時実行する

  • 基本タスクを作成し、開始時刻を7:00に、間隔を1日に設定(どちらも値は任意)
    image.png
    image.png

  • 「操作」は「プログラムの開始」を選択
    image.png

  • 「プログラム/スクリプト」に、2. で作ったバッチファイルのパスを入力
    image.png

  • 確認画面で特に変更がなければ「完了」ボタンを押す
    image.png

  • 追加で、左側の「タスク スケジューラ ライブラリー」から作成したタスクのプロパティを開き、以下のように設定を変更
    image.png
    image.png

応用

今回PADで作成したフローではMicrosoft Fromsにログインするときに変数を使ってあらかじめメアドとパスワードを格納してあるが、この変数の代わりに二次元配列とループ処理を組み合わせれば複数のアカウントにログインしてそれぞれのアカウントからフォームに回答することも可能

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?