7rikazhexde’s tech log

技術的な興味関心、備忘録、アウトプットなどを書いています。

Power Automateでスクリーンショットキー入力を定期実行してスクリーンショットを自動で保存する方法

1年以上前の記事ですが、MacとRaspberryPi、MESH(ボタンタグ)を使用してアプリの起動画面のスクリーンショットを撮影する記事を投稿しました。
結論として運動に集中しているとボタンを押し忘れることがあるので、定期実行か任意のタイミングでスクリーショットを撮るプログラムを実行するのが良いと考えました。

qiita.com

今回、スクリーンショットを定期実行する方法として、手段はいくつかありますが、Power Automateを使用する方法を検討し、実際に作成したので紹介します。

作成したもの

画面全体のスクリーンショットは[Windows]キーと[Print Screen] キーを同時に押すと、デフォルトの設定では「ピクチャー」フォルダー内にある「スクリーンショット」フォルダーに保存されます。
このスクリーンショットの入力をPower Automateのフロー処理で定期実行することで画面全体のスクリーンショットを保存します。

フロー編集画面

全体の流れとしてはSpaceキーの入力をトリガーにスクリーンショットのショートカットキー入力をループ(指定回数)で実行します。
ここで指定したSpaceキーはショートカットキーを待機アクションで他のキーで設定することができます。

ScreenShot定期実行_フロー編集画面

Loopアクション

ループ処理は指定回数は0~1000とし、1ずつカウントアップします。
終了に設定する値がポイントですが、細かくは設定できるケースではないため大体の値を設定しています。

ScreenShot定期実行_フロー編集画面(Loop)

キーの送信アクション(スクリーンショット)

キー入力の間隔遅延を1秒(1000ミリ秒)とし、画面全体のスクリーンショットキー(Windowsキー+PrintScreenキー)を送信します。
ここでキー入力の間隔遅延はスクリーンショットを撮影する対象によって変わります。例えばファイルの読み込み、表示等に一定の時間を要する場合は1秒以上の値に設定することで表示後にスクリーンショットを撮影するように調整できます。これは実際に動かしながら調整することになると思います。

ScreenShot定期実行_フロー編集画面(キーの送信)

キーの送信アクション(スクリーンショット以外)

こちらは撮影対象に依存する処理です。動画のようなケースであれば不要ですが、例えばKindleのように次ページの遷移をキーボード入力により切り替える必要がある場合に必要になります。

ScreenShot定期実行_フロー編集画面(キーの送信)

まとめ

本記事ではスクリーンショットの入力をPower Automateのフロー処理で定期実行することで画面全体のスクリーンショットを保存する方法を紹介しました。

また、今回Power Automateで作成した理由として、最近会社でPower Appsを使う機会が増えてきました。ただ、中々作成する時間が取れないというもどかしさがありました。そこで、まずはプライベートで使ってみようと思いました。

本記事で紹介したスクリーンショット以外にもいくつかPower Automateで作成したものがあるため、別記事で紹介しようと思います。