【UiPath】新機能 StudioXを触ってみた！

# 今回の概要
今回は、2020年4月にリリースされたUiPath社の新機能 " StudioX " について
UiPath Academyなどを活用しながら、触ってみた感想をみなさんに共有できればなと思います。

# そもそも、StudioXとは？
UiPathより、2020年4月に新たにリリースされた開発ツール(機能)です。
これまで開発ツールとしては「Studio」のみでしたが、

(現場の)業務部門ユーザーが扱いやすいように
デザインをシンプルに、かつ"変数や引数"などといったプログラミングの基礎知識が分からなくても
自動化を始めることが出来るようになっている、開発ツールになります。

▶[UiPath StudioX](https://www.uipath.com/ja/product/studiox)

## UiPath Academyについて
UiPath Academyとは、UiPathが提供する無料のトレーニングのことです。
現在UiPath Academyでは、「UiPath StudioX開発コース」というトレーニングコースが用意されています。
![AcademyStudioXcouse.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614942/f57fb0a9-ed12-d9f4-1d60-b1428714a0d0.png)

UiPath Academyでは、「Studio」のトレーニングコースも用意されているのですが、
「Studio」のトレーニングコースと比較すると、かなり短い時間で受講し終えられる内容となっているとのことで、
私もトライしてみました！
ちなみに、「UiPath StudioX開発コース」の内容の中でもUiPathStudioXのインストール手順が紹介されているので、
「まだPCに入れてないよ」という方も、このコースの中でインストールして始めることが出来ますよ:point_up:

### ※UiPath Academyの登録方法※
1.下記のURL先へ行き、「UiPath アカデミーに登録する」を選択します。
　https://www.uipath.com/ja/rpa/academy

　![アカデミー登録ボタン.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614942/32799bad-d861-f7cb-221c-b7f56e9a0146.png)

2. 次に、「Login/Sign up」ボタンを押下します。
　![アカデミーログイン.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614942/a84494c4-1cd7-2bd9-3c9c-c74e18558f23.png)

3. 画面下部にある[登録]を押下します。
　![登録ボタン.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614942/22af86e9-c336-9b8e-ba20-284cfc1883c9.png)

4. 以下の方法より登録(ログイン)方法を選択し、アカデミーに登録するメールアドレスの登録と、
　アカウントの設定を行います。
　![登録画面.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614942/86cf4913-ab53-4463-6457-1b217d94a15f.png)

　![アカウント設定画面.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614942/59cffcfc-804a-0f46-719f-d39fa54c64d2.png)


5.登録後、以下のようにアカデミーの画面となっていることが確認できれば「登録完了」です！！
　![登録完了.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614942/6f8bc1f9-be78-7e1e-df89-9398d364d442.png)

現在(2020/07/30時点)では、上記画像のような[ホーム]画面になっているので、
「UiPathStudioX 開発コース」は見つけやすいかと思いますが、上記のような画面でない場合は、
以下の手順で「UiPath StudioX 開発コース」を受講してください。
![コース選択手順.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614942/252a2b52-732e-3543-f784-959c147b19ba.png)


# StudioXの特徴
 UiPathが業務部門ユーザーにStudioXをお薦めする理由として挙げている
 以下の3つの観点から、触ってみた所感を含めてご紹介しようと思います！

　1.シンプルで分かりやすいユーザーインターフェース
　2.「変数」等のプログラミングの基礎的知識が必要なし
　3. Microsoft Officeやブラウザと連携しやすい


##1.シンプルで分かりやすいユーザーインターフェース
UiPathでは、処理を自動化する最小の部品のことを「**アクティビティ**」と呼んでいます。
最小部品といっていますが、1操作(例えば「クリック」や「文字を入力」という動作)のことを指しているイメージでいいと思います。
UiPathでは、いろんなアクティビティを組み合わせて、ワークフローを作り、業務を自動化していきます。

従来の開発ツールである「Studio」でも同じように「アクティビティ」という概念があるのですが、
StudioXでは、このアクティビティを大きく2種類に分類し、よりユーザーが扱いやすいように以下のように定義しています。

　・**カード**：
　　自動化する対象のアプリケーションやシステムを指定するアクティビティ
　　カードは、以下の4種類しかありません。
　　　①Excelファイルを使用
　　　②Outlookアカウントを使用
　　　③Wordファイルを使用
　　　④アプリケーション/ブラウザーを使用

　・**アクション**：
　　上記のカードで指定したアプリケーションやシステムに対して行う処理・操作を指定するアクティビティ
　　4種類(Excel・Outlook・Word・アプリケーション/ブラウザー) の各カードに対して、
　　専用のアクションが用意されています。
　　また、特定のカードの種類に依存しない、[条件分岐]アクティビティや
　　[待機]アクティビティ等のアクションもあります。

:laughing:個人的Goodポイント
機能をシンプルにしたこともあってか、Studioと比較してアクティビティの数も少なく、
また、各アクティビティが以下のようにカテゴライズされており、
検索しなくても行いたい処理・操作ができるアクティビティを見つけやすくなっていると感じました。
【StudioXの場合】
　![stX_act_p.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614942/488b19d6-4631-bef1-3592-65d619946eaa.png)

【Studioの場合】
　![st_act_p.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614942/3bd0220a-8470-25d9-e077-8b0de3f57ef2.png)

Studioと同じく、アクティビティの追加はドラッグ&ドロップ(またはダブルクリック)でできるようになっています。

##2.「変数」等のプログラミングの基礎的知識が必要なし
　従来のRPA開発ツールもプログラミングより簡単に開発できるツールではありましたが、
　少なくとも「変数」や「引数」などといったプログラミングの基礎的な考え方がある程度必要だったため、
　ユーザーたちが開発を始める前には一定の学習時間が必要となっていました。

　UiPath StudioXは、その「変数」や「引数」といった概念をなくし、よりシンプルで、
　簡単に、本当に必要な機能だけに絞ったRPA開発ツールになっているようです！

　StudioXでの開発する際のポイントといっても過言ではない、「変数」などの概念をなくすためには、
　「プロジェクトノートブック」の存在は大きいと思いました。

###「プロジェクトノートブック」とは？
自動化ワークフロー内で利用する日付・文字列・数値・ファイル名やファイルパスの値を保持し、
値を参照する**Excel**ファイルのことです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614942/5a6bbf12-d17c-db31-57dc-cfb734728227.png)

