UiPath Studioの開発では、Office365のSharePointのリスト操作したいケースがあります。
この記事では、Microsoft Office365アクティビティを使用して、SharePointのリストを操作する方法を説明します。
関連記事 【UiPath】Udemyのオンラインコースでワンランク上のロボット作成技術を学ぶ

システム開発,クラウド構築,サービス企画まで幅広い経験を持つITエンジニア。当ブログでは、UiPathや資格取得のノウハウを発信します。profile詳細 / twitter:@fpen17
Office365アクティビティの使用準備と方法
Office365アクティビティのインストール方法
Microsoft Office365アクティビティは、デフォルトで作成したプロセスには存在しません。
別途、MicrosoftOffice365.Activitiesアクティビティパッケージを追加する必要があります。
Microsoft Office365アクティビティのインストール方法は、Office365アクティビティパッケージのインストールの記事を参考にしてください。
Office365アクティビティの使用方法
Office365のSharePoint リスト関連のアクティビティは、「Microsoft Office 365 スコープ」内にアクティビティ配置して使用します。
「Microsoft Office 365 スコープ」は、連携>Microsoft>Office365 配下のアクティビティがすべて使用出来るのでおすすめです。
ただし、AzureADに対して「アプリの登録」の設定が必要です。
Office365のSharePoint操作のアクティビティ一覧
Office365のSharePoint リストを操作するアクティビティは、「連携>Microsoft>Office365>SharePoint リスト」配下にあります。
「連携>Microsoft>Office365>SharePoint リスト」配下のアクティビティは、以下表の通りです。
アクティビティの場所 | アクティビティ名 | アクティビティで出来ること |
連携>Microsoft> Office365> SharePointリスト |
リスト アイテムを削除(Delete List Item) | Microsoft Graph の Delete item API を使用して、指定したリスト アイテムを削除します。 |
リストの項目を更新(Update List Item) | Microsoft Graph の Update item API を使用して、指定したリスト アイテムを更新します。 | |
リスト アイテムを追加(Add List Items) | Microsoft Graph の Create item API を使用して、指定した SharePoint リストに 1 つ以上のリスト アイテムを追加します。 | |
リストの情報を取得(Get List Info) | Microsoft Graph の Get list API を使用して、指定した SharePoint リストに関する情報を取得します。 | |
繰り返し (各リスト アイテム)(For Each List Item) | Microsoft Graph の Get items API を使用して、指定した SharePoint リスト内の各リスト アイテムに対して 1 つまたは一連のアクティビティを実行します。 | |
繰り返し (各リスト)(For Each List) | Microsoft Graph の Get lists および Get list API を使用して、指定した SharePoint サイト内の各リストに対して 1 つまたは一連のアクティビティを実行します。 |
Office365のSharePoint リストの操作
Office365のSharePoint リストを操作するには、「連携>Microsoft>Office365>SharePoint リスト」にあるアクティビティを使用します。
リストの情報を取得 (Get List Info)
Office365のSharePoint リストを操作するには、まず「リストの情報を取得 (Get List Info)」アクティビティでリストを検索して「UiPath.MicrosoftOffice365.Models.Office365SharepointList型」として取得します。
リストの情報を取得 (Get List Info)の設定項目
設定場所 | 設定項目 | 設定内容 | |
[プロパティ] パネル内 | 共通 | 表示名 | アクティビティの表示名です。 |
入力 | 列の定義を含む | リストの列の情報を取得するかどうか指定します。 | |
リストのタイトル/ID | リストのタイトル (表示名) または ID のいずれかを指定します。 | ||
サイト URL/ID | SharePoint サイトの URL または ID です。 | ||
その他 | プライベート | オンにした場合、変数および引数の値が Verbose レベルでログに出力されなくなります。 | |
出力 | リスト | SharePoint リストに関する情報です。 |
繰り返し (各リスト アイテム)(For Each List Item)
Office365のSharePointを操作するには、まず「リストの情報を取得 (Get List Info)」アクティビティでリストを検索して「UiPath.MicrosoftOffice365.Models.Office365SharepointList」型として取得します。
次に、取得したOffice365SharepointListを「繰り返し (各リスト アイテム)(For Each List Item)」アクティビティで使用することにより、リスト内の各Itemの情報を取得出来ます。
繰り返し (各リスト アイテム)(For Each List Item)の設定項目
設定場所 | 設定項目 | 設定内容 | |
[プロパティ] パネル内 | 共通 | 表示名 | アクティビティの表示名です。 |
入力 | フィルター | 任意の OData フィルターです。 | |
リスト | 操作を実行する SharePoint リストです。 | ||
その他 | プライベート | オンにした場合、変数および引数の値が Verbose レベルでログに出力されなくなります。 | |
出力 | インデックス | 使用中のコレクションで繰り返し処理される要素を指定するゼロベースのインデックスです。 |
SharePointOnlineのリスト内の各アイテムのデータとメタ情報を表示する。
・ワークフロー(1/2)
・ワークフロー(2/2)
・変数
・Microsoft Office 365 スコープのプロパティ
・リストの情報を取得のプロパティ
・繰り返し (各リスト アイテム)のプロパティ
・SharePointの取得対象のリスト
・ワークフロー実行結果のログ
次のファイルのデバッグを開始しました: Main
Office365-Activity-sample の実行が開始されました。
==========
0
name: ContentType
value: アイテム
-----
name: Title
value: 田中
-----
name: Modified
value: 2022-03-06T04:35:16Z
-----
name: Created
value: 2022-02-20T03:44:00Z
-----
name: AuthorLookupId
value: 9
-----
name: EditorLookupId
value: 9
-----
name: _UIVersionString
value: 18.0
-----
name: Attachments
value: False
-----
name: Edit
value:
-----
name: LinkTitleNoMenu
value: 田中
-----
name: LinkTitle
value: 田中
-----
name: ItemChildCount
value: 0
-----
name: FolderChildCount
value: 0
-----
name: _ComplianceFlags
value:
-----
name: _ComplianceTag
value:
-----
name: _ComplianceTagWrittenTime
value:
-----
name: _ComplianceTagUserId
value:
-----
name: AppAuthorLookupId
value: 4
-----
name: score
value: 80
-----
name: ID
value: null
-----
name: DocIcon
value: null
-----
name: AppEditorLookupId
value: null
-----
name: ComplianceAssetId
value: null
-----
name: _x5099__x8003_
value: null
-----
name: _IsRecord
value: null
-----
==========
1
name: ContentType
value: アイテム
-----
name: Title
value: 鈴木
-----
name: Modified
value: 2022-03-05T11:59:01Z
-----
name: Created
value: 2022-02-20T03:44:00Z
-----
name: AuthorLookupId
value: 9
-----
name: EditorLookupId
value: 9
-----
name: _UIVersionString
value: 12.0
-----
name: Attachments
value: False
-----
name: Edit
value:
-----
name: LinkTitleNoMenu
value: 鈴木
-----
name: LinkTitle
value: 鈴木
-----
name: ItemChildCount
value: 0
-----
name: FolderChildCount
value: 0
-----
name: _ComplianceFlags
value:
-----
name: _ComplianceTag
value:
-----
name: _ComplianceTagWrittenTime
value:
-----
name: _ComplianceTagUserId
value:
-----
name: AppAuthorLookupId
value: 4
-----
name: AppEditorLookupId
value: 4
-----
name: score
value: 30
-----
name: _x5099__x8003_
value: 再テスト
-----
name: ID
value: null
-----
name: DocIcon
value: null
-----
name: ComplianceAssetId
value: null
-----
name: _IsRecord
value: null
-----
Office365-Activity-sample の実行が終了しました。 in: 00:00:21
リスト アイテムを追加(Add List Items)
Office365のSharePointを操作するには、まず「リストの情報を取得 (Get List Info)」アクティビティでリストを検索して「UiPath.MicrosoftOffice365.Models.Office365SharepointList」型として取得します。
次に、取得したOffice365SharepointListをリスト アイテムを追加(Add List Items)アクティビティで使用することにより、リスト内にItem追加出来ます。
リスト アイテムを追加(Add List Items)の設定項目
設定場所 | 設定項目 | 設定内容 | |
[プロパティ] パネル内 | 共通 | 表示名 | アクティビティの表示名です。 |
入力 | リスト | 操作を実行する SharePoint リストです。 | |
リスト アイテム (複数) | 複数のリスト アイテムのフィールド値です。 | ||
リスト アイテム (1 個) | 1 つのリスト アイテムのフィールド値です。 | ||
その他 | プライベート | オンにした場合、変数および引数の値が Verbose レベルでログに出力されなくなります。 | |
出力 | リスト アイテム | 新しく作成されたリスト アイテムの情報です。 |
CSVファイルから取得したデータテーブルを、SharePointOnlineのリストへアイテムとして追加する。

