Power Automate Desktop 行数がわからないExcelのデータを取得する

効率化
スポンサーリンク

無料で使えるRPA、PowerAutomate Desktopで、Excelファイルからデータを読み込めます。

Excelファイルのテーブルが決まっているときはいいですが、決まっていないとき(可変行)のときどうすればいいかを解説します。

できるようになること

  • Excelの最終行を取得できるようになる
  • Loopを回してデータを読み込む

事前条件

  • Power Automate Desktopがインストールされている
  • ログインして起動までできている
  • 新規フロー作成まではできる

まだ済んでいない場合は、以下などを参考にしてインストールから起動まで実施してみてください。

参考

Excelデータの基本的な読み込みや、Excelのテーブルの大きさが決まっている場合は、以下の記事を参考にしてください。

参考

ここからは、上記の設定を理解している前提で、差分を解説します。

利用している変数なども上記の設定を踏襲しています。

フローを作ってみる:Excelの最終行を取り出す

よく使うケースであろう

Excelからお客様のデータを読み込み、アプリへ入力(するイメージ)

の形を作ってみます。

完成形イメージはこれ

Excelのデータを読み込んで、テキストを表示するまでをやってみます。

Excelワークシートから最初の空の列や行を取得

左側から「Excelワークシートから最初の空の列や行を取得」をドラッグ・アンド・ドロップします。
Excel起動の直後に置きます。Excel起動と終了は前回の記事のものを使いまわしてます。

  • Excelインスタンス
    Excelの起動で設定された%ExcelInstance%を設定しておきます。

変数の設定

左側から「変数の設定」を選んで、フローの3番目にドラッグ・アンド・ドロップします。

  • 設定
    ここでは、LoopIndexとします。
    初期値はNewVarですが、なんでもいいです。
  • 宛先
    宛先?? という感じですが、初期値のことだと思います。
    2行目から読み込みたいので、2を設定します。

ループ条件を設定する

左側から「ループ条件」をフローの4番目に入れます。
自動的に「End」も追加されます。

今回2番目重要なポイントです。

  • 最初のオペランド
    変数の設定で追加した%LoopIndex%を入れます。
  • 演算子
    より小さい(<)を選択します。
  • 2番めのオペランド
    Excelの最終行(Row)を表す%FirstFreeRow%を選択します。

一応、何が起きているか解説すると、以下の感じです。

  • 2番めのオペランドである「%FirstFreeRow%」は、Excelの空の行
    • 今回の例だと、5行目が空の行なので、「5」となる
  • 最初のオペランドである「%LoopIndex%」は、最初は「2」
  • 3行目、4行目にデータが入っているので、4行目までは読み込んで欲しい
  • 5行目は読み込んで欲しくない

そこで、

  • 「%LoopIndex%が5より小さい間は読み込んで欲しい」
  • 「%LoopIndex%が%FirstFreeRow%より小さい間は読み込んで欲しい」
  • 「%LoopIndex%  %FirstFreeRow%」

という設定をする必要があります。

変数を大きくする

左側から変数を大きくする、をドラッグ・アンド・ドロップして8番目にいれます。

5~7は、前回の記事で作られたものをそのまま流用します。

今回、1番大事なポイント。

  • 変数名
    %LoopIndex%を設定します。
  • 大きくする数値
    1ずつ大きくなって欲しいので、1を入れます。

この処理を忘れると、無限ループになって大変なことになります。

以上で処理は終了です。

試しに動かしてみる

再生ボタンを押してみましょう。
うまく設定されていれば、メッセージボックスが3回表示されるはずです。

Excelファイルのテーブルで、データが入っている領域を増やしたり減らしたりしてみてください。
テーブルの大きさに応じて、ループの回数が変わると思います。

実際に利用するには

これを実際に業務に利用するためには、以下が必要となります。

  • 業務のデータが入っているExcelの中身を把握する
  • メッセージを表示、のところを、実際にアプリへ入力する設定にする

実際に入力するところは、デスクトップレコーダーを利用するとある程度自動的にフロー作成できると思います。

まとめ

Power Automate Desktopで、Excelの最終行を取得して活用する方法を解説しました。

ツールを初めて触った私でも、5分ほどで作ることができました。

あとはアプリ入力部分を作れば、自動化完成です!

参考 Power Automate Desktopを無料で自動起動させるアイデアをまとめました。

コメント

タイトルとURLをコピーしました