\ 楽天BLACK FRIDAYセール! /

Power Automate for DesktopのExcelのセルの読み込み

じょじお

この記事では、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を操作する流れ(読み込み・書き込み)

  1. Excelアプリケーションを開く。
  2. ワークシートを指定する。
  3. セル、またはセル範囲を取得して[書き込み or 読み込み]を行う。
  4. Excelの保存(書き込みを行った場合)
  5. Excelを閉じる

ご覧いただくとわかるように、人間が手作業でExcel操作を行うときの流れと変わらないのでイメージしやすいかなと思います。

じょじお

念の為、手作業でExcelを操作する時の流れを確認してみましょう。

人間が手作業でExcel操作する時の流れを確認しよう

手作業でExcel操作をする流れをイメージしよう
STEP
Excelを起動してファイルを開きます。
Power Automate for DesktopでExcel

▲Excelファイルをダブルクリックして操作するファイルを開きました。

STEP
シートを特定します。
Power Automate for DesktopでExcel

▲シートタブから操作対象のシートをクリックしてアクティブにしました。

STEP
セル範囲を特定します。
Power Automate for DesktopでExcel

▲読み込み、書き込みを行うセル(あるいは複数セルの範囲)を選択してアクティブにしてから[読み込みor書き込み]を行いました。

STEP
Excelを閉じます。

作業が終わったら(書き込みを行った場合は保存して)Excelを閉じます。

じょじお

以上が、手作業でExcel作業する流れです。Power Automate for Desktopでもこの基本的な流れは変わりません。フローを作成する時はこの流れをイメージしましょう。

Excelの読み込みに使用するアクションは?

それでは概要を理解したところでPADを使ってフローを作成してみたいと思います。この記事ではPower Automate for Desktopの基本的な操作は理解している方を対象に説明しています。

PADで一度もフローを作成したことがない方は、下記の記事でインストールから基本的な使用方法までを解説していますので参考になさってください。

使用するPADのアクション

Excelの読み込みを行うためには、下記の4つのアクションを使用します。

動作Power Automate Desktopアクションの名前
1Excelファイルを開きます。Excelの起動
2Excelのシートを選択してアクティブにします。アクティブなExcelワークシートの設定
3Excelのセルの値を読み込みます。Excelワークシートから読み取り
4Excelを閉じます。Excelを閉じる
Power Automate for DesktopのExcel読み込みフローに必要なアクション

Excel読み込みフローを作成しよう!

STEP
要件を確認します。
Power Automate for DesktopでExcel

▲上記のような請求書からC17 セルに入力された合計金額を読み取ることを今回のゴールにします。

STEP
Power Automate for Desktopの新規フローを作成します。
STEP
Excelの起動をクリックします。
Power Automate for DesktopでExcel

▲Excelグループの中にある「Excelの起動」アクションをクリックします。

Power Automate for DesktopでExcel

▲「Excelの起動」アクションのパラメータを入力します。

  • Excelの起動:「次のドキュメントを開く」を選択します。
  • ドキュメントパス:Excelのファイルパスを入力します。
  • インスタンスを表示する:Excelを開くときにバックグラウンドで表示しないようするか、表示するかを選択します。チェックをオフにするとExcelが画面上に表示されません。
  • 読み取り専用として開く:書き込みを行わない場合は、読み取り専用のチェックをオンにします。

「インスタンスを表示する」のチェックをオフにする場合でもフローが完成するまではチェックをオンにして画面上に表示するようにしておいた方が良いです。何度かテスト実行しているうちにバックグラウンドに非表示のExcelが残ったまま閉じ忘れることがあるからです。

STEP
「アクティブなExcelワークシートの設定」アクションを追加します。
Power Automate for DesktopでExcel

▲アクショングループの中の「Excel>詳細」の中の「アクティブなExcelワークシートの設定」アクションを追加します。

Power Automate for DesktopでExcel

▲「アクティブなExcelワークシートの設定」アクションのパラメータを入力します。

  • Excelインスタンス:起動したExcelインスタンスを指定します。今回は「Excelの起動」アクションによってExcelを開きましたので「Excelの起動」アクションのフロー変数である「%ExcelInstance%」を指定します。
  • 次とともにワークシートをアクティブ化:ワークシートをどのように指定するかを「名前」か「インデックス」のいずれかから選択します。今回は「シートの名前がわからずExcelの中の一番左側のシートを選択する」という想定のもと「インデックス」を選択します。
  • ワークシートインデックス:シートのインデックス番号を指定します。インデックス番号の数え方はブックのシートは左から数えます。今回は一番左端のシートを指定したいので「1」と入力します。

