LoginSignup
51
37

More than 1 year has passed since last update.

Power Automate Desktop で SharePoint Onlineリストのデータをダイレクトに取得や操作する方法

Last updated at Posted at 2021-04-15

はじめに

Power Automate Desktop から Sharepoint Online のリストに対して、直接アイテムの取得、追加、更新、削除する方法を記載します。

注意

本手順では Microsoft.ACE.OLEDB.12.0 を利用します。
「Microsoft.ACE.OLEDB.12.0プロバイダーはローカルコンピュータに登録されていません」的なメッセージが表示された場合は、下記よりインストールしてください。
https://www.microsoft.com/ja-jp/download/details.aspx?id=13255

Accessのランタイムをインストールする形でも可能です。
Microsoft 365 Access Runtime をダウンロードしてインストールする

Microsoft.ACE.OLEDB.12.0 のSPOへの接続文字列については下記を参考にさせていただきました。本当にありがたいです!
https://www.connectionstrings.com/ace-oledb-12-0/#sharepoint

接続設定

PADにて、「SQL 接続を開く」 を選択

image.png

開いたウィンドウの接続文字列に、下記を入力します。

Provider=Microsoft.ACE.OLEDB.12.0;WSS;IMEX=0;RetrieveIds=Yes; DATABASE=[SPOサイトURL];LIST=[リストID];

※[SPOサイトURL] と [リストID] 部分は以下の方法で取得してください。

[SPOサイトURL] の取得

対象のSPOリストが含まれるサイトのURLを入力します。「ホーム」を選択した時のURLでOKです。
image.png

[リストID] の取得

対象のリストを選択した状態で、右上の歯車マークより、リストの設定を選び
image.png

リストの設定画面のURLよりリストIDを取得します。
image.png

URLの"LIST="から続く文字列のうち、先頭の"%7B"と、末尾の"%7D"を除いた部分が、[リストID]になります。
image.png

今回の例ですと、以下のようになります
image.png

データ操作

PAD から SPO リストに対してはSQLを利用してデータ操作します。
SQLのリファレンスはWebにあふれていますので、ご存じない方は調べてみてください。

今回は基本的な取得、追加、更新、削除方法を記載します。

まず、「SQL ステートメントの実行」を選びます

image.png

開いたウィンドウの、「SQL ステートメント」欄に、SQLを記載していきます。
image.png

データの取得

SELECT文を使います。
列名はSPO リストのカラム名をしてします。
テーブル名は[](大かっこ)で囲んで、リスト名を指定してもいいですが、

"list"と記載してもOKです。超便利ですね!

例です

SELECT station,arrival,departure FROM [JR_Tokaido_Inbound_Line] WHERE station = '名古屋'
 または
SELECT station,arrival,departure FROM list WHERE station = '名古屋'

SQLステートメント内に変数を入れてもいいです。
image.png

データを取得できます。
image.pngimage.png

データの追加

INSERT文を使います。
テーブル名を"list"と記載してもいいのは取得と同じですし、SQL内に変数を入れてもいいです。

例です

INSERT INTO [JR_Tokaido_Inbound_Line] (station,arrival,departure ) VALUES ( '岐阜','9:00着','9:05発')
 または
INSERT INTO list (station,arrival,departure ) VALUES ( '岐阜','9:00着','9:05発')

リストにデータが追加できます。
image.png

データの更新

UPDATE文を使います。
上記と同じですので、PADの変数を入れた例のみ記載。

UPDATE list SET station = '%NewVar%' WHERE station ='名古屋'

データの削除

DELETE文を使います。

DELETE FROM list WHERE Station = '岐阜'

接続を閉じる

作成した接続は切断しましょう。
PADにて、「SQL 接続を閉じる」 を選択

image.png

まとめ

PADからSPOリストを直接編集する方法が知りたく、色々調べてみた結果になります。
もっと簡単な方法をご存知でしたら、ご教示いたけると嬉しいです。

51
37
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
51
37