UiPath : Excelワークシートの各行をループしてセルの値を取得する方法

UiPath はRPA製品の1つです。プログラミング不要で簡単にプログラムを作成できます。

この記事では、「繰り返し(各行)」アクティビティを使用して、Excelワークシートの各行をループしてセルの値を取得する方法を紹介します。

1. この処理で使用するExcelデータ

「GetExcelRowData.xlsx」というファイル名で以下のようなExcelファイルを使用します。

2. シーケンス

以下のシーケンスを作成することで、各行をループする処理を構築することが可能です。

3. 変数

変数定義は以下になります。

「ExcelRangeDataTable」(DataTable型)という変数を使用します。

4. 処理1:Excelアプリケーションスコープ

「Excelアプリケーションスコープ」アクティビティを使用してExcelファイルを開きます。

5. 処理2:範囲を読み込み

「範囲を読み込み」アクティビティを使用してExcelワークシート内にあるテーブルを取得します。

プロパティ「範囲」に「””」を入力した場合、ワークシートの左上にある表が対象になります。

オプション「ヘッダーの追加」にチェックが入っていますので、1行目はヘッダ行とみなされます。

出力「データテーブル」プロパティに、「ExcelRangeDataTable(DataTable型)」変数を指定します。この変数の中に、Excelのテーブルの値がセットされます。

6. 処理3:繰り返し(各行)

「ExcelRangeDataTable」のデータテーブルの各行を繰り返します。

コレクションに「ExcelRangeDataTable」を指定します。

1行分が「row」変数にセットされます。

7. 処理4:row変数から値を取得

row変数は左から配列のようなイメージでセットされます。

今回のExcelファイルで言うと、このようになります。

  • row(0) ・・・ 番号
  • row(1) ・・・ 内容
  • row(2) ・・・ 日付

今回のシーケンスでは、メッセージボックスに「row(1).ToString()」と記載していますので、「内容」の値が表示されます。

また、rowプロパティは添え字だけでなく、ヘッダ文字列を使用して値を取得することも可能です。 今回のExcelファイルで言うと、

  • row(0) = row(“番号”)
  • row(1) = row(“内容”)
  • row(2) = row(“日付”)

と同じ意味になります。

8 UiPathのロボット開発相談を検討してみませんか?

私はシステムエンジニアとして10年以上経験があり、プロジェクトリーダーとしてUiPath導入を行ってきました。実務経験が豊富にありますので、UiPathの開発相談を頂ければ誠心誠意対応させて頂きます。

Twitter DM (https://twitter.com/Harus0313)または、以下のGoogleフォームまでご連絡頂けますと幸いです。

コメント

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