・変数
・Microsoft Office 365 スコープのプロパティ
・CSV を読み込みのプロパティ
・リストの情報を取得のプロパティ
・リスト アイテムを追加のプロパティ
・読み込み対象のCSVファイル(spolist.csv)
・ワークフロー実行前のSharePointのリスト
・ワークフロー実行後のSharePointのリスト
リストの項目を更新(Update List Item)
Office365のSharePointを操作するには、まず「リストの情報を取得 (Get List Info)」アクティビティでリストを検索して「UiPath.MicrosoftOffice365.Models.Office365SharepointList」型として取得します。
次に、取得したOffice365SharepointListのデータを更新して、更新(Update List Item)で使用することにより、リスト内のItemを更新出来ます。
リストの項目を更新(Update List Item)の設定項目
設定場所 | 設定項目 | 設定内容 | |
[プロパティ] パネル内 | 共通 | 表示名 | アクティビティの表示名です。 |
入力 | リスト アイテム | 更新するリスト アイテムです。 | |
その他 | プライベート | オンにした場合、変数および引数の値が Verbose レベルでログに出力されなくなります。 |
SharePointOnlineのリストを取得し、取得したOffice365SharepointList内のデータを更新して、SharePointOnlineのアイテムを更新する。
・ワークフロー(1/4)
・ワークフロー(2/4)
・ワークフロー(3/4)
・ワークフロー(4/4)
・変数
・リストの情報を取得のプロパティ
・繰り返し (各リスト アイテム)のプロパティ
・ワークフロー実行前のSharePointのリスト
・ワークフロー実行後のSharePointのリスト
・ワークフロー実行ログ
Office365-Activity-sample の実行が開始されました。
-----ListItemの番号: 0 -----
name: ContentType
name: Title
### フラグにTrueを設定 ###
name: Modified
name: Created
name: AuthorLookupId
name: EditorLookupId
name: _UIVersionString
name: Attachments
name: Edit
name: LinkTitleNoMenu
name: LinkTitle
name: ItemChildCount
name: FolderChildCount
name: _ComplianceFlags
name: _ComplianceTag
name: _ComplianceTagWrittenTime
name: _ComplianceTagUserId
name: AppAuthorLookupId
name: score
### scoreを更新 ###
name: ID
name: DocIcon
name: AppEditorLookupId
name: ComplianceAssetId
name: _x5099__x8003_
### 備考を更新 ###
name: _IsRecord
-----ListItemの番号: 1 -----
name: ContentType
name: Title
name: Modified
name: Created
name: AuthorLookupId
name: EditorLookupId
name: _UIVersionString
name: Attachments
name: Edit
name: LinkTitleNoMenu
name: LinkTitle
name: ItemChildCount
name: FolderChildCount
name: _ComplianceFlags
name: _ComplianceTag
name: _ComplianceTagWrittenTime
name: _ComplianceTagUserId
name: AppAuthorLookupId
name: score
name: _x5099__x8003_
name: ID
name: DocIcon
name: AppEditorLookupId
name: ComplianceAssetId
name: _IsRecord
-----ListItemの番号: 2 -----
name: ContentType
name: Title
name: Modified
name: Created
name: AuthorLookupId
name: EditorLookupId
name: _UIVersionString
name: Attachments
name: Edit
name: LinkTitleNoMenu
name: LinkTitle
name: ItemChildCount
name: FolderChildCount
name: _ComplianceFlags
name: _ComplianceTag
name: _ComplianceTagWrittenTime
name: _ComplianceTagUserId
name: AppAuthorLookupId
name: AppEditorLookupId
name: score
name: ID
name: DocIcon
name: ComplianceAssetId
name: _x5099__x8003_
name: _IsRecord
-----ListItemの番号: 3 -----
name: ContentType
name: Title
name: Modified
name: Created
name: AuthorLookupId
name: EditorLookupId
name: _UIVersionString
name: Attachments
name: Edit
name: LinkTitleNoMenu
name: LinkTitle
name: ItemChildCount
name: FolderChildCount
name: _ComplianceFlags
name: _ComplianceTag
name: _ComplianceTagWrittenTime
name: _ComplianceTagUserId
name: AppAuthorLookupId
name: AppEditorLookupId
name: score
name: _x5099__x8003_
name: ID
name: DocIcon
name: ComplianceAssetId
name: _IsRecord
Office365-Activity-sample の実行が終了しました。 in: 00:00:16
・コピペ用のコード
■メッセージをログ
"-----ListItemの番号: "+ListItemIndex.ToString + " -----"
■メッセージをログ
"name: "+ListItem.Fields(intWhileCount).name
■条件分岐 nameがTitleか判定
ListItem.Fields(intWhileCount).name.Equals("Title") and ListItem.Fields(intWhileCount).value IsNot Nothing
■条件分岐 nameがScoreか判定
ListItem.Fields(intWhileCount).name.Equals("score")
■条件分岐 nameが備考か判定
ListItem.Fields(intWhileCount).name.Equals("_x5099__x8003_")
リスト アイテムを削除(Delete List Item)
Office365のSharePointのリストを操作するには、まず「リストの情報を取得 (Get List Info)」アクティビティでリストを検索して「UiPath.MicrosoftOffice365.Models.Office365SharepointList」型として取得します。
次に、取得したOffice365SharepointList内の削除対象のOffice365SharepointListItem をリスト アイテムを削除(Delete List Item)で使用することにより、リスト内のItemを削除出来ます。
リスト アイテムを削除(Delete List Item)の設定項目
設定場所 | 設定項目 | 設定内容 | |
[プロパティ] パネル内 | 共通 | 表示名 | アクティビティの表示名です。 |
入力 | リスト アイテム | 操作を実行するリスト アイテムです。 | |
その他 | プライベート | オンにした場合、変数および引数の値が Verbose レベルでログに出力されなくなります。 |
SharePointOnlineのリストを取得し、取得したOffice365SharepointList内の特定のアイテムを削除する。
・ワークフロー(1/2)
・ワークフロー(2/2)
・変数
・Microsoft Office 365 スコープのプロパティ
・リストの情報を取得のプロパティ
・繰り返し (各リスト アイテム)のプロパティ
・ワークフロー実行前のSharePointのリスト
・ワークフロー実行後のSharePointのリスト
・ワークフロー実行ログ
Office365-Activity-sample の実行が開始されました。
-----ListItemの番号: 0 -----
name: ContentType
name: Title
### フラグにTrueを設定 ###
name: Modified
name: Created
name: AuthorLookupId
name: EditorLookupId
name: _UIVersionString
name: Attachments
name: Edit
name: LinkTitleNoMenu
name: LinkTitle
name: ItemChildCount
name: FolderChildCount
name: _ComplianceFlags
name: _ComplianceTag
name: _ComplianceTagWrittenTime
name: _ComplianceTagUserId
name: AppAuthorLookupId
name: score
### scoreを更新 ###
name: ID
name: DocIcon
name: AppEditorLookupId
name: ComplianceAssetId
name: _x5099__x8003_
### 備考を更新 ###
name: _IsRecord
-----ListItemの番号: 1 -----
name: ContentType
name: Title
name: Modified
name: Created
name: AuthorLookupId
name: EditorLookupId
name: _UIVersionString
name: Attachments
name: Edit
name: LinkTitleNoMenu
name: LinkTitle
name: ItemChildCount
name: FolderChildCount
name: _ComplianceFlags
name: _ComplianceTag
name: _ComplianceTagWrittenTime
name: _ComplianceTagUserId
name: AppAuthorLookupId
name: score
name: _x5099__x8003_
name: ID
name: DocIcon
name: AppEditorLookupId
name: ComplianceAssetId
name: _IsRecord
-----ListItemの番号: 2 -----
name: ContentType
name: Title
name: Modified
name: Created
name: AuthorLookupId
name: EditorLookupId
name: _UIVersionString
name: Attachments
name: Edit
name: LinkTitleNoMenu
name: LinkTitle
name: ItemChildCount
name: FolderChildCount
name: _ComplianceFlags
name: _ComplianceTag
name: _ComplianceTagWrittenTime
name: _ComplianceTagUserId
name: AppAuthorLookupId
name: AppEditorLookupId
name: score
name: ID
name: DocIcon
name: ComplianceAssetId
name: _x5099__x8003_
name: _IsRecord
-----ListItemの番号: 3 -----
name: ContentType
name: Title
name: Modified
name: Created
name: AuthorLookupId
name: EditorLookupId
name: _UIVersionString
name: Attachments
name: Edit
name: LinkTitleNoMenu
name: LinkTitle
name: ItemChildCount
name: FolderChildCount
name: _ComplianceFlags
name: _ComplianceTag
name: _ComplianceTagWrittenTime
name: _ComplianceTagUserId
name: AppAuthorLookupId
name: AppEditorLookupId
name: score
name: _x5099__x8003_
name: ID
name: DocIcon
name: ComplianceAssetId
name: _IsRecord
Office365-Activity-sample の実行が終了しました。 in: 00:00:16
・コピペ用のコード
■メッセージをログ
"-----ListItemの番号: "+ListItemIndex.ToString + " -----"
■メッセージをログ
"name: "+ListItem.Fields(intWhileCount).name
■条件分岐 nameがTitleか判定
ListItem.Fields(intWhileCount).name.Equals("Title") and ListItem.Fields(intWhileCount).value IsNot Nothing
■条件分岐 valueの値を判定
ListItem.Fields(intWhileCount).value.Equals("佐藤")
まとめ
- Office365のSharePointのリストを操作するためには、まずMicrosoftOffice365.Activitiesアクティビティパッケージを追加します。
- SharePointのリストを操作するワークフローに「Microsoft Office 365 スコープ」を配置し、その中に「連携>Microsoft>Office365>SharePoint リスト」アクティビティを配置する。
- 「リストの情報を取得 (Get List Info)」アクティビティで指定のリストを検索して「UiPath.MicrosoftOffice365.Models.Office365SharepointList」型として取得した結果を、SharePoint リストのアクティビティで使用して操作する。
関連記事 【UiPath】Udemyのオンラインコースでワンランク上のロボット作成技術を学ぶ
\教育訓練給付金対象講座なら受講料最大45万円給付/
*オンライン個別説明会&相談会への参加は無料
関連記事 現役SEエフペンがもしIT未経験からWebエンジニアを目指すならプログラミングスクール【ディープロ】を受講する
