清水理史の「イニシャルB」
UiPathの末弟「StudioX」なら、Excelしか使えなくてもRPAができる! 同じ作業でStudioとの違いを検証
2019年11月18日 06:00
現在のRPA業界をリードするUiPathから「UiPath StudioX」という新しいRPAツールが登場した。「非開発部門向けのワークフロー作成ツール」といってもイメージしにくいかもしれないが、要するに、開発経験が全くなく「Excelしか使えない」ようなユーザーでも、ロボットを動かすためのワークフローを簡単に作れるツールだ。RPAを体験してみたいなら、ぜひStudioXから始めることをお勧めする。
現行の「UiPath Studio Community Edition」で切り替え可能
UiPath StudioX(以下StudioX)は、10月にリリースされたPreview(19.10-beta.111)から利用可能になったUiPathの新しいワークフロー作成ツールだ。
UiPathでは、ロボットを動かすための命令を「UiPath Studio」(以下Studio)というツールを使って作成するのだが、新しいStudioXでは、従来に比べ、この命令の作り方がかなり簡易化された。
現行のCommunity Editionを利用している場合は、[ホーム]の[設定]からプロファイルを切り替えることで、StudioからStudioXへ切り替えることが可能だ。簡単に試せるので、一度、利用してみることをお勧めする。
初心者がつまづきやすい「変数」を意識せずに済む
ワークフローの作り方が、具体的にどう変わるは後述するとして、StudioXをひと口に表現するとすれば、「コレをこうする」という直感的な操作ができるようになった、と言える。
例えば、Excelのデータをウェブアプリに入力する場合、従来のStudioでは、「Excel→データテーブル(変数)→ウェブアプリ」と、それぞれ間でデータを格納するための変数を必ず意識する必要があった。
少しいじわるに書けば「Excelのコレを一旦ココに格納し、格納したココのココにある値を、ウェブアプリのココに入力する」なんて、煩雑な操作が必要だった。
これに対してStudioXでは、「Excel→ウェブアプリ」と、間に余計なものを介さずに値を処理できる。
もちろん、内部的には変数を使っているのだが、それがうまく隠されているので、ユーザーは意識しなくていい。このため、表形式のデータテーブルの行を繰り返し処理するときなどでも、もう「row(0)」なんてやらなくて済む。
なので、「Excelのこの値をウェブアプリのココに入力」という、非常に実操作に近い感覚でワークフローを作れる。
変数を意識しなくていいということは、わずらわしい「型」に悩まされずに済むということでもあり、UiPathでは「あるある」の「.toString」を忘れて「!」が表示されるというトラブルも発生しない。
もちろん、ユーザーインターフェースも分かりやすく変更され、従来のアクティビティがカードという、より理解しやすいかたちに変わった点も大きいのだが、StudioXの最大の特徴は、変数を極力意識しなくて済むようになった点にある。
筆者は昨年『できるUiPath 実践RPA』という書籍を執筆したが、実は、過去に執筆した中でも、群を抜いて読者からの質問が多い書籍だ。その大半は変数関連で、詳しく話を聞いてみると、変数を定義していない、型が違う、スコープが間違っている……、というものだ。経験者なら見た瞬間に分かるエラーだが、初心者には、これが理解しにくい。
StudioXでは、こうした初心者がつまづきがちな点が見事に解消されている。これは大きな進歩と言えそうだ。
Excelからウェブアプリへの転記で、動作をチェック!
では、具体的にワークフローの作り方がどう変わったのかを見ていこう。
サンプルとして使うのは、前述した書籍やUiPathのトレーニングでも採用されている経費精算アプリの自動化だ。Excelのシートに記載された宿泊費などのデータを読み込んで、ウェブアプリに次々に自動入力していく処理となる。
本来であれば、ウェブブラウザーを開くところから処理を記述する必要があるが、ここでは検証が目的なので、データを繰り返し入力する処理だけを作成してみている。次がワークフローの全体像だ。
比べてみると分かるが、実はワークフローに配置するカード(Studioはアクティビティ)の数はほぼ同じで、構成もほとんど変わらない。これだけだと、あまりStudioXのメリットが見えてこないかもしれない。
しかし、実際にワークフローを作ってみると、その手軽さが実感できる。代表的な部分をいくつか紹介しよう。
Excel上で直接範囲を指定
このワークフローでは、先頭の「Excelファイルカード」でExcelファイルを指定、次の「Excelの繰り返し(各行)」で処理したいセルの範囲を読み込んでいる。
従来のStudioでは、読み込む範囲を手動で指定する必要があったが、StudioXでは「""」ですべて読み込める。今回のワークフローでは大差ないが、通常なら「"A1:E4"」のように指定する必要があるわけだ。
つまり、StudioXでは、この範囲を実際のExcel上で指定できる。次の画面のように範囲指定時に「Excel内で示す」を選択すると、Excelが自動的に起動するので、範囲を指定して「Confirm」を選択すればいい(アドインで実現されている)。
まさに、「コレのココ」という印象で、いちいち頭の中で記号化する必要がないのだ。
分かりやすいUIというのは、まさにこういうものだろう。カラフルなアイコンや大きくて分かりやすいタイトルなども必要だが、操作と結果が直結するというか、線で直接つながる気持ちよさがある。
ちなみに1つ補足しておくと、Excel側のデータにあらかじめテーブルを設定しておくと、そもそも、この範囲指定すら必要なくなる。自動的にテーブルを認識し、そこからデータを取り出せるようになるので、できればExcelにテーブルを設定しておくことをお勧めする。
操作対象を確実に特定する工夫
続いてのポイントは、Excelから読み込んだデータをウェブアプリに入力する処理だ。「文字を入力」というカード(アクティビティ)を使って実現しているのだが、よく見ると若干違いがある。
Studioの「文字を入力」は、シンプルに対象(ウェブブラウザーで指定したテキストボックス)に文字を入力するためのアクティビティだ。
一方、StudioXでは、左側に「これを検索」、右側に「ここに入力」がある。つまり、画面上で入力先を指定すると、自動的にその目印となるもの(ここでは左側のラベル)を検索対象として追加している。
これは、通常のStudioなら、「アンカーベース」と「画像を探す」などを組み合わせて実現している方法で、画面上の対象を特定する際の確実性を上げるテクニックとして利用されるものだ。
要するに、中級者以上がワークフローで多様するテクニックが自動的に反映されているわけだ。ワークフローを実行したときに、操作対象を確実に発見し、ユーザーの思い通りの場所にデータを入力できるように工夫されているわけだ。
データを直感的に指定できる
最後は、同じく「文字を入力」の「これを入力」の部分だ。
ここは、入力したいデータを指定する部分で、従来のStudioでは「row("タイトル).toString」のように入力を行う必要があった。
「繰り返し(各行)」の中に配置されている処理なので、Excelから読み込んだデータテーブルが1行目→2行目→3行目と順番に処理されるようになっており、その各回で「タイトル」という見出しの列を「row("タイトル")」と指定している(こう説明するだけでも、すでに分かりにくい……)。
しかも「文字を入力」は、引数として文字列型のデータを必要とするので、データテーブルから「row("タイトル")」で取り出した値は、「.toString」で文字列に変換する必要がある。
これに対してStudioXでは、そんな面倒なことを意識する必要はない。右側の「+」をクリックして、「現在の行(繰り返しで処理されている現在の行)」を指定し、見出しから入力したい列を指定するだけでいい。もちろん、型など意識する必要もないので「.toString」も不要だ。
一見、「row("タイトル")」をGUIで指定できるようにしているだけだが、ターゲットに入力したい値とExcel上のデータが、感覚的にしっかりつながるのが素晴らしい。まさに直感的操作と言えるものだろう。
「これ」の連発で破綻しないのが秀逸
以上、短いサンプルだが、実際のStudioとStudioXのワークフローを見比べながら、その違いを紹介した。
これを見るだけでも、StudioXのすごさが分かるだろう。Excelしか使ったことがない人でも、少し勉強すればロボットによる自動化を体験できる。
それにしても、今回、あらためてStudioXを見て「これ」という単語の多さに驚いた。普通、こうしたロジカルな思考が求められるツールで指示語が多用されると、破綻してしまうものなのだが、画面が「これ」で溢れても見事にワークフローが成立している。
もちろん、長く複雑な処理には不向きで、できることも現状はExcelやメールベースと限られる。しかしながら、シンプルであっても、ロボットによる自動化を誰もが体験できるようになったことは、高く評価したいところだ。