StudioXで新しくタスク(新規プロジェクトのこと)を作成する度に、上記のExcelファイルが
プロジェクトフォルダ内に格納(自動作成)されます。

プロジェクトノートブックは、下記のようなシートで構成されており、
ワークフロー内で使用する値をファイルに格納しておく、言わば「設定ファイル」のように扱います。

既定では、各シート内に利用できる数式があらかじめセットされていますが、
変更してカスタムすることもできます。

・[DATE]シート
　入力用の当日日付を保管するだけでなく、任意の日付を年月日で分割し、
　値として利用できるように数式が設定されています

・[TEXT]シート
　入力用の文字列を保管するだけでなく、文字列の大文字・小文字化や
　名前を姓名に分割する数式が設定されています

・[NUMBER]シート
　入力用の数値を保管するだけでなく、少数切り捨て値や小数点・カンマ区切りに変換した数値が
　利用できるように数式が設定されています

・[FILE]シート
　入力用のファイル名の保管だけでなく、パスの分割や名前部分のカスタマイズ用の数式が設定されています

・[Scratchapad]シート
　メモ領域としても使用可能な、ブランクのシートです
　独自の数式や、ワークフローで使用する値を保持しておく領域として使用する等、自由に使用できます

:laughing:個人的Goodポイント
・Excelファイルの値を参照するときに、視覚的に指定できたりと参照しやすくなっている。
　→これは、プロジェクトノートブックに限らず、StudioX上でExcelファイルの値を参照する場合全てで行えることであるが、
　StudioXを使っていく前に、Excelの連携を図るために開発された「Excelアドイン」を追加するのですが、、

　これにより、①Excelから参照したい値を視覚的に指定できたり、また②Excel側にてセルに名前を定義しておくことで、
　その定義した名前を使って値を参照することが出来ます。
　
**参照方法①：視覚的に参照する**
　システムにプロジェクトノートブックに定義した値を参照して入力したい場合は、
　以下の通りに選択すると、
　![Excel内で示す.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614942/55f936a3-61a7-2936-eeb0-45460f876d4c.png)

　↓このように、プロジェクトノートブックが開いてきて、視覚的に参照する値を選択して
　指定できるようになっています。
　![値参照(Excel内で示す).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614942/f823f4da-a685-6a64-e8e8-3c8163c27e56.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614942/b8c56c7c-e33f-c5f6-df65-e91106ac6d90.png)

**参照方法②：Excelファイルで定義した名前で値を参照する**
プロジェクトノートブックに既定で値が入っている欄(セル)には、あらかじめ
Excelファイル側にて、そのセルに名前を定義されています。
【例：ProjectNotebook.xlsxの[DaTe]シート】
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614942/c6483a92-a767-e785-3534-89829eee1045.png)

