【UiPathの使い方】Excelファイルを開いてデータを読み出すシナリオを作成

UiPath>フローチャートアクティビティを配置

【UiPathの使い方】Excelファイルを開いてデータを読み出すシナリオを作成

今回はUiPath/ユーアイパスによるExcelファイル操作について解説します。
大まかな処理の流れは以下の通りです。

①Excelファイルのオープン
②Excelファイルの内容を読み出し、データテーブルに保存
③データテーブルの内容を1行づつメッセージボックスで表示

UiPath>フローチャートアクティビティを配置

UiPath>フローチャートアクティビティを配置

まず、UiPath Studioを立ち上げ、アクティビティ検索窓に「フローチャート」と打ち込みます。すると、フローチャートアクティビティが検索されますので、これをドラッグアンドドロップでデザイナーズパネルに配置します。

ワークフローを書く準備

これでワークフローを書く準備が出来ました。
ワークフローを使わずにシナリオを書いていく方法もありますが、普段見慣れた業務フローと同じ体裁の書式を使う事で業務の流れを理解し易いワークフローをベースにしてシナリオを書くことをお奨めします。

UiPath>Excelファイルを開くためのアクティビティを配置

Excelファイルを開くためのアクティビティを配置

次に、Excelファイルを開くためのアクティビティを配置しましょう。
アクティビティ検索窓に「excel」と打ち込みます。
そうするとExcelに関連したアクティビティが絞り込まれて表示されます。

「Excelアプリケーションスコープ」という名前のアクティビティを探す

「Excelアプリケーションスコープ」という名前のアクティビティを探してください。
これがExcelファイルを開くためのアクティビティです。
見つかったらマウス操作のドラッグアンドドロップで先ほど準備したフローチャートに配置します。

UiPath>Excelアプリケーションスコープ」アクティビティをダブルクリック

配置が出来たら、このアクティビティをダブルクリック

フローチャート上に「Excelアプリケーションスコープ」アクティビティが配置されました。
配置が出来たら、このアクティビティをダブルクリックします。

Excelアプリケーションスコープのアクティビティには開こうとするExcelワークブックのパスを記述

Excelアプリケーションスコープのアクティビティには開こうとするExcelワークブックのパスを記述します。C:\~の形式のフルパスで指定することもできますが、デフォルトのフォルダを使用する場合はパスを省略してファイル名だけを記述することもできます。
デフォルトのフォルダはマイドキュメントの下にあるUiPathフォルダの中のプロジェクト名のついたフォルダの下です。

直接記述する方法の他に、「…」ボタンをクリックするとファイル選択ダイアログが表示されますので、こちらも利用可能

直接記述する方法の他に、「…」ボタンをクリックするとファイル選択ダイアログが表示されますので、こちらを利用することもできます。

UiPath>対象のExcelファイルを選択

ファイル選択ダイアログにはデフォルトのフォルダが表示されます。
ここでは「input.xlsx」というファイルを選択します。

Excelファイルの中身は5教科のテスト結果をまとめたこのような内容

Excelファイルの中身は5教科のテスト結果をまとめたこのような内容です。

Excelアプリケーションスコープアクティビティの中の実行の中に配置

次に開いたExcelワークブックの内容を読み取るアクティビティを配置します。
アクティビティ検索窓に「Excel」と打ち込むと絞り込まれるアクティビティの中に「範囲を読み込む」という名前のアクティビティがあります。これをExcelアプリケーションスコープアクティビティの中の実行の中に配置します。

プロパティパネルの中に「ヘッダーの追加」という項目がありますのでここにチェックが入っていることを確認

「範囲を読み込む」アクティビティにはシート名と範囲の入力項目がありますが、今回はデフォルトのままで結構です。
プロパティパネルの中に「ヘッダーの追加」という項目がありますのでここにチェックが入っていることを確認してください。

赤で囲った部分>ヘッダーの追加にチェックを入れると、シートを読み込む際に1行目がヘッダーとして扱われます

ヘッダーの追加にチェックを入れると、シートを読み込む際に1行目がヘッダーとして扱われます。赤で囲った部分です。2行目以降が実データとして扱われますので、この例でいえば5行のデータが存在することになります。

UiPath>読み取ったシートの内容を変数(データテーブル)に保存

読み取ったシートの内容を変数(データテーブル)に保存

読み取ったシートの内容を変数(データテーブル)に保存します。
プロパティパネルの中の出力-データテーブルの入力項目に出力先の変数名を入力します。

