08. UiPath Studio開発 初級編【演習】UiPath Studioを体験しよう

UiPath StudioでのRPA開発を始めるにあたって、まず全体の流れをざっくりと体験してみましょう。このハンズオンでは、細かい説明や技術的な内容を省き、全体のイメージをつかむことを目的としています。

具体的には、Excelファイルからデータを読み込み、簡単な処理を行い、新しいファイルに書き出す一連の流れをUiPath Studioで体験します。理解が追いつかなくても大丈夫です。手を動かしながら、UiPathがどのようにプロセスを自動化するかを楽しく学んでいきましょう!

本ハンズオンでは以下の二つ業務の自動化をUiPath Studioで作っていきます。

  1. ExcelとWebアプリを自動処理する
  2. Webページの表をメールで送信する

本ハンズオンは以下の資料を参照して、最新のUiPath Studioで実現したものです。

ExcelとWebアプリを自動処理する

普段の業務を想定した本格的な自動化に挑戦してみましょう。手動でワークフローを作成していきますが、先ずは業務の全体像を把握することが大切です。

現在の業務を分析しよう

普段の業務を自動化する際には、どのアプリを使って、どんなデータを使って処理して、どんなデータを出力するかという業務手順の分析が必要です。例えば、本ハンズオンで例として取り上げる経費精算処理は、フロチャートで流れを書くと、以下のような図となります。

普段の仕事を記録してみよう

作業の流れがイメージにくいときは、実際に業務をしながら、その操作をメモするといいでしょう。
クリックなどの操作だけではなく、作業中に人間が判断した内容(例えば、金額のチェックや取引先の確認)もメモすると、自動化の際に、処理としてどう追加すればいいかを判断する材料になります。

効果を測定したいときは時間を
計測しておこう

UiPath導入の効果を報告しなければならないときは、処理にかかった時間を計測しておくと便利です。「人間の場合は何分で、ロボットで自動化すると何秒」といったように比較できるようにしておくと、導入のための予算を確保しやすくなったり、導入後の成果を報告しやすくなります。

フロチャートについては以下の記事をご参照

ワークフローの完成イメージ図

次の部分から、実際にワークフローを作成していきますが、個別の処理だけを見ていると、全対象がつかみにくくなります。以下に作成するワークフローの流れを示すので、作業中に今どの処理を作成しているのかを確認したりしながら読み進めましょう。

実行後の動作は以下の通りです:

動画が小さくて見えにくい場合は、右下の全画面表示のアイコン(🔲)をクリックしてください。動画が拡大され、より見やすくなります。

事前の設計が重要!

実際の業務を自動化するときは、ワークフローの全体像を把握し、どのアクティビティを使って、どのような順番で処理させるかを事前に設計しておくことが重要です。
行き当たりばったりで処理を作成していくと、無駄に処理が複雑化したり、思い通りに処理が動かなくなったりすることがあります。
事前にじっくりと時間をかけて計画しましょう!

開発STEP1 – Excelファイルを開く

利用するサンプルExcelファイルは以下のURLより事前にダウンロードしてください。

操作手順は以下の通りです。

  1. UiPath Studioを起動して、新規プロジェクトで「プロセス」をクリックし、次の画面にてプロジェクトの名前を入力し、「作成」ボタンをクリックします。
  1. 「[シーケンス]アクティビティを追加して、アクティビティ名を「Excelファイルの読み込み」に変更します。アクティビティの追加方法は以下のページよりご参考ください。
  1. Excelファイルを開くには、上記の「Excelファイルの読み込み」シーケンスにて、「Excel プロセス スコープ」アクティビティを追加します。
  2. 次に、「Excel ファイルを使用」アクティビティを「実行」に追加します。
  3. 「Excel ファイルを使用」アクティビティ内に、事前にダウンロードしたサンプルExcelファイルを指定します。(直接ファイルパスを指定する時には、「” “(ダブルクォーテーション)」で囲みます。)
  4. その以外の設定は一旦デフォルトのままで大丈夫です。

