清水理史の「イニシャルB」
RPA「UiPath」が最新版でついに日本語化! 「代入」「繰り返し(各行)」などの日本語命令で自動化処理を実現
2018年10月9日 06:00
海外製のRPAソリューションながら、急速に国内での存在感を高めつつある「UiPath」から、待望の日本語に対応した最新バージョンが登場した。UIだけでなく、各種命令(アクティビティ)まで日本語化され、「どうしたいのか?」「どの機能を使いたいのか?」などのやりたいことから、より直感的に自動化処理を作れるようになった。ロボットには、少し(人間にとっては「とても」)意地悪に思える自動化の課題にチャレンジしつつ、その実力に迫ってみた。
ウチの娘でもできるかも?!
日本語化されたUiPathを触っていて、ふと思えてきた。
「もしかして、これウチの娘(高校生)でも使えるんじゃないの?」と。
実際には、たぶん半々といったところかもしれない。RPAでは定番と言えるデータテーブルの処理などで詰みそうではあるが、例えば、Excelを開いてデータを読み込むなんていう程度の処理ならば、「excel」で使いたいアクティビティを検索して、一覧から「Excelアプリケーションスコープ」というアクティビティを配置。次に読み込みたいファイルを指定後、「範囲を読み込む」(これもアクティビティ)を配置して、データ格納先の変数を指定すればいいだけ。このうち変数の指定だけは、ちょっと躓きそうだが、ちょっとしたサンプルを見せれば、アプリを起動する、何かを入力するといった簡単な処理なら、ささっと自分でもできてしまいそうな気がする。
いまどきの中高生、いや小学生かそれ以下の子どもの方がもっと身近かもしれないが、「Minecraft」や「micro:bit」などのブロックプログラミングを少しでも体験したことがある世代にとっては、UiPathのように、フローで処理をつなげていくタイプのRPAツールは、比較的親しみやすい存在だろう。Excelやウェブアプリを動かすといったような、結果がすぐに見えるものを作れることも、受け入れやすそうに思える。
実際に使い込んでいくと、変数の作法や、.NETの機能を活用すれば効率的な処理ができることが、自然に分かっていくはずだ。実践的なIT教育という意味では、個人的には非常に適したツールなのではないかと思っている。
自動化の対象となる処理から、社会の、とまでは言わないものの、「しごと」の流れや仕組みを理解することもできるので、ゲームのキャラクターを動かしたりLEDを点滅させるステップの“次”としても、RPAは有望なのではないかだろうか。
ただ、実際に「やってみたら?」なんて声を掛けても、「なんで?」と即答されてしまうのがオチなので、本当に女子高生がRPAを使えるのかどうかは分からない。だが、同じことは、ボクを含む「コード書けないITおじさん」にも言えることだ。「こういう処理がしたいんだけど」と、漠然と思っていたことが、日本語のアクティビティを置いていくだけで実現できてしまうのは、素直に面白い。
「RPA」って、最近いろいろなところで見かけるようになってきたけど、何だろう? と疑問に思っていた人は、日本語化されたことを機会に、UiPathをいじってみるといい。ちょっとしたサンプルでも見れば、「ほー、こうやればいいのか」「じゃあ、こういう処理は?」と時間を忘れてハマってしまう。
そうして費やした時間には、普段の仕事の労力を、半減どころかワンクリックレベルにまで軽減できる可能性がある。しかも、今は、このスキルがIT業界で引く手あまただというのだから、見逃す手はないだろう。
どこまで日本語化された? 新機能も追加のUiPath最新版を試す
日本語に対応した最新バージョンの2018.3は、現状、同社のトライアルページからダウンロード可能だ。
Communityエディションから先行して2018.3の提供が開始されているため、「COMMUNITYエディションを使用する」をクリックしてから必要な情報を入力すると、メールでダウンロード用のURLが送られてくる。
インストール後、ダウンロード時に指定したメールアドレスでアクティベーションすれば、準備は完了だ。
なお、Comunityエディションは、一時期ライセンスが変更され、個人ユーザーのみ利用可能となっていた。しかし、最新版では、再び一定規模以下の法人(250台未満または年間500万米ドル未満の売り上げ)も、無償で利用可能となった。
個人事業主や中小零細企業が多い日本で、このように再び気軽に使えるようになったのは、とてもありがたいところだ。
なお、今回のバージョン「2018.3」は、日本語版というよりは、新しいバージョンで日本語にも対応したというかたちとなっており、同時にいろいろな新機能も追加されている。
従来版から比べると、画面デザインも若干変更されており、機能を追加するためのパッケージマネージャーのボタンの場所や、初期設定用のウィザードが変更されていたりする。
また、自動化を実現するための機能である「アクティビティ」も追加されており、HTMLのフォームを使って複数データをロボットに渡せるカスタム入力アクティビティや、データテーブルにおけるフィルターやソートなどの新機能も追加されている。これら新機能の詳細は、こちらのウェブページを参照して欲しい。
日本語化のメリットは?
日本語化された最大のメリットは、やはり、やりたいことが直感的に分かるようになったことだ。
実行や保存に加え、実際の操作を記録して処理を作る「レコーディング」の機能など、ボタン類が日本語化されたことで、どの機能を使えばいいのかが、ひと目で分かるようになった。
UiPathの魅力の1つは、敷居が低いことだ。
例えば、RPAはもちろんのこと、プログラミングの知識がまったくない人であっても、レコーディングの機能を使うことで、自動化処理を簡単に作成できる。
レコーディングは、文字通り、画面操作の録画だ。操作したいアプリやウェブページを開き、操作したいようにクリックしたり、入力したい文字を実際に入力していくことで、自動化したい処理を作成できる。極端な話、シンプルな処理なら、後述するアクティビティについての知識がほとんどなくても、処理が作れてしまう。
このように、従来でも自動化がやりやすかったのだが、今回の日本語化により、どのボタンを押せばいいのかといった基本的な操作までが明確になり、さらに一段と敷居が下がった印象だ。
とは言え、それなりに使い込んでいくと、レコーディングよりも、手動で各種操作を指定していった方が効率的だ。そして、こうした手動での処理の作成も、非常に楽になっている。
冒頭でも少し触れたように、UiPathでは、「代入」や「文字を入力」「範囲を読み込み」といった機能(アクティビティ)を配置し、それぞれを順番に並べたり、処理に必要なパラメーターをプロパティで指定していくことで、処理を作っていく。
このアクティビティは、従来のバージョンでは「Assign」「Type Into」「Read Range」といった英語名だったが、これも日本語化されたわけだ。
例えば、エクセルから値を読み取って、テーブルの値を順番にウェブアプリに入力していきたいとしよう。
この場合、最低限必要なアクティビティは、次のようになる。
- Excelファイルを開くための「Excelアプリケーションスコープ」
- Excelファイルから値を読み込むための「範囲を読み込む」(変数に読み込む)
- ブラウザーを開くための「ブラウザーを開く」
- 入力ページに移動するための「クリック」
- 読み込んだデータを順番に処理するための「繰り返し(各行)」
- 文字を入力するための「文字を入力」
こうしたアクティビティを並べ、プロパティなどに値を入れたり、取り出すための変数を指定していけば、自動化処理を作成できる。
Excelマクロなどで使い慣れたVB.netの構文も自動化処理に使える!
自動化の処理では、Excelなどのマクロで使い慣れたVB.netの構文も利用できる。
例えば先の例で、テーブルから取り出した値をブラウザーに入力する際に変数の値を文字型に変換したいなら、「変数名.toString」とすればいい。
こうした既存の言語の作法を流用できることは、既存のプログラミング言語に慣れている人に有利なだけではない。UiPathで初めてプログラミング「的」な世界に触れる人にとっても、インターネット上に溢れかえる膨大なナレッジをそのまま活用できることになる。
例えば、日付を和暦にしたいとか、文字列の中から特定の文字を取り出したいとか、ちょっとややこしそうなことも、ネットで調べた情報を応用することで、大抵は何とかなってしまう。こうした柔軟性の高さは、UiPathならではのものと言ってよさそうだ。
もちろん、従来のUiPathに慣れている人やプログラミング経験のある人にとっては、アクティビティの日本語化は、かえって戸惑うことになるかもしれない。「あのアクティビティどこいった?」なんて探すこともあるだろう。しかし、検索機能を使って「Assi」などと入力すれば、日本語化されたアクティビティの元の英語名を検索することが可能だ。
また、UiPathは、フォーラムやウェブ上の情報提供が非常に盛んで、特にフォーラムの回答能力の高さは秀逸だ。検索したりフォーラムで問い合わたりすれば、多くの疑問は解消できるだろう。ただ、こうした情報はまだ英語版がベースになっている。アクティビティの日本語化は歓迎したいところだが、フォーラムやウェブを活用するには、英語と日本語の対応がある程度頭に入っていないと、現状は少し戸惑うかもしれない。
しかしながら、逆に、これからUiPathの世界に入る人は、日本語化されている方が断然分かりやすい。「Assign」と「代入」どちらがピンと来るかと言われれば、圧倒的に後者なのは確実だろう。
こんなイジワルな自動化だってできる
せっかく日本語で使えるようになったので、少し凝った処理を自動化する例を見てみよう。
同社の海外フォーラムに、「RPA Challenge」というトピック(https://forum.uipath.com/c/learn/automation-challenge)があるのだが、この「1. RPA Challenge - Dynamic ウェブ Page - Anchor」というのが、なかなか興味深い。
まずは、お題のウェブページを見て欲しい。
アドレス帳をイメージした単純なウェブアプリで、「First Name」や「Last Name」、「Email」などの情報を入力して「Submit」するのが課題だ。
本来は、同ページからダウンロードできるExcelファイルに記載された情報を自動的にこのページへ入力するという処理を作るのが課題なのだが、注意深く見ると、このウェブページが普通ではないことが分かる。
試しに、何も入力せずに「Submit」ボタンをクリックしてみると、何とテキストボックスの順番や場所がランダムに入れ替わってしまうのだ。
ブラウザーの開発ツールなどで、さらにページの構成を見てみるのも興味深い。例えば、「First Name」のテキストボックスのエレメントを参照してみると、「<input class="form-control" type="text" name="3RvwR" id="3RvwR">」となっている。
「Submit」をクリックして、もう一度、同じテキストボックスの情報を見てみよう。すると、今度は「<input class="form-control" type="text" name="YR7Tv" id="YR7Tv">」となっている。
要するに、テキストボックスのnameやidがランダムで変化するのだ。
なんとイジワルなことか!
こんなウェブアプリは、さすがに現実には存在しない。そう思うかもしれないが、ウェブアプリのUIがリニューアルされるということは、決して珍しいことではない。クラウドサービスなら、予告もなく変更されることだってあり得る。
この課題の例は、こうしたウェブページの変更が発生する可能性がある場合でも、エラーなく動作するロボットを作れるかどうか? というチャレンジとなるわけだ。
実際にどう対処すればいいのかは、いくつか方法があるので、興味がある人はフォーラムを覗いてみることをお勧めするが、1つ例を挙げると、「アンカーベース」というアクティビティを使う。
これは、指定した目印(アンカー)に対して特定の処理を実行できるアクティビティだ。上記の例であれば、アンカーに「要素を探す」というアクティビティを配置して、「画面上で指定」からウェブアプリの「First Name」というラベルを指定する。
続いて、右側(処理部分)に「文字を入力」を配置して、同じく「画面上で指定」からウェブアプリのテキストボックス(First Nameのテキストボックス)を指定すればいい。
これにより、ロボットは、ブラウザーの画面上で「First Name」という要素を探し出し、そこに一番近いテキストボックスに対して、指定した値を入力するようになる。
「今回はラベルをアンカーにすれば大丈夫そうだが、そのラベルが変わったら?」などと、さらなる疑問が出てくれば、さらに建設的だ。ほかにもチャレンジできる問題がいくつかあるので、それらも合わせて、ぜひ考えてみてほしい。
マーケットプレイス「UiPath Go!」にも期待
このように日本語化されたことで、より身近になったUiPathだが、RPAツールは、把握が難しいほどたくさんあるのが現状だ。エンタープライズ向けでは国内ベンダーのシェアが高いが、無料で使える製品としては、WorkFusionの「RPA Express」なども有名だ。
ただし、RPA Expressは、英語版となる上に、インストール要件がメモリ8GB以上となっており、なかなかに敷居が高い。UIだけでなく、チュートリアルやフォーラム、各種ドキュメント、トレーニング用のアカデミーなど、日本語で学ぶ環境が一通り揃っていたUiPathと比べると、はじめるまでのハードルが高い。
本来は、先のチャレンジをRPA Expressでも試してみたかったのだが、いかんせん学習教材が少なく、「やりたいこと」を機能に直結させることがなかなかできなかった。
また、本稿執筆時点ではプレリリースとの位置付けだが、同社が提供するマーケットプレイス「UiPath Go!」の正式リリースも間近となっている。
UiPathでは、作成した処理の一部をオリジナルのアクティビティとしてライブラリ化することができる。UiPath Go!は、こうして作成されたアクティビティや、特定のサービスへのコネクターなど、UiPathをより便利に活用するためのアイテムをやり取りできる場所だ。
例えば、現状、アップロードされているものとして、「Empty Folder Check」というフォルダーが空かどうかを確認できるアクティビティが登録されている。従来であれば、フォルダー内のファイルをアイテムとして取得し、なければ分岐というように、複数の処理を組み合わせて実現していたような機能が、一発でできるようになるわけだ。
このほか、Dropbox向けのコネクターが用意されていたり、具体的な業務を想定したソリューションなども提供される。
まだ数が少ない上、現状は英語向けがほとんどなるが、国内SI事業者のビジネスチャンスにもなりそうなので、今後は日本向けのアクティビティ(和暦系は出てきそう)などが増えてくるはずだ。
こうした取り組みを考えても、現状、RPAツールを試してみたいのであれば、UiPathは環境的にも機能的にも、頭ひとつ抜けている印象だ。国内の導入実績では、国内のRPAベンダーが優位であるのは間違いないが、個人や小規模事業者が無料で使える上、ノウハウも豊富で、しかも今後の発展の可能性も高い。
RPAに興味がある場合は、ぜひCommunityエディションをダウンロードして、試してみることをお勧めしたい。