「退社後や休日に、自動でフローを実行できたら便利なのに…」と思ったことはありませんか?
Power Automate for Desktop(以下、PAD)の無料版には「スケジュール実行」機能がありません。そのため通常は手動で実行するしかないのですが、ちょっとした工夫で「タイマー機能」を自作できます。
この記事では、指定した時間にフローを自動実行させるタイマー機能をゼロから丁寧に解説していきます。
タイマー機能の仕組みイメージ
作成するタイマー機能は「ダイヤルタイマー」に近いイメージです。
- 実行したい時間を入力しておく
- 入力時間が経過すると、自動でフローが動き出す
こうすることで「今から◯分後に処理を実行」や「1時間後にフロー開始」といった操作が可能になります。
手順① 待機時間を入力するポップアップを作成
- 「入力ダイアログ表示」アクションを追加します。
- ダイアログタイトルとメッセージを入力しましょう。
- 例:「何分後に開始しますか? 半角数字で入力してください」
- 「常に手前に表示」をオンにしておくと、他のアプリを操作中でも見失いません。
👉 ここで入力した値が「待機時間」として扱われます。
手順② OK/キャンセルの分岐を作成
- 「If」アクションを追加します。
- 最初のオペランドに「ButtonPressed変数」を選択。
- 2番目のオペランドに「OK」と入力します。
- 「Else」を追加して、キャンセル時の処理を分けます。
- OKが押された場合 → 待機処理へ進む
- キャンセルが押された場合 → フローを停止
👉 これで誤って実行した場合にも、キャンセルで即終了できるようになります。
手順③ 待機処理を追加
- Ifの中に 「待機(Delay)」アクションを追加します。
- 待機時間には「ユーザー入力変数 × 60」と設定しましょう。
- 1 → 1分
- 60 → 1時間
👉 秒数単位なので「分入力」を「分 × 60秒」に変換しています。
手順④ 入力エラーを防ぐ(全角対策)
数字を「全角」で入力されるとエラーが発生してしまいます。そこで次の工夫をします。
- 入力ダイアログの直前に 「ラベル」アクションを追加し、L1など名前を付けます。
- 「テキストを数値に変換」アクションを待機前に追加します。
- エラー発生時の動作を「ラベルに移動(L1)」に設定。
👉 こうすると、全角や数字以外が入力された場合に自動的に再入力画面へ戻せます。
手順⑤ 他のフローから呼び出す
タイマーを単体で使うだけでなく、他のフローに組み込むことも可能です。
- タイマーフローに出力変数を追加
- ボタンの押下結果(OK/キャンセル)を返すように設定します。
- 呼び出し元フローで「デスクトップフローの実行」を追加し、タイマーを呼び出します。
- If条件で「出力変数 = OK」のときだけ処理を実行。
👉 これでキャンセル時にはフローを実行せず、OK時だけ進めるようになります。
よくある質問(FAQ)
Q1. 無料版PADで完全なスケジュール実行はできますか?
A. 無料版にはスケジューラー機能はありません。本記事のようにタイマーを自作して代用する方法がおすすめです。
Q2. PCをスリープ状態にしていても実行されますか?
A. スリープやシャットダウン中は動作しません。PCを起動・ログイン状態にしておく必要があります。
Q3. 「〇時に実行する」ようにできますか?
A. この記事の方法は「◯分後」という相対時間です。絶対時間で実行したい場合は「現在時刻を取得」+「指定時刻との差分を計算」する工夫が必要です。
Q4. タイマーを毎日自動実行できますか?
A. 無料版PADだけでは難しいです。Windowsタスクスケジューラと組み合わせれば実現可能です。