「アクティブなExcelワークシートの設定」アクションを使わない場合、前回閉じた時にアクティブだったシートがアクティブになります。シートが1枚しかないExcelファイルの場合は必ずシート1がアクティブになりますのでこのアクションは不要ではあるのですが、万が一シートが増えた場合を想定してこのアクションを使っておくと安心です。

STEP
「Excelワークシートから読み取り」アクションを追加します。
Power Automate for DesktopでExcel

▲アクショングループの中の「Excel>詳細」の中の「Excelワークシートから読み取り」アクションを追加します。

Power Automate for DesktopでExcel

▲「Excelワークシートから読み取り」アクションのパラメータを入力します。

  • Excelインスタンス:起動したExcelインスタンスを指定します。今回は「Excelの起動」アクションによってExcelを開きましたので「Excelの起動」アクションのフロー変数である「%ExcelInstance%」を指定します。
  • 取得:今回は「単一のセルの値」を選択します。
  • 先頭列:該当のセル番号を指定します。今回はC17セルをターゲットにしますので列番号は3です。3と入力します。(※1)
  • 先頭行:該当のセル番号を指定します。今回はC17セルをターゲットにしますので行番号は17です。17と入力します。

※1:列の指定はアルファベット、数字どちらでも指定できました。

STEP
「Excelを閉じる」アクションを追加します。

▲アクショングループの中の「Excel」の中の「Excelを閉じる」アクションを追加します。

▲「Excelを閉じる」アクションのパラメータを入力します。

  • Excelインスタンス:起動したExcelインスタンスを指定します。今回は「Excelの起動」アクションによってExcelを開きましたので「Excelの起動」アクションのフロー変数である「%ExcelInstance%」を指定します。
  • Excelを閉じる前:ドキュメントを保存しない
STEP
フローが完成しました。(完成図)
STEP
フローを実行して結果を確認しましょう。
じょじお

C17セルに記入された合計金額の値「600」という数値を取得することができました。成功です!

▲「Excelワークシートから読み取り」アクションはExcelData 変数に結果を出力します。ExcelData変数の中身を確認してみましょう。

ExcelData変数は画面右側の変数ペインの変数一覧に表示されています。うまくフローの実行に成功していれば上図のようにセルの値が取得されているはずです。もし中身が表示されていない場合は変数をダブルクリックしてみてください。中身を詳細に確認することができます。

もし、変数の中身に何も表示されていない場合は「エラーが起こっていないか」「Excelワークシートから読み取りアクションに指定したセルのアドレスに間違いがないか」などを確認してみましょう。

エラーの時は、ステップ実行を使ってひとつひとつアクションを確認をしていきましょう!

読み込むセルのアドレス(場所)がわからない時は?

「Excelワークシートから最初の空の行を取得する」アクションを使おう!

今回は「Excelワークシートから読み取り」アクションにセルのアドレスを直接値を入力しました。この方法はセルのアドレスが固定の場合有効です。

しかし、実務で読み込みを行う場合は「テーブル(表)の最終行とか最終列のデータを読み込む」という場合が多いと思います。こんな時に便利なのが最終行と最終列を取得してくれる「Excelワークシートから最初の空の行を取得する」アクションです。このアクションを使えばExcelの最終行と最終列を判別してくれますのでより柔軟なフローを作成することができます。アクションの使い方については下記の記事で解説していますのでご参考になさってください。

「Excelワークシートから最初の空の行を取得する」アクションを使おう!

実務では、品番やユニークIDをもとにExcelのテーブル(表)から該当行を検索して、そのレコード(行)のデータを読み込みたいという要望もあるかと思います。こういった要件については下記の記事で解説していますのでご参考になさってください。

>IDをもとにExcel表を検索して、ヒットしたレコードを読み込む方法(記事準備中)

Excel関連アクションの個別解説はこちら

今回使用したアクションの詳細は、個別記事でより詳細に解説予定です。完成したらこちらにリンクを掲載いたします。

Excelの起動アクション

Excelの表領域の複数セルを一括で読み込む方法は?

じょじお

表領域の複数セルをまとめて読み込む方法は下記の記事で紹介しています。

Excelの書き込みを行う方法はこちら

じょじお

下記の記事でExcelの基本的な書き込み方法と、2つの保存方法(上書き保存・名前を付けて保存)を解説しています。ご参考になさってください。

まとめ

じょじお

以上、この記事ではExcelファイルからデータを取得する最も簡単な方法をご紹介しました。

ぽこがみさま

このブログではRPA・ノーコードツール・VBA/GAS/Pythonを使った業務効率化などについて発信しています。
参考になりましたらブックマーク登録お願いします!

お役に立てたらシェアお願いします!
  • URLをコピーしました!
  • URLをコピーしました!
目次