【UiPath】Sharepoint リストアクティビティ追加機能 #1 IDフィルタ

# SharePoint リストアクティビティの追加機能
UiPathのMicrosoft 365アクティビティでは、内包されるSharePoint リストアクティビティで2023年末に機能の追加がありましたので、内容をご説明したいと思います
[リリースノート](https://docs.uipath.com/ja/activities/other/latest/productivity/release-notes-microsoftoffice365-activities)

**関連記事**
[#2 Person or Group 列を使う](https://qiita.com/HirotakaTakehana/items/652f9d0779ab591ec555)

**UiPath関連でSharePointリストを扱っているもの**
[Sharepointのリスト操作をUiPathで自動化しましょう](https://qiita.com/mstgsg/items/af50ba5343b654ae9b7d)

# 前提
* これら機能を持つバージョンは、UiPath Studio 2023.10以降をサポートします
* Integration Serviceを利用する必要があります
* プロジェクトの種類で「Windows - レガシ」は非対応です

# フィルタにID列を指定できるようになった

### V2.3.3

・以下のアクティビティで、フィルタにID列を指定することができるようになりました。

* リスト アイテムを取得
* 単一のリスト アイテムを取得

特にフィルタを指定しない場合、
- リストアイテムを取得では、対象のSharePointリストのデータを取得し、**DataTable型（表でまるっと）** で出力します。
- 単一のリスト アイテムを取得では、対象のSharePointリストのデータを取得し、**DataRow型（1行）** で出力します。

# 事前準備
Integration Service でコネクタを準備します。
Integration Serviceの利用にはライセンスが必要となります。詳細は[公式ガイド](https://docs.uipath.com/ja/integration-service/automation-cloud/latest/user-guide/introduction)を参照してください。

Automation CloudのIntegration Serviceから、利用するフォルダを指定し、コネクタから「Microsoft OneDrive と SharePoint」を選択します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3304259/9d9b306b-be42-d2a1-1f02-47f6152b8c0d.png)

「Microsoft OneDrive と SharePoint に接続」をクリックします

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3304259/461068da-45f9-f73c-77bc-2472e7ae9df6.png)

「接続」をクリックします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3304259/8701adef-8a29-5656-d3c6-ce10d81eddaf.png)

コネクタに登録されたことを確認します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3304259/5cf0d117-fb8e-8e5a-ced9-f743d7b44f62.png)

# Studio側の作業

Studioを開きます。Windowsプロジェクトのプロジェクトを作成し、依存関係にMicrosoft365アクティビティを追加します。バージョンはV2.3.3以上とします。（下記例は最新のV2.4.3を使用しています）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3304259/5cc884b3-1438-5cfe-c48c-427191a70367.png)

アクティビティパネルから、リストアイテムを取得を配置します。（Office 365 - クラシックで同名のアクティビティがありますが、間違えないようにしてください）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3304259/fff237af-6bf1-c6d0-1272-8b63e9d9dc59.png)

Integration Serviceが正しく設定されていれば、自動でコネクタが設定されます。SharePoint リストから、利用したいリストを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3304259/6223cfeb-a849-0d26-f76d-602ea0f990fd.png)

今回利用するSharePoint リストは以下のようなデータが入っています。あえてID:2の行だけフィルタ指定して取得してみます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3304259/3a11fac9-be55-f287-be68-748f66d02611.png)

アクティビティの「IDを使用」をクリックします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3304259/4859fd96-8936-044d-4d06-47a5110f72e2.png)

IDはIEnumerable<Object>型で指定します。以下のように、既定の値に2を入れてみます
`New List(of object) From{2}`

非常に簡素な処理ですが、今回の例で使用したワークフローのサンプルは以下です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3304259/7de66f04-6ded-5258-5975-9d7932a6e1c2.png)


# 結果

出力されるDataTableをExcelに張り付けてみました。想定通り指定したID行だけにフィルタされていました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3304259/dbb852ce-1543-dd2e-6628-b2708bdcff40.png)