アプリ開発の調査にかかる
時間を削減したい
内製化支援サービス
アプリを自分たちで
作成できるようになりたい
DX人材育成プログラム
プロに開発を依頼したい
アプリ開発導入支援サービス
SharePoint デザイン拡張サービス
X-SP Style
モダン化から運用管理までサポート
移行・モダン化コンサルティング
こんにちは。アーティサン株式会社の小刀稱(ことね)です。
「Power AutomateでExcelをSharePointリストにインポートしたい時に考えること」シリーズの第5回です。
本シリーズでは、私が実際にPower Automateを用いて、「ExcelをSharePointリストにインポートする」フローを作成していきます。 また、作成の際に学んだ点や躓いた点を中心に紹介いたします。
Power Automateでどんな事ができるのか知りたい、実際の作成方法を知りたい、という方に向けた記事です。
前回までで、Power Automateを用いて「ExcelをSharePointリストにインポートする」最低限の機能を作成しました。 以降では、作成したフローを実際の運用にも活用できるよう機能を向上させていきたいと思います。
第4回目の内容はこちらを参照ください。
Power AutomateでExcelデータをSharePointにインポートするために考えること(第4回)
今回は、「動的にExcelデータを取得する」方法についてお伝えしていきます。
(本シリーズの中で一番難易度が高い内容です!)
前回までで作成したフローは、事前にSharePointに保存したExcelデータ(=静的なExcelデータ)がある状態でPower Automateを起動していました。
このような場合、取得したいExcelのファイル名(正確にはファイルID)やテーブル名(正確にはテーブルID)は一覧から選択するだけで簡単に設定できます。
しかし実際の運用では、「メールに添付されたExcelデータを自動的にインポートする」や、「SharePointにExcelデータが保存された際、自動的にインポートする」という要望が多いです。
ファイルIDやテーブルIDはSharePointに保存された段階で初めて値が設定されるため、 上記要望のように、「フロー内でSharePointにExcelデータを保存し、そのデータを利用する」という フローを作成する場合、フロー内の設定項目として、事前にファイルIDやテーブルIDを設定することができません。
このような場合は、フローの中で動的にファイルIDやテーブルIDを取得する必要があります。
今回は、そのための仕掛けを作っていきます。
Excelデータの動的な取得(ファイルID編)
Microsoft Graph REST API を介した SharePoint REST 操作
具体的には、「SharePointにHTTP要求を送信します」アクションを用いて、ExcelデータのファイルIDを動的に取得していきます。
流れとしては、以下の手順です。 (いずれも「SharePointにHTTP要求を送信します」アクションを用います。)
Excelデータが保存されたSharePointドキュメントライブラリのドライブIDを取得
ExcelデータのファイルIDを取得
Excelデータが保存されたSharePointドキュメントライブラリのドライブIDを取得
ドライブIDを取得するには、以下の手順を実施していきます。
- ドライブ一覧を取得
- ドライブ一覧から今回使用するドライブ情報をドライブ名で検索
- 対象のドライブIDを取得
(1)ドライブ一覧を取得
SharePointにHTTP要求を送信しますアクションを選択し、以下の項目を入力します。
サイトのアドレス:保存したSharePointのサイト
- 方法
- GET
- URL
- _api/v2.0/drives/
- ヘッダー
- accept application/json
上記を一度実行し、実行履歴から「出力」のbody部分を見てみましょう。
(2)ドライブ一覧から今回使用するドライブ情報をドライブ名で検索
上記の手順でドライブ一覧を取得することができました。
続いて対象のドキュメントライブラリ(=Excelファイルの保存場所)の「id」値(ハイライト部分)を抽出していきます。
まずは、「JSONの解析」アクションを用います。 本アクションは絶対に必要なものではありませんが、このアクションを入れることで、後続のアクションで必要な式を自分で作成する手間を省く事ができるため、利用することをオススメします。
(この説明では分かりづらいと思いますので、詳細は後ほどお伝えします。)
では、JSONの解析アクションを作成します。
コンテンツ項目にはSharePointにHTTP要求を送信しますアクションのbodyを設定します。
またスキーマ項目については、「サンプルから作成」をクリックし、 body内の値({から} まで)の内容をコピー&ペーストすることで完了です。
続いて、「アレイのフィルター処理」アクションを追加します。
このアクションでは、nameがExcelファイルの保存場所である項目を検索し、その情報を抽出しています。
ここまでの結果を見てみましょう。
ドライブ一覧から、[Excelファイルの保存場所]に関する情報のみ抽出することができました!
「JSONの解析」アクションの必要性について補足します。
アレイのフィルター処理アクションで値の選択をクリックすると、使用するコンテンツの候補がでてきます。
JSONの解析アクションを事前に追加している場合は、ここに今回使用するnameが自動的に表示されます。
JSONの解析アクションを追加していない場合、こちらのname項目が自動的に表示されないため、具体的な式を自身で作成する必要があります。
「JSON」の解析アクションを用いると、自身で式を作成する手間が不要となるためオススメです。
少し長くなってしまいましたので、今回はここまでとさせていただきます。
次回は、今回の続きを作成し、ドライブID・ファイルID・テーブルIDを動的に取得する方法についてお伝えしていきます!
ここまで読んでいただき、ありがとうございました。
【このシリーズの過去回一覧】
-
【Power AutomateでExcelデータをSharePointにインポートするために考えること 第1回】
4つのシーンごとに手法を比較、その最適解とは? -
【Power AutomateでExcelデータをSharePointにインポートするために考えること 第2回】
フロー作成でエラー発生! -
【Power AutomateでExcelデータをSharePointにインポートするために考えること 第3回】
フロー実行時のエラー内容と対処方法 -
【Power AutomateでExcelデータをSharePointにインポートするために考えること 第4回】
タイムゾーン差異と対処法 -
【Power AutomateでExcelデータをSharePointにインポートするために考えること 第5回】
ExcelファイルIDを動的取得 -
【Power AutomateでExcelデータをSharePointにインポートするために考えること 第6回】
インポートするためのドライブIDを取得する方法 -
【Power AutomateでExcelデータをSharePointにインポートするために考えること 第7回】
ファイルIDとテーブルIDを動的取得 -
【Power AutomateでExcelデータをSharePointにインポートするために考えること 第8回】
トリガーの条件の指定方法 -
【Power AutomateでExcelをSharePointリストにインポートしたい時に考えること 第9回】
Excel表データの行数が多い場合の対処法 -
【Power AutomateでExcelをSharePointリストにインポートしたい時に考えること 第10回】
インポートがうまくいかない!原因と対処法は? -
【Power AutomateでExcelをSharePointリストにインポートしたい時に考えること 第11回】
煩雑なフローをアクションで可読性向上!
【こちらも合わせて読みたい】
小刀稱知哉
大分県出身(温泉大好き)、現在は東京都在住
1990年生まれ
30才でメーカーの技術営業からIT業界にジョブチェンジ!!!
趣味は読書
主にMicrosoftのローコード(SharePoint・Power Platform)に関するに関する営業活動や設計、開発などを担当しております!
(最近はCopilot Studioについても勉強中)
持ってる資格はPL-200/PL-300/PL-400/PL-600/MS-700/AZ-104/AZ-305/SC-200