モダンアクティビティを使ってみた(Excel編)

## はじめに
①本記事は、2023年7月開催の「UiPathブログ 発信チャレンジサマー」の1日目のブログです。
ブログの詳細、参加方法については、以下のブログを参照ください。
https://note.com/shumpei_w/n/nd082bdf28853

②このブログ情報は、2023/7時点の情報です。
公式情報は常に更新されていますのでご注意ください。

③UiPathはCommunity Edition、Versionは2023.6.1で解説します。
バージョン相違により、画面やアクティビティの形式に多少の差異が発生する可能性もありますのでご了承ください。

④今回は非常にざっくりと解説していますので興味を持った方、詳しく知りたい方は以下の本も読んでみてください。
https://www.shuwasystem.co.jp/book/9784798069906.html

## モダンアクティビティの前に...
そもそもですが、UiPathを触っていてここ数年、よく聞く話があります。
(誰か)「うちの会社(まあ、お客様もあり)、もうモダンで実装してんだよね」
(自分)「クラシック？モダン？なにそれ、どう違うと（　＾ω＾）・・・？」

2021年以降からモダンアクティビティが登場し、あれよあれよと気が付けば数年経過。モダンアクティビティの存在と実装対応は導入企業によりますがまだまだというところもあれば、もう導入しているところもあります。
では学習の意味を含めモダンアクティビティはどういうものか、何かアクティビティを使ってみましょう。


## モダン エクスペリエンス
UiPath公式サイトによると、以下のリンクでこんなことを書いております(英語)。
https://docs.uipath.com/studio/standalone/2022.10/user-guide/modern-design-experience
正直、「？」なのでもっとわかりやすい解説...あ、いい記事を発見！UiPathのMVP、みやぎさんの記事に書いてあるので見てみると...
https://qiita.com/miya_gis/items/a2332840f358628680ff
うん、なるほど。理解。
まずは、StudioXというのStudioをもっと簡単にしたものがあって、そのアクティビティをStudioでも使えるようにしたのがモダンアクティビティなんだと筆者は認識しました。


## モダンでExcelを使うとき
モダンアクティビティでExcel周りの処理を行う際は、「Excel Process Scope」、「Use Excel File」アクティビティの2種類を使います。
クラシックアクティビティと比較すると、以下のような感じです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/502614/770fed98-4fa1-babe-e22c-2728e65d8580.png)

同じ作業をしているのですが、少しアクティビティの表現やセルの表記が異なります。
(自分はクラシックアクティビティだと「Excel Application Scope」に該当する機能が「Excel Process Scope」、「Use Excel File」アクティビティの2つに分かれたのかな？という印象を持っております。)

## Excel Process Scope
Excel Process ScopeはExcelにまつわる設定ができるアクティビティです。
(「単一の Excel プロセス スコープ」アクティビティというのもありますが、今回は扱いません)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/502614/4d7b5c4e-1bef-0cfb-d30e-41d0a4137549.png)


## Use Excel File(Excelファイルを使用)
これはファイル名の設定や、自動保存、読み取り専用などの設定が可能です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/502614/6886aa07-ab00-d850-8a4b-97c7b1ba9298.png)


## じゃあ使ってみよう～
まあ実践第一ってことで、Excelで何らかのデータ読み込み&書き込みを行いましょう。
Excelである人の出身地を書いているようです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/502614/744ae1e7-a721-1a38-4bb1-1d041a958d0a.png)
これで「ちか」さんの出身地を読み込み&「あああ」さんの出身地を書き込みしてみましょう。

## セルの読み込み
まずは、「ちか」さんの出身地を読み込みしてみます。
なお、この時読み込んだ値は、String変数(strSunshine)に格納します。
Read Cell Valueアクティビティがクラシックの「Read Cell」アクティビティに該当します。
しかし、何かが変です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/502614/1000daa7-0f52-3f80-c332-c15c707364f9.png)
セルの位置ですが、どうやら違うようですね。。。
String型でない！
はてさてどうするか...とふと変数の個所をいじってみると...
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/502614/1fbc6871-82bf-a8d9-1053-99a473631aff.png)
この"Indicate in Excel"って、押してみると...
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/502614/173d7b80-6dfe-e92e-72af-50e8c6446ce1.png)
なんかエクセルが出た～～～！！！
でなくて、よく見ると「UiPath」というのがあるのでこれを押して、対象のセルを指定して「確認」を押してOK!
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/502614/1ab8e337-66af-c166-56d1-81ea21db2180.png)
これで対象セルの指定ができました。変数も入れて完成！しかしセルの表現が独特ですね...(今回は詳しく触れません)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/502614/85e30214-cb4d-9152-a12a-ba6d61dddb42.png)


## セルの書き込み
次は、「あああ」さんの出身地に"福岡県"と書き込みしてみましょう。
なお、"福岡県"という値はString変数(strShool_Idol)に格納しておき、先ほどの読み込みと同じようにセルを設定&書き込みする値を設定しましょう。
(今回書き込みするセルは"B8"セルです)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/502614/cecc0a2a-6c3a-a3dc-d22c-525e39892c0d.png)
よし、できた!
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/502614/920c5f31-60b0-d2ed-4b55-e8f007bd13ed.png)
それでは実行してみましょう。(コメントアウトのは別件の実装をしたものなのでスルーしてください)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/502614/783eda95-94bd-e086-bc78-d3604b664592.png)
ログを見てみると...よし、できた！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/502614/57e0fd0f-208d-ffcc-150f-7e6cbd8674ca.png)
エクセルを見てみると...書き込みも問題なくできていました！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/502614/62a8685a-adf2-6811-8bfa-d00ffd14f24c.png)
##まとめ
モダンアクティビティの使い方は自分もよくわかっていなかったのですが、今回の実装を通して少しでも経験値を詰めるよう精進します！
セルの設定方法がクラシックアクティビティを使っている自分にとっては新鮮な感じがしました。
徐々にモダンアクティビティに慣れていきましょう。
最後までお読みいただきありがとうございました！

### 参考資料
【UiPath】モダンデザイン（Excelモダン編）
https://qiita.com/miya_gis/items/a2332840f358628680ff
PC業務は全部おまかせ！ UiPath×Excel自動化完全ガイド 
https://www.shuwasystem.co.jp/book/9784798069906.html