Contents
RPAロボットが作りたい
RPA(Robotic Process Automation ロボティック・プロセス・オートメーション)
数年前から盛り上がりを見せ、「RPAで事務作業の自動化?あたりまえでしょ?」といったムードさえ感じる今日この頃ですが、気になりつつも手を出せていない方も多いことかと思います。かくいう私もその一人です。
しかし、私のクライアントたる中小企業こそ、RPAの恩恵を素早く爆発的に得られるであろうことは自明。RPAツールの大手『UiPath』のサービスは、中小企業向けのプラン(Community Cloud)であれば無料で利用できます。
さらに最近『UiPath』より、専門的なプログラミング知識がなくてもRPAロボットが作成できる新ツール『UiPath Studio X』がリリースされました。
いまこそ時機、と一念発起して今回チャレンジしてみましたのでその結果をまとめました。私と同じ、RPA初心者の方に届くよう、手順を細かめに記載しましたのでご参考になれば幸いです。
…
今回のテストケースでは、[Excelに記載された電車の経路情報をもとに、Yahoo路線から運賃を調べる作業を自動化する]という例を取り上げますが、これは『税理士のためのRPA入門』という著書も発行されている、税理士の井ノ上陽一さんの下記記事を参考にさせていただいています。
![]() UiPath×Excel。Excelデータを読み取り、ブラウザで交通費検索。無料で使えるRPAツール。 | 独立を楽しくするブログ UiPath(ユーアイパス)は、無料で使えるRPA(ロボット)ツールです。 これを使って、交通費検索のサンプルをつくる過程を解説します。 ひとりしごとのRPAツールの選択肢 ひとりで仕事をしていれば、RPA(Robotic Process 大変参考になりました。この場を借りてお礼を申し上げます。 ※井ノ上さんの記事は、まだ『UiPath Studio X』がリリースされていない時期でしたので、開発者向けの『UiPath Studio』を利用されています。 |
…
『UiPath Studio X』の導入
早速、『UiPath Studio X』をインストールしましょう。
…
『UiPath』のサイトへアクセス。

[トライアルの開始]をクリック。
[Community Cloud]を選択し、[Try it]をクリック。
指示に従ってアカウントを作成します。
管理画面が表示されますので、まずは言語を[日本語]に設定します。
[Studioをダウンロード]をクリックします。
ダウンロードしたインストールファイルを実行します。
[UiPathStudioSetup.exe]
『UiPath Studio』のインストールが始まります。(結構長いです。)
アクティベーション画面では[Communityライセンス]を選択します。
プロファイルの選択で【UiPath Studio X プレビュー版】を選択します。
更新プログラムチャネルは無難に[安定]を選択しておきましょう。
インストール完了。スタート画面が開きます。
…
テストケース:電車運賃を調べる自動化ロボットを作ってみましょう
シナリオはこんな感じです。
人事とか総務の仕事でありそうな仕事です。
・社員複数人分の電車通勤経路を記載したExcelファイルがある。
・それぞれの経路の電車運賃を「Yahoo路線」で調査する。(なるべく早い経路で)
Excelファイルこのように用意しました。
また、Yahoo路線のサイトはご存じのとおり、こんな感じです。
▼
…
どのように自動化するか?
上記のテストケースでは、ロボットに次のような動きをさせれば自動化ができそうです。
1)「Yahoo路線」のサイトを開く。
2)元データが入力されたExcelファイルを開く。 3)Excelに記載されている[No.1]の社員の[出発駅][到着駅]を、『Yahoo路線』の[出発]と[到着]のフィールドに転記する。 4)『Yahoo路線』の[検索]のボタンを自動でクリックする。 5)『Yahoo路線』の検索結果の候補のうち、[到着時間順]の一番上にリストされている候補の運賃を抽出し、Excelに記載されている[No.1]の社員の[金額]のセルに転記する。 … ※3)~5)の作業をExcelに記載されている人数分(No.1~No.3まで)繰り返す。 6)最後にExcelファイルを保存する。 |
では、実際に『UiPath Studio X』でロボを作ってみます。
なお、出来上がりの動きはこちらです。これを目指して作成していきます。
…
あらかじめ行っておく設定:UiPath拡張機能
今回のロボの作成に当たっては、事前に行っておく設定があります。
今回のケースでは、連携させるツールとして[Chrome]と[Excel]を使うのですが、それぞれに対し、「UiPATH拡張機能」をインストールしておく必要があります。
…
<拡張機能のインストール方法>
スタート画面で[ツール]を選択。
ChromeとExcelの拡張機能をそれぞれインストールしておきます。
…
いよいよ『UiPath Studio X』でRPAロボット作成
テンプレートの選択
『UiPath Studio X』には、いくつかのテンプレートが用意されています。
今回のロボは[Excelデータをアプリケーションに入力]のテンプレートがフィットしますので、これを利用します。
プロジェクトのプロセス名(タイトル)、説明を記入します。
ワークスペースが作成されます。
それでは、このテンプレートに沿ってロボットを設計していきましょう。
…
「Yahoo路線」のサイトを開く。
テンプレートは、Excelからデータを転記する対象となるWEBサイトを指定するところから始まります。
ます、ブラウザでYahoo路線を開いておきます。(今回はchromeを利用します)

