RPAツールとしてwindowsにはデフォで入っているPower Automate Desktop。
完全無料で、これをタスクスケジューラを用いて決まった時間にフローを起動させたい・・・が、できない!
例えば深夜2:00とかに設定しておいてwindowsを立ち上げっぱにして眠っている間に色々やってくれたらすごく助かるのに・・・でもできない!
ということで色々模索していましたが、やり方が分かったのでお伝えしようと思います。
Power Automate Desktop自動実行の事前準備
Power Automate Desktopでフローの設定
動かしたいフローをご用意ください。
フロー作成後、以下画像のフローの3点リーダーをクリックし、「プロパティ」を選択。

以下画像のようにキーボードショートカットを設定しましょう。

キーボードショートカットはなんでもいいです。
このキーボードショートカットが今回のポイントです。
この記事では「Shift + P」を設定したものとして説明をします。
AutoHotkeyのインストール
オリジナルのショートカットキー作成やキーの割り当て変更が簡単にできる「AutoHotkey」を使います。
以下からダウンロードし、インストールしてください。
なお、この記事では「v2」前提で説明するので、v2をインストールしてください。
インストールするだけで特にそのあとの設定はいりません。
Power Automate Desktop自動実行の手順
1.AutoHotkeyで使用するための「.ahk」ファイルを作る
メモ帳などで以下コードを貼り付け、編集し保存、拡張子を「.ahk」に変えて保存しましょう。
※AutoHotkeyを起動し、「New Script」からでも作れます
; AutoHotkey v2 script to run PAD and send Shift+P
Run('"C:\Program Files (x86)\Power Automate Desktop\PAD.Console.Host.exe"')
Sleep 5000 ; Wait 5 seconds for PAD to open
Send("+p") ; Shift + P
ExitApp()
何が書いてあるかというと「Power Automate Desktop」を立ち上げて、5秒後に「Shift + P」を押してね、ということが書いてます。
なぜ5秒後にしているかというと「Power Automate Desktop」の起動時間を考慮しているためです。
もし以下ディレクトリが違っていたらそれぞれの環境に合わせて修正してください。
C:\Program Files (x86)\Power Automate Desktop\PAD.Console.Host.exe
なお、ショートカットキーを違うのにしたい!という方向けに説明しますが、以下の「+」が「Shift」キーに該当します。
Send("+p")
「Shift」キーじゃないほうがよい方は以下を参照ください。
修飾キー | AutoHotkeyでの記述 |
---|---|
[Ctrlキー] | ^ |
[Shiftキー] | + |
[Altキー] | ! |
[Winキー] | # |
2.「.ahk」を「.exe」ファイルに変える
「.ahk」のままでもいけますが、「.exe」ファイルに変更するとタスクスケジューラ設定時に楽になります。
AutoHotkeyを起動し、「Compile」をクリック。

以下「Browse」を選択して、さっき保存した「.ahk」ファイルを選択し、「Convert」ボタンを押すと同階層に「.exe」ファイルが生成されます。

タスクスケジューラを開く
タスクスケジューラを起動し、「基本タスクの作成」をしていきましょう。
以下、名前は任意のものを入力してください。

トリガーは自動起動したい頻度を選んでください。

操作は「プログラムの開始」を選び、先ほど作成した「.exe」ファイルを参照します。
以下画像では、「run_pad_shitp_v2.exe」という名前をつけています。
名前はなんでもいいです。

「次へ」ボタンを押して、「完了」ボタンを押せば設定完了です!
Power Automate Desktopの設定補足
作成したタスクを右クリック → 「実行」でテストを行なって動くかどうか確認しましょう。
また、補足として、「タスクを停止するまでの時間」を設定することでずっと実行中にならないで止まります。

まとめ
今回はPower Automate Desktop自動実行について説明しました。
この方法と、「指定時間になったらwindowsを起動、終了させる」みたいな設定ができればほったらかしで勝手にタスクこなしてくれ増すし便利ですよね。
「指定時間になったらwindowsを起動、終了させる」が難しくてもスリープ状態の設定を切ってWindows立ち上げっぱなしにしておけば時間がくればやってくれるので便利かと思います。