レッスン22Excelデータからの入力

ExcelのデータをWebアプリに入力するには

Excelから読み込んだ表形式のデータを、順番に処理してみましょう。繰り返し処理には、[繰り返し(各行)]アクティビティを使います。

データテーブルを繰り返し処理する

[繰り返し(各行)]はExcelから読み込んだデータテーブルの情報を繰り返し処理できるアクティビティです。例えば、経費の種類や金額などをメモしたリストを読み込んで、請求書発行用のWebアプリに一括登録できます。

[繰り返し(各行)]

データテーブルの値を1行ずつ読み込んで、順番に処理するアクティビティです。

ExcelのデータをWebアプリに入力するには(Excelデータからの入力) - できるUiPath

HINT繰り返し処理にはいろいろある

UiPath Studioでは、用途に応じて複数の繰り返し処理が用意されていますが、表形式のデータテーブルを1行ずつ処理したいときは、[繰り返し(各行)]を使います。

ほかには、以下のようなアクティビティを使って繰り返し処理を行うことができます。

  • [繰り返し(コレクションの各要素)]
  • データの集合について、コレクションの最後の要素の処理が終わるまで処理を繰り返します。

  • [並列繰り返し(コレクションの各要素)]
  • [繰り返し(コレクションの各要素)]の処理を複数、並列的に処理します。

  • [繰り返し(前判定)]
  • ある条件が成立するまで処理を繰り返します。条件を実行前に判定します。実行前に判定するので、条件を満たしていれば一度も処理が行われない場合もあります。

  • [繰り返し(後判定)]
  • ある条件が成立するまで処理を繰り返します。条件を実行後に判定します。実行後に判定するので、必ず一度は処理が行われます。

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

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

expTable

型:DataTable
用途:Excelから読み込んだ表形式のデータを格納する

Excelの読み込みとブラウザーの起動

ここでは、UiPath Demoサイトで公開されている経費登録アプリを使います。まずは、入力元となるExcelファイルを開き、入力先のWebアプリを開きましょう。

1[Excelアプリケーションスコープ]を追加する

ExcelのデータをWebアプリに入力するには(Excelデータからの入力) - できるUiPath

2[範囲を読み込む]を追加する

ExcelのデータをWebアプリに入力するには(Excelデータからの入力) - できるUiPath

3[ブラウザーを開く]を追加する

ExcelのデータをWebアプリに入力するには(Excelデータからの入力) - できるUiPath

HINTInternet Explorerを使う

UiPath Studioは、いろいろなブラウザーに対応しています。[スタート]タブの[ツール]画面から拡張機能をインストールすれば、「Chrome」や「Firefox」を使うこともできます。

ただし、アップデートによってブラウザーの機能やUIが変更されると、作成したワークフローがうまく動作しなくなってしまうことがあるため、「Internet Explorer」のように変更がないブラウザーを使った方が安定してワークフローを実行できます。

HINTURLは「""」で囲む

[ブラウザーを開く]でWebページを表示するときは、開きたいWebページのURLを「""」で囲む必要があります。そのまま指定すると正しく動作しないので注意しましょう。

入力画面を表示する

Webアプリを自動的に操作して、データ入力画面まで遷移させましょう。[クリック]アクティビティで画面上の要素を自動的に操作させます。

1[クリック]を追加する

ExcelのデータをWebアプリに入力するには(Excelデータからの入力) - できるUiPath

HINT選択モード中に一時的に画面操作をしたいときは

手順1で[ブラウザー内に要素を指定]を選択すると、デスクトップが選択モードになり、マウスでクリックした部分が操作対象として選択されます。このため、例えばクリックしたときだけ表示されるメニューの一項目を選択したい場合、そのままではメニューの項目を選択できません。

選択モード中に[F2]キーを押すと、3秒間の猶予ができ、その間に画面上を自由に操作できるので、この隙にクリックしたときだけ表示されるメニューを表示し、カウントダウンが終了したタイミングで、表示したメニューの項目をクリックして指定します。

2クリックする場所を指定する

ExcelのデータをWebアプリに入力するには(Excelデータからの入力) - できるUiPath

3入力画面を表示するまでの処理を作る

ExcelのデータをWebアプリに入力するには(Excelデータからの入力) - できるUiPath

HINTどの操作を繰り返すかを検討しよう

繰り返し処理を作成するときは、全体の操作の中のどの部分を繰り返すかを事前によく考えておく必要があります。例えば、このレッスンのアプリでは、データ入力画面を表示するまでは繰り返す必要はなく、実際にデータを入力する部分を繰り返します。

