UiPath StudioXってなんぞ？ 普通のStudioに飽きた人がStudioXを触ってみる

#UiPath StudioXってなんぞ？
　UiPathにいつの間にか増えていた新しいエディタ、StudioX。UiPathといったら、高機能で性能も良い分、初心者が使うには覚えるのも使うのも難しい！　といった印象のRPAツール。なんでも、StudioXはこれまでのStudioよりもわかりやすくなっており、初心者でも使いやすいらしい。

　この記事は、UiPathはすでに業務で使っており、アカデミーも上級まで修了済みの人が、StudioXの使用感をまとめた記事になります。

#StudioXを立ち上げてみよう
　まずは何はともあれ使ってみる。StudioXは、すでにUiPath Community Editionを導入済みであれば、すぐに使えるようだ。早速UiPathを立ち上げ、「設定」→「ライセンスとプロファイル」→「プロファイルを確認または変更」をクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545204/ccafa7fb-5c05-8ce6-7b90-e221733d7468.png)

　するとプロファイルを選択するように言われるので、UiPath StudioXプレビュー版を選択する。再起動すると、立ち上がった時にはUiPath StudioXに切り替わっている。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545204/37e7db19-e16a-e951-43ab-dfb7c3acabd0.png)

　ちなみに、普通のStudioに戻す時も、同じ手順で元に戻すことができる。一度切り替わったら元に戻せないなんてことはないので、安心してほしい。

#UiPath StudioXの起動画面
　これがUiPath StudioXを立ち上げた画面。なんというか、スッキリした印象だ。メニューの「チーム」はどこいった？
　とりあえず、プロジェクトを作ってみよう。新規プロジェクトから、タスクオートメーションを選択する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545204/3e2601db-54c9-3118-8102-97884a7d714e.png)
　とりあえずテストなので、設定は適当で。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545204/d6a0ba77-4759-38e6-24ed-6d1b45a22032.png)

#UiPath StudioXのエディタ画面
　これがプロジェクトを立ち上げた直後の、エディタ画面。ほーん……なかなかスッキリしてるじゃないの。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545204/8973336a-c93f-a353-3f23-21cc282dfe81.png)

　UiPathといったら、機能はたくさん！　使い方は調べてね！　といった感じで、初心者はどこをどう使ったらいいか迷うことが多かったのではないかと思う。それを見越しての簡略化であろう。

#UiPath StudioXの機能
　StudioXでは従来の種々の機能は大胆にカットされ、自動化するために必要な機能だけに絞られている。パッと見た感じ、削られた機能は下記の通り。

- プロジェクトツリー
- UIエクスプローラ
- レコーディング
- 変数
- スクレイピング

　へ、変数すらなくなっているとは……。「でもそれじゃ、保存した値を後で使うとかできなくなってるんじゃない？」と思うかもしれないが、安心してほしい。ちゃんと代替機能がある。

　例えば「テキストを取得」アクティビティを使用したとき、「後で使用するために保存」という機能を使うことができる。保存先には名前を付けることができ、後で簡単に呼び出すことができる。実質的には隠蔽された変数というわけだ。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545204/3c9aa168-3a2a-d612-f1e9-70c97e4ce8a6.png)


　削られた機能ばかりでなく、増えた機能もある。それがリボンに追加された「Excelワークスペースを開く」である。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545204/48ac7e01-9c30-f89e-96b9-7050744d5f3d.png)

　ボタンを押すと、何やら怪しげなExcelファイルが開いた。いやいや、中身をよく見てみると……記述されているのは、プロジェクトを作った日付や作成者の名前だ。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545204/500666c7-c293-3d74-0be8-585ab530a0b3.png)

　実はこれは、プロジェクトを作成したときに自動的にプロジェクトフォルダ直下に作成されるExcelファイルで、プロジェクトに共通で使用する値が最初から保存されている。これまではプロジェクト共通の設定（ロボットが失敗したときのメールの送信先とか）は、自分でExcelを作成して読み込んだりしていたが、UiPath標準でその枠組みを作ってくれたというわけだ。これは大変便利。

　中身が英語なのはそのうち改善されると思いたい。

#ロボットを作ってみる
　百聞は一見に如かず。長々と御託を並べるより、まずはロボットを一丁作ってみよう。

　今回は、「Yahooニュースを開いて、RPAで検索して最初の記事の文字列を取得する」というロボットを作ってみる。

　まずはアプリケーションカードを真ん中の画面にドロップする。これまでのStudioだとシーケンスかフローチャートを配置するのがお決まりだったが、StudioXにはそういう概念はない。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545204/91d24ad2-b796-dede-ea91-c9d6753392e6.png)

　このアプリケーションカードは、操作対象のアプリを指定する、アクティビティの親玉のようなものだ。「アプリケーションを指定」ボタンを押し、Yahooニュースの開かれたブラウザを選択する。

　ああ……しまった。ブラウザはさっき最小化してしまった。もう一度開かないと……というときに、便利な機能がある。F2キーを押すと、選択モードが止まって、２秒間だけ通常の操作に戻る。この間にブラウザを開こう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545204/9c52bba4-ab37-6a66-26e1-5bfccb68b852.png)![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545204/e9ba612b-c8b2-889c-57b4-93eaf276b4c7.png)

