この記事では、Power Automate for Desktop(PAD)のExcelの読み込みを行う時の基本について学習します。
この記事でわかること!
- Power Automate for DesktopでExcelファイルを読み込む方法。(単一セル)
PADでExcel操作をするときの流れの概要
Power Automate for DesktopでExcel操作する時の流れを確認しよう
Power Automate for desktopでは、Excel操作は下記の5つのステップで行います。
Power Automate for DesktopでExcelを操作する流れ(読み込み・書き込み)
- Excelアプリケーションを開く。
- ワークシートを指定する。
- セル、またはセル範囲を取得して[書き込み or 読み込み]を行う。
- Excelの保存(書き込みを行った場合)
- Excelを閉じる
ご覧いただくとわかるように、人間が手作業でExcel操作を行うときの流れと変わらないのでイメージしやすいかなと思います。
念の為、手作業でExcelを操作する時の流れを確認してみましょう。
人間が手作業でExcel操作する時の流れを確認しよう
▲Excelファイルをダブルクリックして操作するファイルを開きました。
▲シートタブから操作対象のシートをクリックしてアクティブにしました。
▲読み込み、書き込みを行うセル(あるいは複数セルの範囲)を選択してアクティブにしてから[読み込みor書き込み]を行いました。
作業が終わったら(書き込みを行った場合は保存して)Excelを閉じます。
以上が、手作業でExcel作業する流れです。Power Automate for Desktopでもこの基本的な流れは変わりません。フローを作成する時はこの流れをイメージしましょう。
Excelの読み込みに使用するアクションは?
それでは概要を理解したところでPADを使ってフローを作成してみたいと思います。この記事ではPower Automate for Desktopの基本的な操作は理解している方を対象に説明しています。
PADで一度もフローを作成したことがない方は、下記の記事でインストールから基本的な使用方法までを解説していますので参考になさってください。
使用するPADのアクション
Excelの読み込みを行うためには、下記の4つのアクションを使用します。
動作 | Power Automate Desktopアクションの名前 | |
---|---|---|
1 | Excelファイルを開きます。 | Excelの起動 |
2 | Excelのシートを選択してアクティブにします。 | アクティブなExcelワークシートの設定 |
3 | Excelのセルの値を読み込みます。 | Excelワークシートから読み取り |
4 | Excelを閉じます。 | Excelを閉じる |
Excel読み込みフローを作成しよう!
▲上記のような請求書からC17 セルに入力された合計金額を読み取ることを今回のゴールにします。
▲Excelグループの中にある「Excelの起動」アクションをクリックします。
▲「Excelの起動」アクションのパラメータを入力します。
- Excelの起動:「次のドキュメントを開く」を選択します。
- ドキュメントパス:Excelのファイルパスを入力します。
- インスタンスを表示する:Excelを開くときにバックグラウンドで表示しないようするか、表示するかを選択します。チェックをオフにするとExcelが画面上に表示されません。
- 読み取り専用として開く:書き込みを行わない場合は、読み取り専用のチェックをオンにします。
▲アクショングループの中の「Excel>詳細」の中の「アクティブなExcelワークシートの設定」アクションを追加します。
▲「アクティブなExcelワークシートの設定」アクションのパラメータを入力します。
- Excelインスタンス:起動したExcelインスタンスを指定します。今回は「Excelの起動」アクションによってExcelを開きましたので「Excelの起動」アクションのフロー変数である「%ExcelInstance%」を指定します。
- 次とともにワークシートをアクティブ化:ワークシートをどのように指定するかを「名前」か「インデックス」のいずれかから選択します。今回は「シートの名前がわからずExcelの中の一番左側のシートを選択する」という想定のもと「インデックス」を選択します。
- ワークシートインデックス:シートのインデックス番号を指定します。インデックス番号の数え方はブックのシートは左から数えます。今回は一番左端のシートを指定したいので「1」と入力します。
▲アクショングループの中の「Excel>詳細」の中の「Excelワークシートから読み取り」アクションを追加します。
▲「Excelワークシートから読み取り」アクションのパラメータを入力します。
- Excelインスタンス:起動したExcelインスタンスを指定します。今回は「Excelの起動」アクションによってExcelを開きましたので「Excelの起動」アクションのフロー変数である「%ExcelInstance%」を指定します。
- 取得:今回は「単一のセルの値」を選択します。
- 先頭列:該当のセル番号を指定します。今回はC17セルをターゲットにしますので列番号は3です。3と入力します。(※1)
- 先頭行:該当のセル番号を指定します。今回はC17セルをターゲットにしますので行番号は17です。17と入力します。
※1:列の指定はアルファベット、数字どちらでも指定できました。
▲アクショングループの中の「Excel」の中の「Excelを閉じる」アクションを追加します。
▲「Excelを閉じる」アクションのパラメータを入力します。
- Excelインスタンス:起動したExcelインスタンスを指定します。今回は「Excelの起動」アクションによってExcelを開きましたので「Excelの起動」アクションのフロー変数である「%ExcelInstance%」を指定します。
- Excelを閉じる前:ドキュメントを保存しない
C17セルに記入された合計金額の値「600」という数値を取得することができました。成功です!
▲「Excelワークシートから読み取り」アクションはExcelData
変数に結果を出力します。ExcelData変数の中身を確認してみましょう。
ExcelData変数は画面右側の変数ペインの変数一覧に表示されています。うまくフローの実行に成功していれば上図のようにセルの値が取得されているはずです。もし中身が表示されていない場合は変数をダブルクリックしてみてください。中身を詳細に確認することができます。
エラーの時は、ステップ実行を使ってひとつひとつアクションを確認をしていきましょう!
読み込むセルのアドレス(場所)がわからない時は?
「Excelワークシートから最初の空の行を取得する」アクションを使おう!
今回は「Excelワークシートから読み取り」アクションにセルのアドレスを直接値を入力しました。この方法はセルのアドレスが固定の場合有効です。
しかし、実務で読み込みを行う場合は「テーブル(表)の最終行とか最終列のデータを読み込む」という場合が多いと思います。こんな時に便利なのが最終行と最終列を取得してくれる「Excelワークシートから最初の空の行を取得する」アクションです。このアクションを使えばExcelの最終行と最終列を判別してくれますのでより柔軟なフローを作成することができます。アクションの使い方については下記の記事で解説していますのでご参考になさってください。
「Excelワークシートから最初の空の行を取得する」アクションを使おう!
実務では、品番やユニークIDをもとにExcelのテーブル(表)から該当行を検索して、そのレコード(行)のデータを読み込みたいという要望もあるかと思います。こういった要件については下記の記事で解説していますのでご参考になさってください。
>IDをもとにExcel表を検索して、ヒットしたレコードを読み込む方法(記事準備中)
Excel関連アクションの個別解説はこちら
今回使用したアクションの詳細は、個別記事でより詳細に解説予定です。完成したらこちらにリンクを掲載いたします。
Excelの起動アクション
Excelの表領域の複数セルを一括で読み込む方法は?
表領域の複数セルをまとめて読み込む方法は下記の記事で紹介しています。
Excelの書き込みを行う方法はこちら
下記の記事でExcelの基本的な書き込み方法と、2つの保存方法(上書き保存・名前を付けて保存)を解説しています。ご参考になさってください。
まとめ
以上、この記事ではExcelファイルからデータを取得する最も簡単な方法をご紹介しました。
このブログではRPA・ノーコードツール・VBA/GAS/Pythonを使った業務効率化などについて発信しています。
参考になりましたらブックマーク登録お願いします!