次に[Use browser IE]のアクションのメニューから、[ターゲットを指定]を選択します。
先に開いておいたYahoo路線の画面が、下図のように選択された状態でクリックします。
すると、[Use browser IE]のアクションが下記のように設定されます。
矢印の箇所、タイトルと注釈は変更ができますので、分かりやすい内容に変更しておきます。
▼
ここまでで、「ChromeでYahoo路線を開く」という動作を自動化する設定ができました。
…
元データが入力されたExcelファイルを開く。
次に、Yahoo路線に転記するための元データが入力されているExcelを指定します。
テンプレート通り、[Use Excel File]のアクションを使います。
・①に元データが入力されているExcelを指定します。
・②にそのExcelの参照名を入力します。
ここまでで、「Yahoo路線に転記するための元データが入力されているExcelを開く」という動作を自動化する設定ができました。
…
Excelに記載されている[No.1]の社員の[出発駅][到着駅]を、『Yahoo路線』の[出発]と[到着]のフィールドに転記する。
次に、Excelファイルの値をYahoo路線に転記していく動きを設定します。
Excelの繰り返し(各行)の設定
この動作は、Excelに記入されている行の数だけくりかえしますので、
テンプレート通り、[Excel For Each Row:Excelの繰り返し(各行)]のアクションを利用します。
[範囲またはテーブル]には、先ほど設定したExcelファイルが自動的に登録されていることが分かります。
のちのちのため、タイトルや注釈は分かりやすい内容に変えておきましょう。
▼
次の作業からはテンプレートから外れた作業を設定するので、現在テンプレートで指定されている以下4つのアクションを削除しておきます。
・Click ‘New Supplier’
・Type Into ‘Internal Name *’
・Select Item ‘Industry *’
・Click ‘Save’
※各アクションの削除
該当のアクションを選択し(そのアクションがオレンジの枠で選択された状態)、Deleteキーを押すと削除できます。
Excelの[出発駅]をYahoo路線の[出発]フィールドに転記する
最初に、Excelファイルに記入されている[出発駅]を、Yahoo路線の[出発]のフィールドに転記するアクションを作成します。
[アクティビティ]エリアで[アプリケーション]を選択し、
その中のアクションから、[文字を入力]を選び、メイン画面の配置したい箇所にドラッグします。
▼
[文字を入力]のアクションが作成されます。
▼
ここにもタイトルと注釈を入れておきます。
※注釈を入れる方法
注釈は、該当のアクションを右クリックし、メニューの中から[注釈]-[注釈を追加]で入力することができます。
[ターゲットを指定]をクリックします
・yahoo路線のサイトが開きます。
・画面に[Selection Options]表示されるまで待ちます。
出発駅を入力するフィールドにマウスのカーソルを合わせると、以下のように緑の枠で囲まれます。
この状態(ターゲットが緑で囲まれた状態)でクリックすると、
[自動アンカーを検索しています]といメッセージが表示されます。
しばらくそのまま待ちます。
アンカー(青いイカリのマーク)が、[出発]の文字に設定されます。
別の場所がアンカー設定されている場合は手動で[出発]を選択します。
※アンカー:
入力対象のフィールドをズレなく指定するための目印のようなものです。
この状態で、[Selection Options]の[確認]をクリックします。
すると、このようにターゲットが確定します。
次に、指定したターゲットにExcelの[出発駅]の値を転記する動きを設定します。
[これを入力]のエリアの[+]ボタンをクリックします。
[現在の行]-[出発駅]を選択します。
※このことにより、「指定したExcelの[出発駅]の列の値を自動的に転記」という動きを設定できます。
このように[これを入力]に[出発駅]が設定されればOKです。
ここで、ここまでの動きをテスト実行してみましょう。
※アクションを追加するごとに、こまめに動作テストをしながら進めるのが大事です。
★動作テスト:出発駅の転記がうまくいくか?
まずはここまでの設定を保存します。
次に、現在開いているブラウザ、Excelファイルを閉じます。
※なにも開いていない状態からテストするのが良いと思います。
そして、『UiPath Studio X』上の【▶:実行】のボタンをクリックします。
※PCのスペックによっては、テストが開始するまでに少し時間がかかります。
「あれ?止まった」と思いがちですが、少し待ってみてください。
テスト実行中は[UiPath.Agent]というプログラムが動き、タスクバーに白抜きの[Ui]のアイコンが表示されます。
ここまでの設定では、
・Yahoo路線を自動的に開く
・サンプルExcelを自動的に開く
・Excelの[出発駅]をyahoo路線の[出発]のフィールドに転記する。
・この動きを、No1~No3まで3回繰り返す
という動作が目視確認できればOKです。
エラーなく完了すればOKです。
うまく動かないとき
うまく動かない場合、次の2点を確認してみてください。
① 入力ターゲットのフィールドの選択範囲
入力のターゲットを選択する際、マウスの位置によってフィールドの選択範囲が微妙に変わります。 下の画像のように選択範囲が広い(フィールド全体が選択されている)状態になるように設定してみてください。 経験上、右のように選択範囲が狭いとうまく動作しないケースが多くありました。 … ② アクションの実行待機時間 動作がうまくいかない場合、ロボの動きにPCのスペックやブラウザの表示スピードが追い付いていないことが原因のケースもあります。 その場合は、各アクションのプロパティから、[実行前の待機時間][実行後の待機時間]の設定を調整することで解決することがあります。 各アクションのプロパティは、対象のアクションが選択されている状態(オレンジの枠で囲まれている状態)で、画面右上の[プロパティ]の文字をクリックすると表示されます。 [プロパティ]の[実行前の待機時間][実行後の待機時間]の設定を調整します。 デフォルトでは、 ロボの動作がうまくいかない場合、この待機時間を【1000ミリ秒~2000ミリ秒】(=1秒~2秒)といったすこし極端めの値に設定して、その設定で問題が解決するかを確認します。 問題が解決する場合は実行待機時間が必要と思われますので、時間を微調整していきます。 待機時間を設定するには、右側の[+]ボタンを押し、選択肢の中から[数値]を選択します。 この2点の解決方法はこれから出てくる他のアクションでも同様に有効な場合がありますので、気に留めておいてください。 |
Excelの[到着駅]をYahoo路線の[到着]フィールドに転記する
それでは次に、同様の手順でExcelファイルに記入されている[到着駅]を、Yahoo路線の[到着]のフィールドに転記するアクションを作成します。
手順は上記の[出発]の場合と全く同じですので、設定結果のみ画像を貼っておきます。
ここでも動作テストを行っておきましょう。
ここまでの設定では、
・Yahoo路線を自動的に開く
・サンプルExcelを自動的に開く
・Excelの[出発駅]をyahoo路線の[出発]のフィールドに、[到着駅]を[到着]のフィールドに転記する。
・その動きを、No1~No3まで3回繰り返す。
という動作が目視確認できればOKです。
…
『Yahoo路線』の[検索]のボタンを自動でクリックする。
ここまでの手順で、Yahoo路線の[出発]と[到着]に値を転記する動きを設定しました。
次は、Yahoo路線の【検索】のボタンをクリックする動作を設定します。
[アクティビティ]エリアで[アプリケーション]を選択し、
その中のアクションから、[クリック]を選び、メイン画面の[文字を入力:到着]のアクションの後にドラッグします。
[ターゲットを指定]をクリックします。
【検索】ボタンをターゲットに指定します。
『UiPath Studio X』上でこのように設定されていればOKです。
ここでも動作テストを行っておきましょう。
ここまでの設定では、
・Yahoo路線を自動的に開く
・サンプルExcelを自動的に開く
・Excelの[出発駅]をyahoo路線の[出発]のフィールドに、[到着駅]を[到着]のフィールドに転記する。
・【検索】ボタンをクリックし、検索結果が表示される。
・その動きを、No1~No3まで3回繰り返す。
という動作が目視確認できればOKです。
…
『Yahoo路線』の検索結果の候補のうち、[到着時間順]の一番上にリストされている候補の運賃を抽出し、Excelに記載されている[No.1]の社員の[金額]のセルに転記する。
ここまでは、ExcelファイルからYahoo路線にデータを転記する設定でしたが、次は、逆にYahoo路線の画面上の文字列をExcelファイルに返す作業を設定していきます。
まずは、事前にYahoo路線のサイトで検索を実行した後の画面を表示しておきます。
※出発駅、到着駅は任意の設定で構いません。
『UiPath Studio X』の[アクティビティ]エリアで[アプリケーション]を選択し、
その中のアクションから、[テキストを取得]を選び、メイン画面の[クリック:検索]のアクションの後にドラッグします。
[ターゲットを指定] をクリックします。
・ターゲット(緑の枠)として、検索結果画面の[到着時間順]の一番上の金額を指定します。
・アンカー(青の枠)として、[ルート1]の文字を指定します。
※金額欄については、下の画像のように、広い選択範囲で指定するように注意してください。
『UiPath Studio X』上で、このように設定されます。
※Yahoo路線の検索結果から、[ルート1]の金額を取得する、という設定です。
次に、この取得した金額を、Excelファイルの[金額]の列に返す設定を行います。
[保存先]の[+]ボタンを押し、[現在の行]-[金額]を選択します。
↓のように、[保存先]に【金額】が指定されます。
ここでも動作テストを行っておきましょう。
ここまでの設定では、
・Yahoo路線を自動的に開く
・サンプルExcelを自動的に開く
・Excelの[出発駅]をyahoo路線の[出発]のフィールドに、[到着駅]を[到着]のフィールドに転記する。
・【検索】ボタンをクリックし、検索結果が表示される。
・検索結果画面の[到着時間順]の一番上の金額を、Excelの[金額]の列に返す。
・その動きを、No1~No3まで3回繰り返す。
という動作が確認できればOKです。
…
最後にExcelファイルを保存する。
ここまでの作業で、目的としている動作の設定は完了しました。
最後に、出来上がったExcelファイル(金額が返されたExcelファイル)を保存するアクションを追加しておきます。
ポイントは、「繰り返し動作が終わった後に保存する」という点です。
Excelファイルを保存するアクションは、[Excelの繰り返し]のアクションの枠外に配置する必要があります。
※下図の矢印の位置です。
[アクティビティ]エリアで[Excel]を選択し、
その中のアクションから、[Excelファイルを保存]を選び、メイン画面の[Excelの繰り返し]のアクションの枠外にドラッグします。
※下図の赤枠の部分です。
[Excelファイルを保存]のアクションが追加されます。
[ファイル]の[+]ボタンから該当のExcelファイル(今回のケースでは[sample_excel])を選択します。
以上で設定は終了です!
電車運賃検索ロボの動作確認
それでは、作成した電車運賃検索ロボの最終動作確認をしましょう。
以下の動作が確認できればOKです。
1)「Yahoo路線」のサイトを開く。
2)元データが入力されたExcelファイルを開く。 3)Excelに記載されている[No.1]の社員の[出発駅][到着駅]を、『Yahoo路線』の[出発]と[到着]のフィールドに転記する。 4)『Yahoo路線』の[検索]のボタンを自動でクリックする。 5)『Yahoo路線』の検索結果の候補のうち、[到着時間順]の一番上にリストされている候補の運賃を抽出し、Excelに記載されている[No.1]の社員の[金額]のセルに転記する。 … ※3)~5)の作業をExcelに記載されている人数分(No.1~No.3まで)繰り返す。 6)最後にExcelファイルを保存する。 |
いかがでしたでしょうか?
このシナリオ通り動くと、下図のようなExcelファイルが自動的に作成されます。
※再度、動画も掲載しておきます。
…
まとめ
今回のサンプルケースでは、
・Excelのデータをアプリケーションに渡す
・アプリケーションの値をExcelに返す
という動作が含まれていますが、この基本的な設定方法を理解していれば、かなりの割合の事務作業の自動化が実現できるのではないかと思います。
遅めに踏み出した小さな一歩ですが、引き続き、研究を続けていきたいと思います。