【PowerAutomate】アクションのドキュメントライブラリを変数で指定する方法

スポンサーリンク




作業を自動化する
  • ドキュメントラリブラリが何なのか分からない
  • 場所を変数で指定したいがドキュメントライブラリが出てこない
  • ドキュメントライブラリを文字で指定したがエラーになる

この記事では、そんな方に向けてドキュメントライブラリとその指定方法を3ステップで説明します。

  • ドキュメントライブラリは「DriveID」を指定する
  • DriveIDの確認方法
  • 変数で動かしてみる
みずしぶき
みずしぶき

この記事を読めば、ドキュメントライブラリの指定方法がわかるようになります。

まだPowerAutomateを使った事が無いという方はこちらの記事を参考にしてください。

PowerAutomateはブラウザで操作するのでインストール無しで利用できます。Windows10ではないMacユーザも自由に使えます。

>>PowerAutomateで自動化した具体例9選<<

スポンサーリンク

ドキュメントライブラリは「DriveID」を指定する

SharePointトップページの左側にあるのがドキュメントライブラリです。
左側にあってもタイプが「ドキュメントライブラリ」でない物もあります。

SharePointやExcelOnlineのアクションでは、場所を指定するとドロップダウンに自動でドキュメントライブラリの情報が表示されます。

このドロップダウンは場所を直接指定した場合のみ表示されます。
場所を変数で指定するとドロップダウンが表示されません。

どうやって指定したらいいでしょうか。公式説明を見てみます。

名前キー必須説明
ドキュメント ライブラリdriveTruestringドロップダウンからドキュメント ライブラリを選択します。

「ドロップダウンから」と書かれています。
直接指定する方法が分かりません。

試しにカスタム値の入力で「ドキュメント」と文字で指定するとエラーになりましたが、よく見ると大切な事が書いてあります。

エラーメッセージ

The provided drive id appears to be malformed, or does not represent a valid drive.
指定されたドライブ ID の形式が正しくないか、有効なドライブを表していません。

エラーメッセージの通りドキュメントライブラリは、
DriveIDを指定するのが正しい書き方になります。

DriveIDとは、ドキュメントライブラリを一意に示すIDです。
画像はこの後説明する方法で取得した物です。DriveIDは66文字の英数字(ハイフンを含む)で構成されています。

当たり前ですが、DriveIDはドキュメントライブラリ毎に変わるので固定値ではありません。

このDriveIDをカスタム値で指定すればアクションを動かせます。
ですが、普段は意識する必要が無いのでDriveIDの確認方法は分からなくて当然です。

次の項目で確認方法を見ていきましょう。

DriveIDの確認方法

ドキュメントライブラリで指定するDriveIDの確認方法を見ていきましょう。

確認方法は2つあります。

  • 静的:フローの結果からIDを見る
  • 動的:アクションでIDを取得する オススメ!

静的:フローを実行した結果からIDを見る

こちらはフローを実際に動かした結果から確認する方法です。

「試しにフローを動かす」→「確認したDriveIDをコピーしてアクションにペーストする」という流れになるので実用的ではありません。
とりあえずDriveIDを見たいという方は試してみてください。

「表内に存在する行を一覧表示」で4か所指定します。

フローを動かした結果

左側には「ドキュメント」と記載されていますが、「未加工入力の表示」をクリックすると詳細画面が右側に表示されます。

詳細画面では”drive”の部分にDriveIDが表示されています。
公式説明はキーが”drive”になっていました。この事を言ってたんですね。

動的:アクションでIDを取得する(オススメ)

この方法はフローの中でDriveIDを抽出して、そのまま別のアクションで使えるので実用的です。

DriveIDの取得は「SharePoint に HTTP 要求を送信します」を使います。
設定は5ヶ所。

フローを動かした結果

JSON形式で出力されますが、”id”にDriveIDが書かれています。

JSONからidだけ取り出すために、データ操作の「作成」アクションを追加して式を入力します。

body('SharePoint_に_HTTP_要求を送信します')?['value'][0]?['id']

