はじめに
前回Power Automate DesktopでWebブラウザの操作自動化を紹介しましたが、この記事ではPower Automate Desktopを使用したExcelの操作自動化を行う方法を紹介しています。
今回は【 Excelの起動からデータを書き込み保存して終了 】【 Excelファイルを読み込む 】のフロー作成について紹介しています。
Power Automate Desktopのインストール
Power Automate Desktopのインストールをしていない方は、インストール手順を紹介していますので参考にしてください。
Power Automate Desktopのリファレンス
Power Automate Desktopのフロー作成にてアクションの使用方法などがわからない場合はMicrosoftのアクション リファレンスを参照してください。

前回紹介した記事
Webブラウザの操作を自動化したい方は、ぜひこちらも合わせて見てください。
Excelの自動操作
Power Automate Desktopを用いたExcel操作の自動化を機能ごとに紹介していきます。
紹介した自動化処理を組み合わせることにより、Power Automate Desktopを使用してExcelの自動化で様々なことができるようになります。
Excelの起動からデータを書き込み保存して終了
まずは、【 Excelの起動 】を起動させるためにPower Automate Desktopの【 Excel 】から【 Excelの起動 】を追加します。

追加した【 Excelの起動 】のパラメータにて【 空のドキュメントを使用 】を選択し、【 生成された変数 】を確認し【 保存 】をクリックします。
※ここでは【 生成された変数 】をデフォルトのまま使用していますが、できる限り意味があり、わかりやすい変数名を使用することをおススメします。

次に、Excelの1行目のA列からE列にデータを書き込む操作を行いたいので【 ループ 】から【 Loop 】を追加します。ここで【 Loop 】を追加する理由としては、Excelのセル(AからE)に複数のデータを追加するためです。

Loopのパラメータの【 開始値 】に【 1 】【 終了 】に【 5 】【 増分 】に【 1 】を設定し【 生成された変数 】を確認し【 保存 】をクリックします。
※ 【 開始値 】に【 1 】を設定しているのは、次の工程のセル値(A列)を指定するためです。また、【 終了 】に【 5 】を指定しているのはE列まで書き込みを行うためです。

次にワークシートにデータを入れたいので【 Excel 】から【 Excel ワークシートに書き込み 】を【 Loop 】内に追加します。

【 Excel ワークシートに書き込み 】のパラメータの【 書き込む値 】の【 {x}(赤枠) 】をクリックし、先ほど追加した【 Loop 】にて【 生成された変数 】を選択します。
※ここで書き込む値として、Loopで生成された変数を使用するのは、書き込む値に変化をつけるために設定しています。そのため、固定値で行いたい場合には【 Test 】などと文字列を入れてください。

【 Excel ワークシートに書き込み 】のパラメータの【 Excelインスタンス 】に【 Excelの起動 】の変数を使用し、【 書き込む値 】に書き込むデータを確認します。また【 書き込みモード 】で【 指定したセル上 】の選択をし、【 列 】に【 Loop 】にて生成された変数を選択します。今回は1行目のみに値を追加したいため【 行 】に【 1 】を設定し【 保存 】をクリックします。

次にExcelを保存して閉じる処理を入れるため、【 Excel 】から【 Excelを閉じる 】を【 Loop 】の【 End 】後に追加します。

【 Excelを閉じる 】のパラメータの【 Excelインスタンス 】を確認し【 Excelを閉じる前 】で【 名前を付けてドキュメントを保存 】を選択します。【 ドキュメント形式 】で保存するドキュメント形式を選択し、【 ドキュメントパス 】で【 {x} 】の左側にある【 ファイル 】のアイコンをクリックし、保存先と保存名を設定し【 保存 】をクリックします。
※ 【 ドキュメント形式 】 で選択するものは【 Excel ブック (.xlsx) 】を選択していれば標準形式のExcelファイルとして保存されます。

ここまで作成したフローの流れは以下のようになります。

今回作成した【 Excelの起動からデータを書き込み保存して終了 】フローを実行すると以下の動作となります。

また、作成されたExcelのデータは以下のデータが書き込まれます。

Excelファイルを読み込む
【 Excelの起動からデータを書き込み保存して終了 】と同じように【 Excel 】から【 Excelの起動 】を追加し ます。【 Excelの起動 】を【 次のドキュメントを開く 】を選択し、【 ドキュメント パス 】を設定し【 保存 】をクリックします。
※ここでは【 Excelの起動からデータを書き込み保存して終了 】で作成されたExcelファイルを使用します。また今回は【 読み取り専用として開く 】設定をしています。そのため書き換えないファイルは読み取り専用で開くことをおススメします。さらにパスワード設定されたExcelファイルを開く場合は【 Excelの起動 】のパラメータの【 詳細 】からパスワードの入力を行うとパスワード設定されたExcelファイルを開くことができます。

【 Excelの起動からデータを書き込み保存して終了 】と同じように【 ループ 】から【 Loop 】を追加します。 ※Loopに設定する値も同じように設定します。
次にExcel ワークシートから読み取りを行うため、Loopを追加後Loop内に【 Excel 】の【 Excel ワークシートから読み取り 】を追加します。

【 Excel ワークシートから読み取り 】のパラメータの【 Excelインスタンス 】に【 Excelの起動 】の変数を使用し、【 取得 】から【 単一セルの値 】を選択します。今回は【 Excelの起動からデータを書き込み保存して終了 】で作成されたExcelファイルを使用しているため【 Excel ワークシートに書き込み 】で設定した値を【 行先頭列 】【 先頭行 】で利用します。
※Excelのセルに表示されている値をそのまま取得したい場合は【 詳細 】から【 セルの内容テキストとして取得 】にチェックを入れると表示されている形式のまま値を取得することができます。

最後に【 Excel 】から【 Excelを閉じる 】を【 Loop 】の【 End 】後に追加します。
※今回は【 Excelを閉じる前 】で【 ドキュメントを保存しない 】を選択しています。
ここまで作成したフローの流れは以下のようになります。

今回作成した【 Excelファイルを読み込む 】フローを実行すると以下の動作となります。
※実行時に読み込まれているかフローでは確認するアクションを追加していませんが【 フロー変数 】の【 ExcelData 】を確認していただくと、指定したExcelのデータが読み込まれていることが確認できます。

お疲れ様でした。これでPower Automate Desktopを用いたExcelの自動化はできたのではないでしょうか。もし「こんなことを自動化したいけど、どうフローを作成したらいいの?」などという場合はコメント欄にコメントをお願いします。私のできる範囲で回答したと思います。
コメント