
フローの実行を早くするためのコツを3つ紹介するので、当てはまりそうなものがあったら試してみてください。
Power Automate Desktop(PAD)でフローを作成していると、最初は正常に動いていても、処理するデータが増えるにつれて「フローの実行に時間がかかる」と感じることがあります。
特に、Webサイトを操作したり、同じ操作を何度も繰り返したりするフローでは、1つ1つの処理時間が少し長いだけでも、全体の実行時間が大きくなります。
フローの実行速度を改善したい場合は、アクションをむやみに減らすのではなく、時間がかかっている部分を確認して、適した操作方法に変更することが重要です。
この記事では、Power Automate Desktopのフローを少しでも速くするために確認したいポイントを3つ紹介します。
はじめに確認したいこと
まず、フロー全体を見て「なんとなく遅い」と考えるのではなく、どの処理に時間がかかっているのかを確認しましょう。
Webサイトの操作に時間がかかっているのか、キー入力なのか、待機時間なのかによって、改善方法が変わります。
今回紹介するのは次の3つです。
- Webサイト内の操作は「ブラウザー自動化」を使う
- 必要に応じて「キーの送信」を使用する
- 固定時間の「待機」を多用しない
1.Webサイト内の操作は「ブラウザー自動化」を使う
Webサイト内の操作は「ブラウザー自動化」内のアクションを使用しましょう。
Webサイトを操作する場合は、基本的に「ブラウザー自動化」内のアクションを使用します。
Power Automate Desktopには、「UI オートメーション」と「ブラウザー自動化」など、用途の異なる自動化機能があります。
例えば、Webページにあるボタンをクリックしたり、入力欄へ文字を入力したりする場合です。
Webページの操作なのに「UI オートメーション」のアクションを使っている場合は、一度確認してみましょう。
同じような操作が「ブラウザー自動化」にも用意されているのであれば、置き換えることで処理方法を整理できます。

ただし、すべての操作をブラウザー自動化に変更できるわけではありません。
ブラウザーのアドレスバーや「名前を付けて保存」のようなWindows側のダイアログなど、Webページそのものではない部分は、ブラウザー自動化では操作できない場合があります。
※置き換えるためには新たにUI要素の取得が必要です。
2.「キーの送信」を使用する
UI要素を使用したアクションの実行に時間が掛かる場合、「キーの送信」アクションを使用しましょう。
例えば、Webページの入力欄にカーソルを移動させるために、複数のUI要素を順番にクリックしているとします。
その操作を、
UI要素をクリック
↓
UI要素をクリック
↓
UI要素をクリック
と繰り返す代わりに、Tabキーなどを使って移動できるのであれば、
キーの送信 {Tab:3}
のようにキーボード操作へ変更できます。
ただし、キーの送信は便利な反面、操作対象を間違えやすいという注意点があります。
UI要素を指定する方法なら、「このボタンを押す」という対象が明確です。
一方、Tabキーを送信する方法では、現在どの位置にフォーカスがあるかによって、その後の操作結果が変わります。
そのため、速度だけを優先してすべての操作をキー入力に置き換えるのはおすすめできません。
速度が上がっても、別の場所に入力されてしまえば自動化としては失敗です。
「速く動くこと」と「安定して動くこと」のバランスを取ることが重要です。
使用する場合は、「待機」アクションを前後に入れたり、操作の対象先を「ウィンドウのインスタンス/ハンドル」「タイトルやクラス、またはその両方」にしたり、安全な実行を心掛けましょう。

3.通常の「待機」を多用しない
フローの速度に大きく影響するのが「待機」アクションです。
通常の「待機」では、
「5秒待つ」
「10秒待つ」
のように、指定した時間だけ処理を停止します。
この方法は簡単ですが、必要以上に待ってしまうことがあります。
例えば、Webページが1秒で表示されたとしても、「10秒待機」と設定していれば、残りの9秒は何もせずに待つことになります。
フロー全体でこのような待機が何度も入っていると、実行時間はかなり長くなります。
Webページやファイルの準備が終わるまで待ちたい場合は、単純に秒数を指定するのではなく、処理に必要な状態になるまで待つ方法を検討します。
PADには、Webページのコンテンツを待機するアクションや、ウィンドウを待機するアクションなどが用意されています。
例えば、
Webページを開く
↓
10秒待機
↓
ボタンをクリック
としている場合、
Webページを開く
↓
必要なWebページのコンテンツを待つ
↓
ボタンをクリック
という構成に変更できないか確認します。
これなら、ページの準備が早く終わったときに、不要な時間を待つ必要がなくなります。
秒数で指定するしかない場面もありますが、「ウィンドウコンテンツを待機」「ファイルを待機します」など、次のアクションを実行するのに必要なものの待機を使用しましょう。
秒数以外で待機することで、実行時間の短縮とエラー発生の防止が期待できます。

待機時間を短くしすぎるのも注意
「フローを速くしたいから、待機時間を全部なくす」という方法もおすすめできません。
Webページやアプリケーションの処理が完了する前に次のアクションを実行すると、エラーの原因になるからです。
例えば、
ボタンをクリック
↓
すぐに次の入力
とした場合、ボタンを押したことで表示される画面がまだ準備できていない可能性があります。
その状態で次の操作をすると、対象のUI要素が見つからなかったり、入力先が正しく認識されなかったりすることがあります。
そのため、
- 「待機をなくす」のではなく、「必要な待機だけ残す」
- 「何が準備できたら次の処理へ進めるのか」を考える
ということが大切です。
速度よりも安定性を優先する
フローの作成に慣れ始めてくると、
「とにかく速く動かしたい」
と考えがちです。
しかし、自動化では1回だけ速く動くことより、毎回安定して最後まで動くことの方が重要です。
10秒で終了するフローでも、10回に1回エラーになるのであれば、実際には手動で確認する作業が発生します。
一方、多少時間がかかっても安定して実行できれば、継続的に使いやすいフローになります。
そのため、まず正常に動作するフローを作り、その後で時間のかかっている部分を確認して改善していく方法がおすすめです。

フロー作成に慣れるとどんどん早さを求めるようになる気がします。
エラーにならないくらいの早さを求めて快適に作業しましょう。


