PowerAutomateで複数Excelファイルを処理する際のExcel起動処理高速化(デスクトップ フロー)

PowerAutomateでExcelファイルを複数生成する、もしくは複数のExcelファイルからデータを読み込む等する際、Excelの起動にかかる時間が響いてくる。

例えば「Excelファイルを開いて内容を編集、保存して終了」という処理を100ファイル分行う場合、単純に組むと100回Excelを開く時間がかかってしまう。
根本的には処理の方法自体を改善する事で解決すべき事かも知れないが、一応Excelの起動処理自体を高速化する方法が有るのでここで述べておく。

方法

適当なExcelインスタンスを一つ開きっぱなしにしておく。

これだけ。冗談みたいな話だが、実際にこれで起動が速くなる。

ベンチマーク

実際に、次のような処理を行うフローで検証してみる。

  1. Excelを新規に開く
  2. 何もせず保存する
  3. 1, 2を30回繰り返す *1

PowerAutomateで空のExcelファイルを30個生成するベンチマークのSS
2行目の「Excelの起動」が高速化用のダミーのインスタンス
これを「有効にしたまま実行」と「2,7行目を無効化して実行」を交互に繰り返し、実行時間を計測する。

結果

ダミー有り ダミー無し
1回目 11.3秒 41.7秒
2回目 12.0秒 43.1秒
3回目 12.0秒 42.7秒

ダミー有りの方が明確に速く実行されている。

*2

*1:このパターンならば、内容を上書きしつつ別名保存の方が速いと思われるが、あくまでベンチマークという事で。

*2:小数点第二位以下切り捨て