LoginSignup
8
12

More than 1 year has passed since last update.

Microsoft FormsからSharePointリストにファイルを添付する

Last updated at Posted at 2022-02-10

Microsoft Formsからファイルを送信し、
SharePointのリストにファイルを添付するAutomateのテンプレートがなかったため作成します。
想定する業務フローとしてFormsから経費の申請を行い、
経費申請の内容と領収書画像などがSharePointリストに保存されることなどです。

大きな流れ

image.png

  1. (Forms) 新しい応答が送信されるとき
  2. (Forms) 応答の詳細を取得する
  3. (SharePoint) 項目の作成。※リストに追加
    1. テスト JSON情報を調査
  4. (JSON) JSONの解析
  5. (SharePoint) パスによるファイルコンテンツの取得
  6. (SharePoint) 添付ファイルの追加

コツは、
4で取得したJSONのname属性からファイル名を取得し、
5でファイルコンテンツ(ファイルそのもの)を取得するところです。

調べた限りだとテンプレートもなさそうでした。※2022年2月現在

前提条件

利用環境は以下のようになります。

  • Microsoft Forms(Forms グループフォーム)
    • チームで作成する場合は、グループのFormsで作成しましょう。
  • OneDrive for Business (SharePointドキュメント)
    • Formsを個人で作るとOneDrive、グループで作るとSharePointドキュメントに添付ファイルが送信されます。
  • SharePointリスト

今回はグループのFormsを例に説明します。

フロー作成(1~6)

1. (Forms) 新しい応答が送信されるとき(トリガー)

事前に取得していたフォームIDを選択するかカスタム値から入力します。

image.png

※フォームIDは、URLのid=のあとに続く箇所です。

image.png

2. (Forms) 応答の詳細を取得する

フォームID:選択か入力
応答ID: (Forms)応答ID

image.png

3. (SharePoint) 項目の作成。※リストに追加

  • サイトのアドレス: サイトURL
  • リスト名:リスト名
  • Title: (Forms)の任意の動的コンテンツ
  • その他(※画像の例では金額): (Forms)の任意の動的コンテンツ

※TitleはSharePointリストのデフォルトの列名です。

image.png

赤字の箇所はFormsからの任意の動的コンテンツを入れましょう。

テスト (JSON) JSONの解析

ファイルのJSON形式を知るためのテストです。
(JSON)JSONの解析を作成しましょう。

  • コンテンツ: Formsの添付ファイル(動的コンテンツ)
  • スキーマ: ""などと入力。一旦テスト

その後、Formsからテストで投稿することでJSON情報が確認可能です。
以下のスクショは実行履歴から確認できる添付ファイルのJSON情報です。
後ほど使うため赤線部分をコピーしておきましょう。

image.png

4. (JSON) JSONの解析

JSON情報がわかったため、その情報を入力します。

  • コンテンツ: Formsの添付ファイル(動的コンテンツ)
  • スキーマ: サンプルから生成をクリックして先程のJSON情報をペースト

image.png

5. (SharePoint) パスによるファイルコンテンツの取得

解析したJSONの情報からファイルそのものを取得します。

SharePointのパスによるファイルコンテンツの取得を次のアクションとして指定すると、
自動的にApply to Each(配列の繰り返し)ができるようです。

  • 以降の手順から出力を選択: (JSON)本文
  • (SharePoint) パスによるファイルコンテンツの取得
    • サイトのアドレス: SharePointドキュメントURL
    • ファイルパス: /Shared Documents/アプリ/Microsoft Forms/**任意のフォーム名**/質問/**(JSON)name**

ファイルパスは言語環境などによって変わるかと思います。

image.png

6. (SharePoint) 添付ファイルの追加

最後です。
3で作成したリスト行に、取得したファイルを添付します。

  • 以前の手順から出力を選択: (JSON) 本文
  • サイトのアドレス: SharePointサイトのURL
  • リスト名: リスト名
  • ID: (SharePoint) ID
  • ファイル名: (JSON) name
  • ファイルコンテンツ: (SharePoint) 本文

image.png

完了!!
Formsからファイルを投稿すると、
リストが作成されファイルも添付されます。

まとめ

JSONとファイルの取り扱いが少し面倒ですが、慣れが必要かもしれません。
しかしPowerAutomateの想定する利用者であるバックオフィスの非システム部門の方に
JSONスキーマを理解してもらうのは少し無理があります。
もう少し簡単になることを祈ります。

※追記
参考にしたYoutube動画
Save Microsoft Forms Attachments to SharePoint with Power Automate

8
12
0

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
8
12