Power Automateで“そのまま保存できない”理由と正しい手順
対象読者
初級(Power Automateクラウドフローを触り始めた方向け)
この記事で学べること
- Microsoft Formsの添付ファイルがどこに保存されているか
- なぜSharePointリストにそのまま保存できないのか
- Power Automateで正しく添付ファイルを保存する手順
- 実務でよく起きるエラーとその原因
概要
Microsoft Formsには「ファイルのアップロード」という機能があります。
しかし、Formsから SharePointリストに添付ファイルを保存したいと思ってFlowを作ると、ほとんどの人がつまずきます。
実はFormsの添付ファイルは、回答データの中に直接入っていないのです。
この記事では、「なぜできないのか」「どうすればできるのか」を順番に整理しながら解説します。
なぜそのまま保存できないのか
Formsでアップロードされたファイルは、実は以下の場所に保存されています。
- 個人フォーム :回答者の OneDrive
- グループフォーム : グループの SharePointドキュメントライブラリ
Power Automateから見ると、Formsが返してくるのは「ファイル本体 ではなく、ファイルの場所(リンク情報)」です。そのため、SharePointリストの「添付ファイル列」に直接保存するということができません。
解決方法は、添付ファイルを取得して、添付し直す
対応方法はとてもシンプルです。
ファイルを一度取得してから、SharePointリストの添付ファイルとして追加する
この考え方が理解できれば、構成は難しくありません。
全体構成(クラウドフローの流れ)
Forms
↓
When a new response is submitted
↓
Get response details
↓
Parse JSON(添付ファイル情報を展開)
↓
Create item(SharePointリスト)
↓
Apply to each(ファイルごと)
↓
Get file content
↓
Add attachment
具体的な解説
① フォーム送信をトリガーにする
アクション
When a new response is submitted
Formsに回答が送信されたらFlowが動きます。
② 回答内容を取得する
アクション
Get response details
ここで、
添付ファイルの「リンク情報」を含む回答データを取得します。
③ 添付ファイル情報を展開する(重要)
アクション
Parse JSON
Formsの添付ファイルは配列(複数ファイル)として返ってきます。
そのため、必ずParse JSONで分解します。
スキーマ例
{
"type": "array",
"items": {
"type": "object",
"properties": {
"name": { "type": "string" },
"link": { "type": "string" },
"id": { "type": "string" },
"size": { "type": "integer" }
}
}
}
ここで使える情報はこちら。
name:ファイル名link:保存先へのURLid:ファイルID
④ SharePointリストにアイテムを作成
アクション
Create item
この時点では 添付ファイルはまだ追加しません。まずはリストの行(アイテム)だけを作成します。
⑤ 添付ファイルごとにループ処理
アクション
Apply to each
対象
Parse JSONの出力
複数ファイルに対応するため、ループ処理が必要です。
⑥ ファイルを取得する
アクション
Get file contentlinkまたはidを使用して
実体のファイルを取得します。
個人フォームかグループフォームかでコネクタ(OneDrive / SharePoint)が変わる点に注意してください。
⑦ SharePointリストに添付する
アクション
Add attachment
設定内容:
- Id:
Create itemのID - File Name:
name - File Content:取得したファイル内容
これで、Formsの添付ファイルがSharePointリストに保存されます。
よくあるつまずきポイント
① 添付ファイル列は特殊
Create itemでは設定できない- 必ず
Add attachmentを使う
② ループ処理を忘れる
- 添付ファイルは配列
- 1ファイルでも
Apply to eachが必要
③ ファイルが取得できない
原因:
- 個人フォーム / グループフォームの違い
- 参照している保存先が違う
④ URLが使えない
- URL形式では取得できない場合あり
- idを使う or パス形式に変換
実務での活用例
- 申請フォームの証憑ファイルをリスト管理
- 問い合わせフォーム+添付資料の一元管理
- 契約書・見積書の受付フロー自動化
さらに実務では、
- ファイル名の重複対策(タイムスタンプ付与)
- 元ファイルの削除 or 保管ルール設計
- エラー時の再実行(リトライ)設計
まで考えると、より実用的になります。
まとめ
今回のポイントはこちらです。
- Formsの添付ファイルは「回答データ」ではなく「外部ファイル」
- そのため取得 → 添付 の2ステップが必要
この構造を理解すると、Power Automateでのファイル処理が一気に楽になります。
専門用語リスト
- Microsoft Forms
- Power Automate
- SharePointリスト
- 添付ファイル列
- トリガー
- アクション
- Parse JSON
- 配列
- Apply to each
- Get file content
- Add attachment
- OneDrive
- SharePoint
