【UiPath】はなっち！作のカスタムアクティビティの今

## 皆もすなるQiitaといふものを、儂もしてみむとてするなり。

と言う訳で、こん＊＊は！はなっち！です。

この記事はUiPathブログ発信チャレンジ2023サマーの5日目の記事です。

【初めに】
UiPathから、新たに**LEGACYモード**でのロボット作成ができなくなりますって案内が出てから久しいですね（[Windows レガシ プロジェクトの非推奨化](https://docs.uipath.com/ja/studio/standalone/2023.10/user-guide/deprecation-of-the-windows-legacy-compatibility)）。

**Windowsモード**で新規プロセスを作成し、「パッケージを管理」で、便利に使っていたカスタムアクティビティをインストールして...と思っていても、そのカスタムアクティビティが**LEGACYモード**で作成されていた場合、インストール出来ません。

**Windowsモード**で作成されたプロセスへは、**Windowsモード**で作成されたカスタムアクティビティでないとインストール出来ません。

今まで **はなっち！** が作成してきたカスタムアクティビティは、**LEGACYモード**で作成したものですので、**Windowsモード**への対応が必要でした。

2023年5月、仕事の区切りがついたので、その対応をする事にしました（遅いって...orz）

- - - 
## １）あのカスタムアクティビティはどうなったのか？
今まで作成してきた**LEGACYモード**のカスタムアクティビティと、新たに作成した**Windowsモード**のカスタムアクティビティとの対応表をまとめました。

下表のセルの上段はカスタムアクティビティ名称と、カッコ内がバージョン情報で、下段は、「パッケージを管理」画面での検索キーワードと、そのリンク先を張ってあります。

|SEQ| Legacy | Windows |
|:-:|:-|:-|
|1|**かんたん 図形 アクティビティパック**(1.0.7437.30001)<P>[かんたん図形アクティビティ](https://cloud.uipath.com/hajime/marketplace_/listings/kantan-graphic-activity)|**はなっち！の画像アクティビティ**(2.0.0)<P>[HANACCHI.IMAGES.ACTIVITIES](https://marketplace.uipath.com/listings/d0am5hs29fft42ppy6g6v)|
|2|**かんたん固定フォーマットアクティビティ**(1.0.1)<P>[かんたん固定フォーマットアクティビティ](https://cloud.uipath.com/hajime/marketplace_/listings/u6fcb9uiuar5h429ve81)|廃止|
|3|**かんたんDataTableアクティビティ**(1.0.7783.30000)<P>[かんたんDataTableアクティビティ](https://cloud.uipath.com/hajime/marketplace_/listings/nozrpcr0qkoyvzs8qus4lp)|**はなっち！のDataTableアクティビティ**(2.0.0)<P>[HANACCHI.DATATABLE.ACTIVITIES](https://cloud.uipath.com/hajime/marketplace_/listings/datatable)|
|4|**はなっち！のピボット風アクティビティパック**(1.0.1)<P>[HANACCHI.PIVOT.ACTIVITIES](https://cloud.uipath.com/hajime/marketplace_/listings/muvjzlni8d7tl2is39dsp)|**はなっち！のピボット風アクティビティ**(2.0.0)<P>[HANACCHI.PIVOT.ACTIVITIES](https://cloud.uipath.com/hajime/marketplace_/listings/r6id0vac6aq8hgwpwunor)|
|5|**かんたんファイル選択アクティビティ**(1.0.2)<P>[かんたんファイル選択アクティビティ](https://cloud.uipath.com/hajime/marketplace_/listings/s2ppbkzlm6gnqdsvaz7fnq)|**はなっち！のファイル選択アクティビティ**(2.0.0)<P>[HANACCHI.FILESELECT.ACTIVITIES](https://cloud.uipath.com/hajime/marketplace_/listings/uq6wj4jfp4bsofwro3dkro)|
|6|**かんたん雑多なファイル関連アクティビティ**(1.0.7713.20000)<P>[かんたん雑多なファイル関連アクティビティ](https://cloud.uipath.com/hajime/marketplace_/listings/497eu9o819d19mpg6423oe)|**はなっち！の雑多なファイルアクティビティ**(2.0.0)<P>[HANACCHI.MiscFile.ACTIVITIES](https://marketplace.uipath.com/listings/zawyobfmygqc1ime3jw9xe)|
|7|**はなっち！の EXCEL アクティビティパック**(1.0.0)<P>[HANACCHI.EXCEL.ACTIVITIES](https://cloud.uipath.com/hajime/marketplace_/listings/izwll81qm6911mzutfqvf)|**はなっち！の EXCEL アクティビティ（セル版）**(2.0.0)<P>[HANACCHI.EXCEL_CELL.ACTIVITIES](https://cloud.uipath.com/hajime/marketplace_/listings/-excel-)|
|8|[〃](https://cloud.uipath.com/hajime/marketplace_/listings/izwll81qm6911mzutfqvf)| (対応中)|
|9|未提供|**はなっち！の度数分布表アクティビティ**(2.0.0)<P>[HANACCHI.FREQUENCY.ACTIVITIES](https://cloud.uipath.com/hajime/marketplace_/listings/71sxgamwbju4wuun0flg0v)|

## ２）ちょいと説明
**Windowsモード**のカスタムアクティビティを作成するに当たり、以下の事を基本路線としました。

- 基本的には、同じ機能を擁するアクティビティパックを作成しています。
- カスタムアクティビティの名称は、「**かんたん**○○アクティビティ」などを「 **はなっち！の**○○アクティビティ」に変更しています。これは今までUiPathTeam作の「かんたん Basic アクティビティパック」や「かんたん Excel アクティビティパック」を真似ていたのですが、UiPathTeam作との区別化を図ったためです。
- その際、提供ファイル(.nupkg)の名前は、全角のものは半角にするようにしています。
- 更に、提供ファイル(.nupkg)の名前は、”HANACCHI”で始まるようにしています。
- ついでに、提供ファイル(.nupkg)のバージョンは、2.0.0から始めるようにしました（Legacyモードは、1.0.0から）。

**Windowsモード**のカスタムアクティビティを作成するに当たり、特記すべきことは以下の通りです。
- **Legacyモード**で提供していた「**かんたん固定フォーマットアクティビティ**」は、利用頻度が低いだろう事から（ダウンロード数が少ない）、廃止することにしました。
- **Windowsモード**「**はなっち！のピボット風アクティビティ**」では、「**重複行を残す**」アクティビティを新設しました。これはSNSからこういうのを作って欲しいとの要望を受けての対応です。
- **Legacyモード**で作成していた「**はなっち！の EXCEL アクティビティパック**」は、**Windowsモード**の「**はなっち！の EXCEL アクティビティ（セル版）**」と「**はなっち！の EXCEL アクティビティ（図形版）**」とに分割しています。図形版は、現在開発中です（登録申請時期未定）。
- 「**はなっち！の度数分布表アクティビティ**」を新設しました。これはDataTableの数値列から、指定された度数ごとにカウントし、値として出力、文字での横棒グラフとして出力する機能を持ったものです。
- **Windowsモード**「**はなっち！のピボット風アクティビティ**」では、**Legacyモード**にはあった「**列属性再設定**」アクティビティを廃止しました。**Windowsモード**で作成していた時に、アクティビティとして使う頻度が少ないであろう事からの判断です。

## ３）インストール時の確認の方法
#### ３-1）**Windowsモード**で作成したプロセスから
**Windowsモード**で作成したプロセスから、「パッケージを管理」、"DataTabel"を検索すると、**Windowsモード**の「HANACCHI.DATATABLE.ACTIVITIES」と**Legacyモード**の「かんたんDataTableアクティビティ」が表示されます（画面は嵌め込み合成です）。

**Legacyモード**の「かんたんDataTableアクティビティ」を選択すると、「Windowsプロジェクトに対応しているバージョンはありません」が表示され、インストールできません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/669015/be5c8457-d918-714f-c956-066925c49810.png)
**Windowsモード**の「HANACCHI.DATATABLE.ACTIVITIES」を選択すると、インストールバージョンなどを選択できる画面になります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/669015/be8d6856-2879-7cdb-8134-f42fa9e54cc0.png)

#### ３-2）**Legacyモード**で作成したプロセスから
**Legacyモード**で作成したプロセスから、「パッケージを管理」、"DataTabel"を検索すると、**Windowsモード**の「HANACCHI.DATATABLE.ACTIVITIES」と**Legacyモード**の「かんたんDataTableアクティビティ」が表示されます（画面は嵌め込み合成です）。

**Legacyモード**の「かんたんDataTableアクティビティ」を選択すると、インストールバージョンなどを選択できる画面になります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/669015/86d6fab8-bae1-3ca4-6eb6-0aca6c3e010a.png)
**Windowsモード**の「HANACCHI.DATATABLE.ACTIVITIES」を選択すると、「Windows - レガジ プロジェクトに対応しているバージョンはありません」が表示され、インストールできません。

## 【まとめ】
- 拙作カスタムアクティビティの**Windowsモード**対応、大変お待たせしました。
- 当然ですが、プロセス作成時のモードに適応したカスタムアクティビティしか選択できません。是非**Windowsモード**化を進める時期検討のための一情報として、お役立てください。
- 使用できないカスタムアクティビティがある場合は、作者に直接連絡してみるとか、自力でxaml化してみるか...
- 自力で作成したxamlは、汎用性を持たせる作りにしていっても楽しいですね。

- - - 

##おわりに
いかがでした？

今回も読んでいただきありがとうございました！
是非UiPathでのロボ開発の一助になればと思っています。

ありがとうございました！