【できるUiPath】は注目のRPAサービス「UiPath」を使って、RPAのワークフローを作るための基本操作から、実際に業務をRPA化する実践テクニックまでを解説する連載です。
過去の記事一覧【できるUiPathまとめ】

レッスン19Excelデータの読み込み

Excelからデータを取得するには

一般的な業務では、さまざまな形でExcelのデータを利用するケースがよくあります。Excelのデータを読み込むいろいろな方法を見てみましょう。

範囲やセルの値を読み込める

Excelのデータから、どのようなデータを読み取るかによって、アクティビティも使い分けます。特定のセルだけ読み込む場合と、一定の範囲を読み込む場合の方法を確認しましょう。

[Excel]の[セルを読み込む]

[Excel]の[セルを読み込む]は指定したセルのデータをピンポイントで読み込むアクティビティです。

Excelからデータを取得するには(Excelデータの読み込み) - できるUiPath

[Excel]の[範囲を読み込む]

表形式のデータをまるごと読み込みたいときは[Excel]の[範囲を読み込む]で複数のセルの情報をまとめて取得します。

Excelからデータを取得するには(Excelデータの読み込み) - できるUiPath

HINTExcelがない環境の場合は

[セルを読み込む]や[範囲を読み込む」といったExcel関連の機能は、同じ名前のアクティビティとして2つの種類が登録されています。[Excel]配下に登録されているアクティビティはExcelの起動中に動作します。Excelを起動して値を読み込むため、必ず[Excelアプリケーションスコープ]内に配置しましょう。

一方、[ワークブック]配下にあるアクティビティは、Excelのファイルから直接データを読み込みます。[Excelアプリケーションスコープ]外でも動作するうえ、パソコンにExcelがインストールされていなくても利用できます。ただし、利用できるアクティビティが限られており、マクロの起動など高度な処理はできません。ここでは、Excel配下のアクティビティを利用しますが、同じことはワークブック配下のアクティビティでも実現できます。

HINTこのレッスンで使う変数

このレッスンでは、次の変数を使います。ワークフロー内で登場する変数の用途を確認しておきましょう。

getAmount

型:GenericValue
用途:読み込んだセルの値を格納する

expTable

型:DataTable
用途:読み込んだ範囲(表)の値を格納する

特定のセルの値を読み込む

請求書や見積書のような文書形式のデータから金額のデータを読み取りたいときは、[Excel]の[セルを読み込む]で特定のセルの値を読み取るときに使います。

1[Excelアプリケーションスコープ]を追加してファイルを指定する

Excelからデータを取得するには(Excelデータの読み込み) - できるUiPath

2[Excel]の[セルを読み込む]を追加して設定する

Excelからデータを取得するには(Excelデータの読み込み) - できるUiPath

3読み込んだデータを確認する

Excelからデータを取得するには(Excelデータの読み込み) - できるUiPath

HINT[...]でファイルを指定できる

手順1の操作3で、[Excelアプリケーションスコープ]の右側にある[...]をクリックすると、エクスプローラーを使って開くファイルを指定できます。また、「"D:\data\data.xlsx"」のようにパスを直接指定することも可能です。通常は、ファイルの場所を明らかにするために、絶対パスでファイルを指定するようにしましょう。

HINTExcelファイルを閉じておこう

ワークフローを実行するときは、参照先のExcelのファイルを閉じておきましょう。開いたままワークフローを実行すると、同名のファイルを開けないため、処理が中断されてしまいます。

HINT文字列型に変換しなくても大丈夫

[セルを読み込む]で取得したデータは、GenericValue型の変数に格納されます。このため、[1行を書き込み]などで表示する際に、[.ToString]を付けて文字列型に変更する必要はありません(ただし、変更しても問題ありません)。次に解説する[範囲を読み込む]の場合は、データテーブル型で格納されるため、表示のときなどに[.ToString]が必要です。

HINT[1行を書き込み]って何?

手順3の操作1で追加している[1行を書き込み]アクティビティは、UiPathStudioの[出力]パネルに結果を表示するためのアクティビティです。変数の値を確認したいときなどに利用します。

[範囲を読み込む]でデータをまとめて取得する

[Excel]の[範囲を読み込む]はExcelのシート全体や指定した範囲のデータをまとめて取得するアクティビティです。売り上げや在庫など表形式のデータを扱う場合に利用します。

1[Excelアプリケーションスコープ]を追加してファイルを指定する

Excelからデータを取得するには(Excelデータの読み込み) - できるUiPath

2[Excel]の[範囲を読み込む]を追加して設定する

Excelからデータを取得するには(Excelデータの読み込み) - できるUiPath

3読み込んだデータテーブル上の特定の値を取り出す

Excelからデータを取得するには(Excelデータの読み込み) - できるUiPath

HINT読み込むワークシートを指定するには

標準では["Sheet1"]シートのデータが読み込まれます。ほかのワークシートのデータを読み込むときは、手順2で["Sheet2"]としたり、["データ"]などのシート名を指定して読み込みます。また、右側のテキストボックスにある[""]を["A1:D5"]のように変更して、読み込むセル範囲の指定も可能です。

HINT1行目はヘッダーとして扱われる

標準では、表の1行目がヘッダー(見出し)として扱われます。もしも、ヘッダーではなく、データとして扱いたいときは、[範囲を読み込む]を選択後、[プロパティ]パネルの[オプション]にある[ヘッダーの追加]のチェックマークをはずします。

HINT読み込んだデータを処理するには

ここでは読み込んだデータを順番に処理したいときは、[繰り返し(各行)]と組み合わせます。詳しくはレッスン10を参照してください。

HINT行と列で構成されるデータがデータテーブル

[範囲を読み込む]で取得したExcelのデータは、データテーブルとして格納されます。データテーブルは、行と列で構成される表形式の配列データです。「Row」で行を、「Item」で列を指定し、それぞれ「( )」の中に番号を指定することで、必要なデータを特定できます。ただし、Excelの表と異なり、番号が「0」から開始されるのがポイントです。1行目は「Row(1)」ではなく「Row(0)」となります。

Excelからデータを取得するには(Excelデータの読み込み) - できるUiPath

Excelからデータを取得するには(Excelデータの読み込み) - できるUiPath

HINTこんなにあるExcel関連のアクティビティ

UiPath Studioには、Excelのデータを扱うためのたくさんのアクティビティが用意されています(画面参照)。データの読み取りや書き込みだけでなく、マクロを実行したり、ピボットテーブルを扱うこともできます。

Excelからデータを取得するには(Excelデータの読み込み) - できるUiPath

HINT列番号の代わりに見出しの名前を使える

Excelのヘッダーを取得してある場合は(標準設定)、[Item(2)]と列番号を指定する代わりに、[Item("金額")]と見出しの名前でデータを指定することもできます。名前で指定した方が、後からワークフローを修正したり、変更するときに、分かりやすくなります。なお、名前で指定するときは、必ず「""」で囲むことを忘れないようにしましょう。

Excelからデータを取得するには(Excelデータの読み込み) - できるUiPath

PointExcelのデータも自由自在

[Excel]の[セルを読み込む]や[範囲を読み込む]を使うと、Excelのデータを簡単にUiPath Studio上に読み込めます。普段、Excelで管理しているデータや過去に作成したデータ、取引先から送られてきたデータなどがある場合も、UiPath Studioなら簡単に自動化できます。身の回りにあるExcelのデータをそのまま活用して、業務の効率化を目指しましょう。

提供:UiPath

関連まとめ記事