開発STEP2 – Excelデータを読み込む

次は、開いたExcelからデータを読み込みましょう。[範囲を読み込む]を使うと、指定範囲のデータを読み込んでDataTable型の変数(ここでは経費データテーブル)に格納できます。

  1. 「Excel ファイルを使用」の実行に、「範囲を読み込み」アクティビティを追加します。
  2. 次は以下の図のように、読み込みの範囲を指定します。
  1. 次は読み込まれた範囲のデータを保存するため、変数(経費データテーブル)を作成します。
  2. 変数(経費データテーブル)を保存先に設定します。(変数の定義と使用は以下の二つ方法があります)

方法1: まず変数タブにて、変数を定義して、アクティビティに使用します。

方法2: 直接アクティビティの保存先欄で、Ctrl + Kキーを押しながら、変数名を入力して、新しい変数の設定と使用ができます。

方法2では、アクティビティの「保存先」欄で Ctrl + K を押しながら変数名を入力することで、変数の定義と利用を1ステップで完了でき、型も自動設定されるため、より効率的に作業できます。
  1. 保存された経費データテーブル変数は、次のシーケンスでも利用するので、該当変数のスコープをより広くする必要があります。以下のように、スコープを変更します。

開発STEP3 – 業務アプリを開く

続いて、データの入力先となる業務アプリの画面を開きましょう。業務アプリはウェブアプリケーションですので、ブラウザーにてURLを指定して操作します。
ブラウザーでウェブ画面を開くには、「アプリケーション/ブラウザーを使用」アクティビティを使います。

  1. 「アプリケーション/ブラウザーを使用」アクティビティを追加します。
  2. 次はブラウザーで業務アプリ「UiPath Demo」を開きます。
  3. 「アプリケーション/ブラウザーを使用」アクティビティ内の「自動化するアプリケーションを指定」をクリックして、開かれた業務アプリのウェブ画面を指定します。

以下の赤い枠内のをクリックして、ウェブ画面を指定します。

指定後アクティビティは以下のようになります。

  1. 次は実際の入力画面までたどり着くため、複数のボタンをクリックします。
  2. 「クリック」アクティビティを追加して、該当アクティビティでの「次で指定:…」をクリックして、ウェブ画面での「経費を登録する」ボタンを指定します。
  3. 次は同じように、「クリック」アクティビティを追加して、次の画面にて、「明細を登録する」ボタンを指定します。
  4. 途中で動作をチェックしてみよう!

二つの「クリック」アクティビティで、ボタンを指定しました。

[○○を指定]って何?

上記の手順で、「自動化するアプリケーションを指定」や「次で指定:…」があります。
アクティビティの中にある「○○を指定」をクリックすることで、操作対象を実際の画面上で指定できます。
この機能により、操作対象となるウインドウやボタンを識別するための内部的な名前(セレクター)が分からなくても、処理対象を指定できます。

途中で動作をチェックしてみよう

利用するアプリや自動化する処理に よっては、UiPath Studioでの作成作業が長くなります。まずは、こ こまでの動作をチェックしてみましょ う。[実行]ボタンでプロジェクトを実行すると、自動的にブラウザーやExcel が起動するはずです。
要所要所で動作を確認しながら作業を進めましょう!

開発STEP4 – 繰り返しでデータを入力する

ここまでの操作で、以下のような「経費登録」画面まできました。次は、保存した変数の経費データテーブルを「経費登録」画面に入力します。
経費データテーブルには、複数行のデータがありますので、繰り返しで入力する必要があります。

  1. 「繰り返し (データ テーブルの各行)」アクティビティを追加し、「データテーブル」欄に変数の「経費データテーブル」を設定します。
CurrentRowは、繰り返し処理の各回で1行分のデータを表します。
1行分のデータから特定の項目を指定する場合は、CurrentRow(“種別”)と記述します。