このため、入力画面を表示するためのアクティビティは、[繰り返し(各行)]の中ではなく、外側に記述します。

HINTクリックできないときは

ここで使うアプリは問題ありませんが、操作対象のアプリによっては、[クリック]で[ブラウザー内に要素を指定]を選択しても、画面上のボタンなどをうまく選択できないことがあります。

このような場合は、[クリック]ではなく、[画像をクリック]を利用して、UiPath Studioに画面上のUIを画像として認識させてみましょう。

繰り返し処理を記述する

入力画面を表示できたら、いよいよ繰り返し処理を記述します。[繰り返し(各行)]を配置して設定しましょう。

1[繰り返し(各行)]を追加する

ExcelのデータをWebアプリに入力するには(Excelデータからの入力) - できるUiPath

2[文字を入力]を追加する

ExcelのデータをWebアプリに入力するには(Excelデータからの入力) - できるUiPath

HINT[文字を入力]って何?

[文字を入力]は、テキストボックスなど、画面上の指定した部分に文字を入力するためのアクティビティです。ここでは、ブラウザーに表示されたWebアプリに文字を入力していますが、Windows用のアプリなど、いろいろな対象に文字を入力できます。

3入力先を指定する

ExcelのデータをWebアプリに入力するには(Excelデータからの入力) - できるUiPath

HINTデータテーブルの構造をイメージしよう

データテーブルは、行と列のデータによって構成されていますが、この行の要素を示すのが[row]です。

[row(0)]や[row(2)]とすることで、現在選択されている行の1番目(0)のデータや3番目(2)のデータを指定できます。

ExcelのデータをWebアプリに入力するには(Excelデータからの入力) - できるUiPath

4タイトルに入力する変数を指定する

ExcelのデータをWebアプリに入力するには(Excelデータからの入力) - できるUiPath

HINT[row(0).ToString]で何が入力されるの?

[繰り返し(各行)」では、データテーブルのデータを1行ずつ読み込んで処理します。[row(0)]は、現在読み込まれている行の1番目のデータを示します。

ここで利用しているサンプルデータ(data.xlsx)では、1行目(最初の行は見出しとして扱われるため実際には2行目)は「交際費, その他, 5030」という配列データになっています。row(0)は、この1番目を示すので「交際費」が格納されます。

HINT「.ToString」って何?

「.ToString」は指定した変数の値を文字列に変換するための記述です。「row(0)」は配列型の変数のため、そのままでは格納されたデータを文字列として扱うことができません。

このため、「.ToString」を追加して文字列として扱えるようにしています。

5[項目を選択]を追加する

ExcelのデータをWebアプリに入力するには(Excelデータからの入力) - できるUiPath

HINT選択肢を選ぶときは[項目を選択]を使う

ここで使うWebアプリでは、[種別]の項目が、いくつかの選択肢から項目を選ぶリストボックスになっています。このように選択形式の対象を操作するときは、[項目を選択]アクティビティを使います。

なお、選択する値は、必ず操作対象側(ここではWebアプリの種別の項目)のリストにあるものを指定する必要があります。

6必須項目の入力処理までを設定する

ExcelのデータをWebアプリに入力するには(Excelデータからの入力) - できるUiPath

入力を確定して次の入力画面まで操作する

データテーブルから読み込んだ1行のデータを処理したら、次の行のデータに切り替えるための操作をします。入力を確定し、再び入力画面を表示しましょう。

1[クリック]を追加する

ExcelのデータをWebアプリに入力するには(Excelデータからの入力) - できるUiPath

2[経費一覧]の画面に戻る処理を追加する

ExcelのデータをWebアプリに入力するには(Excelデータからの入力) - できるUiPath

6経費の入力画面に戻る

ExcelのデータをWebアプリに入力するには(Excelデータからの入力) - できるUiPath

HINT繰り返す範囲を確認しておこう

繰り返される処理は、[繰り返し(各行)]の中に入っている必要があります。ここで紹介したアプリでは、[タイトル]の入力から[明細を登録する]をクリックするまでの一連の手順を繰り返します。これらの手順が[繰り返し(各行)]に入っていないと、意図しない動作になります。

PointExcelの繰り返しは定番処理

このレッスンで紹介した、Excelのデータを読み込んでアプリに入力するという操作は、実際の業務でも非常に多く見られる、いわば定番処理です。データテーブルの考え方と[繰り返し(各行)]の使い方さえ理解できれば簡単に作成できるので、手順をよく確認しておきましょう。

提供:UiPath

関連まとめ記事