　こんな感じになる。このとき、アプリケーションカードのプロパティを開いて、入力モードを「シミュレート」にしておくといいかもしれない。「ハードウェア　イベント」のままだと、例えば「文字を入力」アクティビティを使用したとき、入力がIMEの設定に引きずられたりする。アルファベットを入力したかったのに、ひらがなで入力したりとか。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545204/f012d468-df61-d14e-ac23-f850efec8006.png)

　次は「文字を入力」アクティビティをドロップする。先ほどと同じように「ターゲットを指定」ボタンを押し、Yahooニュースの検索ボックスを選択する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545204/b30b49ba-34e8-d021-ef7b-13a62e4ebf69.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545204/3261f5ce-bbf8-89b4-4fdc-c10723bea8ff.png)

　すると、このようになった。なんで「キーワードを入力」を選択したのに、Yahooニュースのロゴを検索してるんじゃい！　と思うかもしれないが、これは「キーワードを入力」ボックスを探すときにちょうどいい目印が見つからず、しようがないので一番近くにあったYahooニュースのロゴを目印にした結果である。UiPathのターゲット機能は賢いのだ（本当にちょうどいい目印がないのかは疑問だが……）。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545204/9fedc55f-92d2-8cfb-abc3-e423b154a2e7.png)


　ともあれこの機能のおかげで、ちょっとばかしおかしなWebサイトであっても、UiPathはターゲットにできるようになっている。この部分も従来のStudioに比べて、StudioXのほうが良くなっている（従来版はYahooニュースのロゴを目印にするところまでは自動でやってくれなかった）。

　さて、入力ボックスを指定したら、次は入力する文字を設定しよう。特に難しいことはない。「RPA」と入力するだけだ。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545204/728aeeb5-eefd-48d0-ec05-3609d735ca89.png)

　いつもStudioを使っている人だと、あれ？　と思うかもしれない。そう、StudioXでは文字列をダブルクォーテーションで括る必要はない。入力欄はVB.Netの式じゃないからだ。

　でも式を入力できるのは便利だった。元に戻したい、という人も安心してほしい。ちゃんと従来の式を設定することもできる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545204/6c940d20-ef7e-0c21-c480-aa3f8128399d.png)

　次は検索結果を表示させるために、検索ボタンをクリックする。「クリック」を配置し、検索ボックスの横のボタンを指定する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545204/4122c926-047a-d5c5-a067-64b50cb94892.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545204/0c81ad6c-c1bd-a837-8472-da12ab63a42f.png)

　検索結果が表示された。この中から赤い線で囲んだ部分を取得しようと思う。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545204/222e7770-43fe-e9b7-2af0-cb695892123c.png)

　「テキストを取得」アクティビティをドロップし、ターゲットを選択して……
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545204/0d85f0e5-0b81-1a5a-7d7c-ac626ed0eae9.png)

　ターゲットを指定するとこうなる。どうやら日付を目印にしてテキストを取得しているようだ。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545204/9e4eaa72-1b41-d1d1-9d6a-e2ad3a5897c1.png)

　取得した文字列をメッセージボックスで表示させようと思う。保存先の＋ボタンから「後で使用するために保存」を選んで、値に名前を付けて……
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545204/051464f9-39d4-7aa8-d3d5-c5f9b5888562.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545204/2d3dc23d-3c3f-c755-19fa-54dbb1dcfdfd.png)

　メッセージボックスをドロップして、保存された値を使用して……
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545204/c9e8ff4f-f084-50a2-e935-96085e64d2ee.png)

　あとは実行するだけである。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545204/c801f17e-e6cf-035b-d6bc-62b304592eaa.png)

　あっという間に結果が表示された。早すぎてびっくりした。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545204/83b65e15-c72e-8fdc-4b38-012aa9819b46.png)

#感想
　自分はもうStudioに慣れきってしまっていて、StudioXを使うとかえって戸惑ってしまったが……初めて触る人であれば確実にこっちのほうがとっつきやすいだろう。

　これまではエンドユーザーにUiPathを触らせるのは少し不安だったが、これならユーザー自身がロボットを作ることもできるかもしれない。少なくともWinActorと同じかそれ以上に使いやすくなっていると思う。

　あとは気のせいかもしれないが、通常のStudioよりもロボットの動作がキビキビしているように感じる。StudioXになって、アクティビティの動作も改善されているのかもしれない。

　不便になったと感じるのは、部分実行ができなくなった点だ。従来であれば、アクティビティを右クリックすれば、その部分だけテストできた。StudioXには今のところその機能がない。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545204/2309bc39-c4af-77b4-e4af-ed9480527025.png)

　あとは、レコーディングやスクレイピングウィザードといった機能がなくなったのは残念だった。特にWebスクレイピングは一から作ろうとすると非常にめんどくさいので、あのウィザードには助けられていた。

　とはいえ、UiPath StudioXはまだプレビュー版だ。これまでもUiPathは新しい機能がどんどん追加されていったことから、製品版ではさらに洗練されているに違いない。

#おまけ
　実はStudioXで作ったプロジェクトは、通常のStudioでも開ける。その場合、アクティビティはUiPath.UIAutomationX.Activitiesのものになっている。つまり、通常のStudioでもStudioXのアクティビティが使える。※ただし、通常のStudioで作ったプロジェクトにUiPath.UIAutomationX.Activitiesのパッケージをインストールするとエラーが出る

　Studioで作ったプロジェクトはStudioXでは開けないが、StudioXで作ったプロジェクトをStudioで保存しなおしても、ちゃんとStudioXで開ける。互換性にも抜かりはない。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545204/76e94ba8-5408-be84-d9c0-2e40df9643f7.png)