名前が定義されている場合は、以下のようにその定義された名前によって
値を参照することが出来ます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614942/e60dacbe-4b4e-81f4-f6d0-db162d8419a5.png)
④のところを選択すると、[文字を入力]アクティビティのところに反映されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614942/b5d4756b-2150-4845-ee97-da9efce6fd67.png)

参照方法②の方法は、既定で定義されている名前を変更したり、また名前が定義されていないセルであっても
定義すれば上記の手順で参照可能であるので、Excelを少し扱ったことがあれば進めていきやすいのではないでしょうか。

##3.Microsoft Officeやブラウザと連携しやすい

特徴1にて紹介したアクティビティのカードの種類を見てもわかる通り、
StudioXのアクティビティは、
Microsoft Office製品である、ExcelやWord、Outlookのそれぞれ専用のカードが用意されており、
それぞれのカード上で使うことの出来るアクティビティのアクションも用意されており、連携しやすくなっています。

例えばExcelに対して何かするときは、カードの[ExcelExcelファイルを使用]を用意し、
その中に、Excel関連のアクションのアクティビティを追加してワークフローを作っていくような流れになります。

またブラウザー/アプリケーションとの連携も、
Studioのときと比べて簡易に作成できるようになっているなと思いました。

例として、「UiPath Demo」(http://www.expense-demo.com/)
というサイトを開くワークフローを作ってみました！
作成手順をフローにすると、一見StudioXの方が長く見えてしまいますが、
実質StudioXの方は、ワンクリック(開く画面を指定するだけ)で画面を開く処理を作成できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614942/7f55f7ac-0387-d408-6f5e-aacb9a180dc4.png)

また、これはStudioXの強みというよりは、UiPathの強みですが、
画像認識だけでなく、ブラウザーやアプリケーションの構造を読み取って入力欄やボタンを指定できる
「オブジェクト認識」が可能であるため、ブラウザー上での操作もより安定的に自動化できるようになっています。

総じて、いろんなシステムと連携しやすくなっているので、簡単なものであれば、
マウスでポチポチするだけで自動化ができるような使用感になっているのではないでしょうか。

#(まとめ) StudioXを一通り触ってみての感想
・紹介したアカデミーの「StudioX開発 初級コース」は、まずそもそも「RPAとは」という概念説明から入っており、今一つ「RPA」についてよくイメージがつかめていない、RPA初心者でも始めていきやすいコンテンツになっていると個人的に感じました。

・すでにStudioで開発されている方や「変数」について知っているという方にとっては、逆に少しStudioXは扱いにくいと感じる部分が多いのでは？と感じました。
→値をセットするには、プロジェクトノートブックなどのExcelより参照させてという方法になるので、Studioの[代入]アクティビティを使い慣れていると逆に扱いづらく感じる部分が多いように思います。
→StudioXの使い方に慣れてしまえば解決すると思いますが、既存ユーザーの方で
　Studioでの開発が難しいなと感じていない限りは、無理にStudioXを触る必要はなく、
　やはり、StudioXはこれからRPAをやっていく現場ユーザー向けの開発ツール(機能)であると感じました。

・事前に設計されたテンプレートシナリオがあるのですが、開いてみると注釈にある説明が英語なのが少し残念に感じました。
→操作自体はAcademy等で学べるので大きな問題ではないですが、現場の業務ユーザーの方にとっては、日本語でない分少し活用しにくいと感じてしまいそうだと思ってしまいました。(Google翻訳で頑張るしかない、、）

##追記
・2020.09.17時点
「StudioX テンプレート集」なるものがUiPathConnectに上がっていました。
日本語で書かれたユーザーガイド(PDF)もあるようなので、ご参考までに。
リンク→[StudioXテンプレート集｜UiPathConnect](https://connect.uipath.com/ja/marketplace/components/jp9rzfa8v6rsorkbcvl9?mkt_tok=eyJpIjoiT0dRNVpqQTJaRFF4TkdVMCIsInQiOiJyN0RmY0ZId3d4Nm1RQTNRbVNvMGx5SXJtQVwvMUlGM0NkNWJYQWZLd2RUQ1pRYk9sV1dYb2FkdkpmQVlOdWFrK0RLRGFxREV5cnIyZUlrUzJCdHVabEVKblwvak1od0V4TllIN0ZyeksxVGtYSU4xcjhJOERWbko1emtSOVVPVkJqIn0%3D)
※テンプレートのダウンロードのためには、UiPathConnectにログインする必要があります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/614942/c0a991f6-cf77-598d-c431-0a63de3359cf.png)