Power AutomateでOneDriveにファイルを作成するフローを組んだものの、まったくファイルが作られなかったり、作成はされるが内容が空だったり、想定とは異なるフォルダに保存されたりするトラブルは珍しくありません。原因の多くは、トリガー条件の設定ミス、アクションの処理順序、あるいは動的コンテンツや式の記述漏れにあります。この記事では、フローが意図どおりに動作しない場合に、入力条件と処理順を中心に切り分ける具体的な手順と、よくある失敗パターンについて解説します。実際のフローを修正する際の判断基準としてお役立てください。
【要点】この記事で確認すること
- 最初に見る場所: フローの実行履歴(Run History)で各アクションの入力と出力の詳細を確認します。
- 切り分けの軸: トリガー条件が満たされているか、ファイル作成アクションのパラメーターが正しいか、アクションの順序が適切か、の3軸で検証します。
- 注意点: 会社のポリシーでOneDriveの操作が制限されている場合があります。フローが管理者によって無効化されることもあるため、必要に応じて管理者へ確認してください。
ADVERTISEMENT
目次
1. 想定どおり進まない症状を分類する
まず、フローがどのような状態で問題になっているのかを明確にします。症状によって原因の切り分け方が変わります。以下の表に代表的な症状と主な原因をまとめました。ご自身の状況に当てはめて読み進めてください。
| 症状 | 主な原因の方向性 |
|---|---|
| ファイルが一切作成されない | トリガーが起動していない、またはフロー全体がスキップされている。条件分岐でFalse経路になっている可能性も。 |
| ファイルは作成されるが空(0KB) | ファイル内容を指定するアクションがない、または動的コンテンツが空のまま渡されている。 |
| 作成場所が異なる(想定外のフォルダ) | ファイルパス(Folder Path)の指定ミス、または変数に格納した値が想定と異なる。 |
| ファイル名が意図しない(日付の書式違いなど) | 式(expression)の記述誤り、特にformatDateTimeなどの関数の書式文字列の間違い。 |
| フロー実行中にエラーが発生する | 権限不足、API制限(スロットリング)、ファイル名の競合(置き換え設定の不備)など。 |
2. トリガー条件の確認と調整
フローが実行されない場合、最初にトリガーが正しく設定されているかを確認します。Power Automateのトリガーには「OneDrive – ファイルが作成されたとき」や「ファイルが変更されたとき」などがありますが、これらのトリガーは特定のフォルダを監視します。トリガーの詳細設定で「フォルダ」が指定されている場合、そのフォルダ直下のみが監視対象となり、サブフォルダは含まれないことがあります。また、トリガー条件に「動的コンテンツ」を指定している場合は、その条件が満たされないとフローが起動しません。
トリガー条件の記述ミス
例えば「ファイル名が特定の文字列で始まる」といった条件をトリガーに設定している場合、大文字小文字の区別や部分一致のルールに注意してください。Power Automateの条件式では「begins with」や「contains」などの演算子が用意されていますが、Or条件やAnd条件を複雑に組み合わせると、予期しない動作をすることがあります。実際にTrigger Outputsを実行履歴で確認し、トリガーが「Skipped」ステータスになっていないかをチェックします。
実行履歴の確認方法
Power Automateポータルで該当フローを選択し、「実行履歴」タブを開きます。各実行の「Trigger」列をクリックすると、トリガーの入力が表示されます。ここで「condition」の値がtrueになっていれば条件を通過しています。もしfalseや空であれば、条件設定を見直す必要があります。
3. アクションの処理順と入力条件を見直す
フローが起動しても期待するファイルが作成されない場合、作成アクションの設定と、その前後のアクションの順序に問題があることが多いです。特に、OneDriveにファイルを作成するアクションは「ファイルの作成」または「ファイルを作成」という名前で提供されており、その直前にファイル内容を準備するアクションが必要です。
ファイル作成アクションの設定確認
「ファイルの作成」アクションでは次のパラメーターを確認します。
- 保存場所: OneDrive Business または OneDrive Personal を選択しているか。会社のアカウントはBusinessです。
- フォルダーパス: 絶対パスまたは相対パスで指定。例:「/Documents/Reports」。先頭のスラッシュや末尾のスラッシュに注意。
- ファイル名: 拡張子を含める必要があります。動的なファイル名の場合は式を使って生成します。
- ファイルの内容: ここが空だと空ファイルになります。バイナリデータやテキスト内容を指定します。
処理順序の誤り
例えば、SharePointリストからデータを取得してOneDriveにファイルを作成するフローでは、「アイテムの取得」アクションが先に来て、その出力を「ファイルの作成」の入力に使うのが正しい順序です。しかし、逆順に配置すると、ファイル作成時に必要なデータがまだ存在せず、空の値が使われます。また、Apply to eachループの中でファイルを作成する場合、ループの各イテレーションでファイル名が重複しないように注意します。ループの外で変数を初期化しておかないと、前のループの値が残ってしまうことがあります。
4. 具体例に基づく修正手順
ここでは、よくあるシナリオとして「メール添付ファイルをOneDriveに自動保存するフローが動かない場合」の修正手順をステップで示します。自分のフローに置き換えて読み替えてください。
- フローの実行履歴を開き、最新の失敗実行を選択します。
- トリガー(例:「新しいメールが届いたとき」)の出力を確認します。添付ファイルが正しく取得されているかをチェックします。添付ファイルが複数ある場合は、ループが必要です。
- 適用するアクション(Apply to each)が正しく設定されているかを確認します。ループの入力に「Attachments」配列が指定されていることを確認します。
- ループ内の「ファイルの作成」アクションを開き、フォルダパスとファイル名が動的コンテンツで指定されているかを見ます。ファイル名には「Attachments Name」のような動的コンテンツを使用し、拡張子が含まれていることを確認します。
- ファイルの内容に「Attachments Content」が指定されているかを確認します。Contentプロパティはバイナリデータです。もしテキストデータであれば、ContentBytesに変換が必要な場合があります。
- 必要に応じて、条件アクションを追加し、添付ファイルのサイズや種類でフィルタリングします。
- 修正後、フローを保存してテスト実行します。再度実行履歴で確認します。
5. 失敗しがちな設定パターンと対策
よくある失敗パターンを3つ紹介します。同じような設定をしている場合は、該当箇所がないか確認してください。
パターン1: ファイル名の日付書式の間違い
動的なファイル名で日付を含めたい場合、式「formatDateTime(utcNow(), ‘yyyy-MM-dd’)」のように書きます。よくあるのは「yyyymmdd」のように大文字小文字を間違えたり、「MM」を「mm」と書いて分を出力してしまうケースです。また、スラッシュやコロンがファイル名に使えないため、区切り文字はハイフンやアンダースコアにします。
パターン2: ループ内で変数を適切にクリアしていない
例えば、複数のファイルを作成する際に「Initialize variable」をループの外に置き、ループ内で変数を設定・使用する場合、2回目のループでは変数がクリアされず前回の値が残ることがあります。変数をループ内で初期化するか、ループの最後に変数を削除する必要があります。
パターン3: 並列処理によるファイル名の競合
Apply to eachの設定で「同時実行数」が1より大きい場合、複数のイテレーションが並列で実行され、同じファイル名を同時に作成しようとして競合エラーが発生することがあります。この場合は同時実行数を1に設定するか、ファイル名に一意識別子(GUIDなど)を付加して重複を防ぎます。
6. 管理者に確認すべき項目
フローの設定をいくら見直しても解決しない場合、OneDriveやPower Automateの管理ポリシーが原因である可能性があります。以下の点について管理者に問い合わせてください。
- OneDriveのAPI制限(スロットリング): 短時間に大量のリクエストを送ると一時的に制限がかかり、フローが失敗することがあります。管理者にOneDriveの制限値と現在の使用状況を確認してください。
- コネクタの認証: 使用しているサービスアカウントに適切な権限(OneDriveへのファイル作成権限)があるかどうかを確認します。特に、多要素認証が有効なアカウントではトークンの有効期限切れが発生する場合があります。
- 組織のポリシー: SharePoint管理センターで「外部共有」や「ファイル作成」の制限が設定されていると、Power Automateからの操作がブロックされることがあります。管理者しか変更できない設定なので、確認を依頼してください。
7. よくある質問
ここでは、実際に問い合わせが多い質問とその回答をまとめました。
Q: ファイルは作成されるが中身が空です。何が原因ですか?
A: ファイルの内容を指定するパラメーター「ファイルの内容」が空になっているか、正しい動的コンテンツが選択されていない可能性が高いです。実行履歴でそのアクションの出力を確認し、contentの値が空でないかをチェックしてください。
Q: トリガーは実行された履歴があるのに、ファイル作成アクションがスキップされました。なぜですか?
A: 条件アクションの結果がfalseになったか、またはApply to eachのループ内で「対象」の配列が空だった可能性があります。条件の出力を確認し、ループの入力が空でないことを確認してください。
Q: 処理がとても遅いです。どうすれば改善できますか?
A: OneDriveへのファイル作成はネットワークやAPIの応答に依存します。ループ内で同時実行数を増やしたり、不要なアクションを削除することで改善することがあります。ただし、並列実行を増やすと競合リスクが高まるため、注意が必要です。
まとめ
Power AutomateでOneDriveファイル作成が想定どおり進まない場合、まずは実行履歴でトリガーとアクションの入出力を丁寧に確認することが重要です。その上で、トリガー条件の設定、ファイル作成アクションのパラメーター、アクションの処理順序の3点を見直すことで、多くの問題は解決します。また、会社のポリシーやAPI制限が原因である場合は、管理者への確認が必要です。ぜひ本記事の切り分け手順を実際のフローに適用し、問題の早期解決にお役立てください。
超解決 リモートワーク研究班
Microsoft 365の導入・保守を専門とするエンジニアグループ。通信障害やサインイン不具合など、ビジネスインフラのトラブル対応に精通しています。
Office・仕事術の人気記事ランキング
- 【神技】保存せずに閉じたExcel・Wordファイルを復元する!消えたデータを復活させる4つの救出法
- 【Outlook】添付ファイルが「Winmail.dat」に化ける!受信側が困らない送信設定
- 【Excel】文字が入っているセルの「個数」を数える!COUNTA関数の簡単な使い方
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【Outlook】予定表の「祝日」が表示されない!最新カレンダーの追加と二重表示の修正手順
- 【Copilot】「サービスに接続できません」エラーの原因切り分けと対処法
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【PDF】PDFに入力した文字の「フォント・サイズ・色」を変更するプロパティ設定
- 【PDF】結合するPDFの「用紙サイズ」がバラバラな時、すべてを「A4サイズ」に強制リサイズしてから結合する