DataTable型って何?

ここでExcelから読み取ったデータを
保管する変数(経費データテーブル)は、 DataTable型の変数となっています。
DataTable型の変数は、表など、行と 列で構成されるデータを格納するため の入れ物です。Excelの表のデータが まるごと入っていると考えるとイメー ジしやすいでしょう!!

  1. 次は以下の四つアクティビティを追加し、それぞれの操作対象を指定します。
    • 文字を入力(操作対象:タイトルの入力欄)
    • 項目を選択(操作対象:種別の選択欄)
    • 文字を入力(操作対象:金額の入力欄)
    • 文字を入力(操作対象:備考の入力欄)
  1. 四つの操作対象を指定したら、次は各アクティビティに入力する文字列と選択する項目を指定します。
    • 文字を入力:CurrentRow("タイトル").ToString
    • 項目を選択:CurrentRow("種別").ToString
    • 文字を入力:CurrentRow("金額").ToString
    • 文字を入力:CurrentRow("備考").ToString
  1. 入力が完了したら、「クリック」アクティビティを追加し、「登録する」ボタンを指定します。
  2. 次の行も入力するので、業務アプリの画面に従って、必要な画面遷移をするため、以下のアクティビティを追加し、操作対象を指定します。
    • クリック(操作対象:戻る)
    • クリック(操作対象:明細を登録する)

開発STEP5 – 入力を完了し経費一覧に戻る

ここまでにしたら、変数経費データテーブルでのデータが全て業務アプリのに入力されました。次は、経費一覧画面に戻ります。

  1. 繰り返し入力が完了後の操作ですので、「繰り返し (データ テーブルの各行)」アクティビティの後ろに、以下のアクティビティを追加し、操作対象を指定します。
    • クリック(操作対象:キャンセル)
  2. ここまでは、全ての実装が完了しました。もう一回ワークフローを実行してみましょう。
  3. 実行すると、開かれたブラウザーが閉じられます。そのまま開いた状態にしたい場合は、「アプリケーションブラウザーを使用」アクティビティのプロパティ欄にある「クローズ動作」を「なし」に設定します。

最後に

ここでは、「代入」や「文字入力」、「クリック」、「範囲を読み込み」などの基本的なアクティビティを手動で組み合わせて経費登録業務の自動化をしました。

最初は、アクティビティの役割などが分からないため、難しいと感じてしまうかもしれませんが、ここで紹介した例は、色々自動化処理に応用できる汎用的なものです。一つずつ確実に身につけていけば、多くの処理を自動化することができるでしょう。

ご参考までに、作成したワークフローはこちらです。

Webページの表をメールで送信する

こちらの業務の自動化では、ブラウザーの表の読み込み、CSVファイルへの出力、CSVファイルを添付してメールを送る、という大きく分けて三つの処理を作成します。
ここで作成するワークフローは、日々の情報収集にも活用できます。以下の株価情報サイトから値上がり銘柄のリストを取得します。

作ったワークフローで以下の左側の複数ページの株価情報を右側のCSVファイルに保存してメールを送ります。

株価情報サイトより抜粋
作成したCSVファイルで、全ての株価情報(1800件以上)が保存されていました。

Webページの表のスクレイピング