ところで、データテーブル変数はまだ宣言(作成)していませんでしたね。
UiPath Studioではまだ宣言していない変数を、宣言しながら設定する便利な方法が用意されています。

データテーブルの入力欄にカーソルを移動させ、Ctrlキーを押しながらKを押してください。

データテーブルの入力欄にカーソルを移動させ、Ctrlキーを押しながらKを押してください

そうすると名前の設定:という文字が表示されます。そのまま続けて宣言する変数名を入力します。ここでは score とします。

宣言したscoreという名前の変数が確認できます。

宣言された変数を確認しましょう。
デザイナーズパネルの下の方に「変数」というタブがありますので、クリックします。
たった今、宣言したscoreという名前の変数が確認できます。

scoreという変数はExcelアプリケーションスコープの中の実行の中だけで有効となっています

ここに並んでいる項目のうちのスコープに注目してください。
スコープは「実行」となっています。
この設定では、scoreという変数はExcelアプリケーションスコープの中の実行の中だけで有効となっています。

プルダウンで切り替えることができますので、フローチャートに変更してください。

今回のシナリオではscoreという変数は実行の外でも利用しますので、スコープを変える必要があります。
プルダウンで切り替えることができますので、フローチャートに変更してください。

UiPath>ワークフローの画面に戻って設定

デザイナーズパネル上部のフローチャートという文字をクリック

現在は詳細画面が表示されていますが、ワークフローの画面に移動してみましょう。
デザイナーズパネル上部のフローチャートという文字をクリックします。

ワークフローの画面に戻りました。
では次に読み出してデータテーブル変数に保存したExcelシートのデータを操作する処理を書いていきましょう。
Excelシートにはヘッダーを除いて5行のデータがありました。
これを1行づつ繰り返し処理します。
その為のアクティビティを配置します。

UiPath>繰り返しの設定

アクティビティ検索窓に「繰り返し」と打ち込むと、繰り返し処理のためのアクティビティが表示

アクティビティ検索窓に「繰り返し」と打ち込むと、繰り返し処理のためのアクティビティが表示されます。この中の「繰り返し(各行)」という名前のアクティビティを選択し、ドラッグアンドドロップでワークフローに配置します。
場所はExcelアプリケーションスコープの次です。

UiPath>青いビックリマークが出た時の原因と対処法は?

繰り返し処理のためのアクティビティを配置完了

配置できましたが、ところで、アクティビティの右上に青いビックリマークがついています。
これは、何かしら設定すべき項目が未設定である場合に表示される警告マークです。
では、必要項目を設定しましょう。
繰り返し(各行)アクティビティをダブルクリックします。

コレクションの項目が空欄になっています。 ここに繰り返し処理対象とするデータテーブル変数名を記述

コレクションの項目が空欄になっています。
ここに繰り返し処理対象とするデータテーブル変数名を記述します。

コレクションにscore、要素はデフォルトのままrowです。

コレクションにscore、要素はデフォルトのままrowです。
このように設定すると、scoreというデータテーブルから1度に1行つづ、1行目、2行目、3行目…と、rowという変数を使ってデータにアクセスすることができます。

UiPath>Excelファイルから取得したデータを画面に表示

「メッセージボックス」という名前のアクティビティを使います。

では、Excelファイルから取得したデータを画面に表示させてみましょう。
「メッセージボックス」という名前のアクティビティを使います。

「メッセージボックス」アクティビティを「繰り返し(各行)」アクティビティ内のBodyの中に配置します。

メッセージボックスに出力するテキストを記述

メッセージボックスに出力するテキストを記述します。
以下のように入力してみてください。

“国語:” & row(“国語”).ToString & vbcrlf & “数学:” & row(“数学”).ToString & vbcrlf & “英語:” & row(“英語”).ToString & vbcrlf & “理科:” & row(“理科”).ToString & vbcrlf & “社会:” & row(“社会”).ToString

メッセージボックスに出力するテキストの入力例

vbcrlfというのはVisualBasicでも使う事の出来るWindowsの定数です。改行させるために使っています。

UiPath>シナリオ実行(完成)

ここまでできたら、いったん保存して、実行してみましょう。

ここまでできたら、いったん保存して、実行してみましょう。

メニューの中に実行ボタンがありますので、クリックします。

メッセージが次々に5回、このように表示されれば成功です。

メッセージが次々に5回、このように表示されれば成功です。

Excelファイルを開いて、中のデータをテーブルデータとして読み出し、読み出したデータを画面に表示させるシナリオが完成しました。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする