スポンサーリンク

Power Automate DesktopでExcelの操作を自動化する方法[#1]

スポンサーリンク
Power Automate Desktop

はじめに

前回Power Automate DesktopでWebブラウザの操作自動化を紹介しましたが、この記事ではPower Automate Desktopを使用したExcelの操作自動化を行う方法を紹介しています。
今回は【 Excelの起動からデータを書き込み保存して終了 】【 Excelファイルを読み込む 】のフロー作成について紹介しています。

Power Automate Desktopのインストール

Power Automate Desktopのインストールをしていない方は、インストール手順を紹介していますので参考にしてください。

Power Automate Desktopのリファレンス

Power Automate Desktopのフロー作成にてアクションの使用方法などがわからない場合はMicrosoftのアクション リファレンスを参照してください。

アクションの参照 - Power Automate
ここでは、すべての Power Automate Desktop アクションについて説明します

前回紹介した記事

Webブラウザの操作を自動化したい方は、ぜひこちらも合わせて見てください。

Excelの自動操作

Power Automate Desktopを用いたExcel操作の自動化を機能ごとに紹介していきます。
紹介した自動化処理を組み合わせることにより、Power Automate Desktopを使用してExcelの自動化で様々なことができるようになります。

Excelの起動からデータを書き込み保存して終了

まずは、【 Excelの起動 】を起動させるためにPower Automate Desktopの【 Excel 】から【 Excelの起動 】を追加します。

Excelの起動追加

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

空のドキュメントを指定し保存を押下

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

Loopを追加

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

Loopのパラメータ指定

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

Excel ワークシートに書き込みを追加

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

書き込みする値を設定

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

列や行を設定し保存を押下

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

Excelを閉じるを追加

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

Excelの保存場所を設定

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

【Excelの起動からデータを書き込み保存して終了】のフローの全体像

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

【Excelの起動からデータを書き込み保存して終了】のフローの動作

また、作成された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 ワークシートから読み取りのパラメータ設定

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

【Excelファイルを読み込む】のフロー全体像

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

【Excelファイルを読み込む】の動作

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

コメント