ここでは、UiPath Studioの強力なデータスクレイピング機能を体験してみましょう。

  1. UiPath Studioを起動して、新しいプロジェクトを作成します。
  2. 株価情報サイトを開きます。(https://finance.yahoo.co.jp/stocks/ranking/up?market=all&term=daily
  3. こちらの業務には、三つの大きな処理があるので、Main.xamlにて、三つの「シーケンス」アクティビティを追加して、どんな処理をしているか分かりやすくするため、シーケンス名を以下ように変更:
    • Webページから表データを取得する
    • 取得した表のCSVファイル形式での保存
    • メールでの送信
  4. UiPath Studioにて、「デザイン」→「表抽出」をクリックします。
  5. 表抽出の画面にて、取得対象の表を選択します。(表の任意の場所をクリック)
  6. 表から全ての列を抽出します。
< 4.「デザイン」→「表抽出」をクリックします >
< 5.表抽出の画面にて、取得対象の表を選択します。>
< 6.表から全ての列を抽出します。>

  1. 該当表には、複数のページがあるので、「次のページへ」のボタンを指定します。
  2. ここまでは、表からのデータ抽出が完了しました。「表抽出」画面での「保存して閉じる」ボタンをクリックします。
< 7.「次のページへ」のボタンを指定します。>

複数ページにまたがるデータも取得できる

こちらの株価情報サイトもそうですが、Webページによっては、表のデータが一定数ごとに区切られ、複数ページに渡って掲載されていることがあります。
データスクレイピング機能では、こうした複数ページに渡る表も、画面を切り替えながら自動的に取得できます。

  1. 上記の「表抽出」を利用して作られたものを「Webページから表データを取得する」シーケンスに移動します。

取得した表のCSV形式での保存

上記の「Webページの表のスクレイピング」を通して、Webページでの表を変数の「ExtractDataTable」(変数型:DataTable)に保存しました。これから、該当データテーブルをCSV形式で保存するには「CSV に書き込み」アクティビテを使います。

  1. これから保存するCSVファイルのファイル名を作成しますので、「代入」アクティビティを追加し、「保存先」と「保存する値」を設定します。
    • 左側の「保存先」:Ctrl+Kを使って、「CSVファイル名」という変数を作成します。
    • 右側の「保存する値」:「"株価情報_ " + String.Format("file_{0:yyMMddHHmmss}.csv", DateTime.Now)」を利用して、実行時の時刻でファイル名を作成します。
  2. 「CSVに書き込み」アクティビテを追加し、「書き込み元」と「書き込み先ファイル」を設定します。
    • 「書き込み元」:変数「ExtractDataTable」
    • 「書き込み先ファイル」:変数「CSVファイル名」
  3. 一旦ここまでのワークフローを実行してみましょう!プロジェクトのフォルダ直下に、CSVファイル(例:株価情報_ file_250203081524.csv)が作成されたか確認してみてください。

メールでの送信

最後に、作成したCSVファイルをメールに添付して送信します。ここでは、「Outlookメールメッセージを送信」アクティビティでメールを送ります。

  1. 「Outlook メールメッセージを送信」アクティビティを追加し、宛先などを指定します。
    • 「宛先」:送付先のメールアドレスを入力します、例:「info@aiinrobot.jp」
    • 「件名」:”株価情報ファイル” + CSVファイル名 + “が作成されました”
    • 「ファイルを添付」:「Create Argument」をクリックして、作成した引数の「Value」に「CSVファイル名」を入力します。

ここまではワークフローの実装が完了しました。ワークフローを実行して、上記の宛先まで以下のメールが届きます。

受信したメール
添付ファイル(株価情報)

生成AIによるデータ活用と業務改善の展望

日常的な業務では、さまざまなデータを収集する作業が頻繁に行われます。UiPathはこうしたデータ収集の効率化に大きな力を発揮します。ここでは集めたデータを送信するだけの例を示しましたが、収集したデータを活用して、特定データの抽出や計算、他のアプリケーションへの自動入力なども可能です。

さらに、生成AIと連携することで、データ分析やトレンド予測、最適な業務改善案の提案も実現できます。これにより、単なるデータ処理にとどまらず、より高度な意思決定支援が可能になります。業務内容に応じて、データ収集後の処理に工夫を凝らし、AIを活用した新たな価値創造を目指してみましょう。

UiPathをより詳しく学ぶには

UiPath Academyは、UiPath StudioやUiPath Orchestratorの使い方を動画で学習できるオンラインサービスです。動画だけでなく、テストで理解度を確認したり、演習で実際に動作を体験しながら学習したりできます。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

上部へスクロール