フローを動かした結果

IDだけ抽出できました。

DriveID抽出を参考にしたWEBページはこちら
https://flowaltdelete.ca/tag/get-tables/ ※新しいタブで開く

みずしぶき
みずしぶき

ここまで読めば重要なポイントは理解できたはずです。
この後は実際に動かしてみるので流し読みで構いません。

スポンサーリンク

変数で動かしてみる

4アクションで変数での指定を実現します。

  1. データ操作「作成」でSharePointのURLを指定
  2. SharePoint「SharePoint に HTTP 要求を送信します」で1を指定してIDを含む情報を取得
  3. データ操作「作成」で2からIDを抽出
  4. ExcelOnline「表内に存在する行を一覧表示」のドキュメントライブラリで3を指定

4つありますが、2と3は前の項目「動的:アクションでIDを取得する」と同じ内容です。

実際に作ったフローがこちら

(1)データ操作「作成」でSharePointのURLを指定

データ操作「作成」のアクションを作成して、SharePointのURLを入力します。

(2)SharePoint「SharePoint に HTTP 要求を送信します」で1を指定してIDを含む情報を取得

SharePoint「SharePoint に HTTP 要求を送信します」のアクションを作成して、5カ所入力します。

サイトのアドレス:動的コンテンツから「URL」の出力
方法      :GET
URI      :_api/v2.0/drives/
ヘッダー左   :accept
ヘッダー右   :application/json

フローを動かした結果

id情報を含む情報を取得できました。

(3)データ操作「作成」で2からIDを抽出

データ操作「作成」のアクションを作成して、動的なコンテンツから式を入力します。

式の値

body('SharePoint_に_HTTP_要求を送信します')?['value'][0]?['id']

複数ドキュメントライブラリがある場合は[0]の数値を変更する必要があります。

フローを動かした結果

idを取得できました。

(4)ExcelOnline「表内に存在する行を一覧表示」のドキュメントライブラリに3を指定

ExcelOnline「表内に存在する行を一覧表示」のアクションを作成して、4カ所入力します。

場所         :動的コンテンツから「URL」の出力
ドキュメントライブラリ:動的コンテンツから「ID」の出力
ファイル       :ファイルパス(エンコード)
テーブル       :テーブルID

ファイルとテーブルについては、説明を簡潔にするため直書きしています。

フローを動かした結果

ドキュメントライブラリを変数で指定してフローが動きました!!

まとめ

ドキュメントライブラリとその指定方法を3ステップで説明しました。

  • ドキュメントライブラリは「DriveID」を指定する
  • DriveIDの確認方法
  • 変数で動かしてみる

ドキュメントライブラリはSharePointやExcelOnlineのアクションで指定する必要があります。この2つのアクションは出現頻度が高いのでDriveIDの確認方法は覚えておきましょう。

PowerAutomateの記事まとめ
まだ試してないアクションがあれば見ておきましょう。
初心者向け
【初心者向け】PowerAutomateの使い方。無料で誰でも使えます。
基本的なアクション
【PowerAutomate】メールの添付ファイルをOneDriveへ保存する。
【PowerAutomate】Excelのデータをメールで送信する。
【PowerAutomate】メールを受信したらExcelにデータを入力する。
アクションの応用
【PowerAutomate】第1~5○曜日の日付を求める。
【PowerAutomate】メール本文から名前を抽出する。文字列抽出のキホン。
【PowerAutomate】ソートするフローを作る。配列の並べ替え。
【PowerAutomate】SharePointのリストから列と行をフィルターして表にする。
【PowerAutomate】ExcelからSharePointのリストに一括転記する
【PowerAutomate】SharePointのテキストファイルに改行を付けてメール送信
関数・アクション
【PowerAutomate】日付の関数まとめ。月末月初やExcelシリアル値変換など。
【PowerAutomate】Apply to eachの使い方。勝手に出てくる原因や遅い時の高速化など!

>>PowerAutomateで自動化した具体例9選<<

タイトルとURLをコピーしました