1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Power Automate】SharePointの情報をExcelへ自動入力する機能実装につまずいた話

Last updated at Posted at 2025-04-11

今回は、Excel Online(Business)コネクタの「行の更新」アクション後、SharePointコネクタの「ファイルのプロパティの更新」アクションを利用した際に発生したエラーについて、エラー原因と対策を記載します。

目次

・実装イメージ
・エラー内容
・エラー原因
・エラー回避の検討
・対策
・まとめ
・さいごに

実装イメージ

以下の画像のように、Power Automateを利用して、SharePoint OnlineドキュメントライブラリにアップロードしたExcelファイルのプロパティ情報を同じExcelファイルシート上に定義されているテーブルに自動で書き込む機能を実装します。

image.png

また申請用のワークフローを開発するため、SharePointのカスタムフォーム(Power Apps)を利用していました。

image.png

エラー内容

今回の機能実装時には、Power AutomateとSharePointのカスタムフォーム(Power Apps)にてエラーが発生しました。

●Power Automate

エラー文:アクション 'ファイルのプロパティの更新' に失敗しました: ファイル "https:// sharepoint.com/sites/blog_demo/sample/フローテスト.xlsx" は、共有するためにによってロックされています。

image.png

●SharePointのカスタムフォーム(Power Apps)

 エラー文:Patch関数の使用中にネットワーク エラーが発生しました:要求された操作は無効です。

image.png

エラー原因

Power Automateの「行の更新」アクションのようにExcelファイルを対象にしたアクションを利用する場合、内部的にファイルロックをかける仕様となっています。
そのため、ファイルロック中はSharePointドキュメントライブラリのプロパティを編集することはできず、エラーが発生します。

エラー回避の検討

Excel Online(Business)コネクタの「スクリプトの実行」アクションとOffice Scriptを組み合わせた、同様の機能の実装も検証しました。
結果として、「行の更新」アクションを利用した時と同じエラーが発生しました。「スクリプトの実行」アクションではファイルロックを回避することはできないようです。

以下の画像のように、SharePoint Onlineの情報を取得し、Office Scriptの引数とすることで、同様の機能が実装可能です。

image.png

検証のために利用したOffice Scriptは以下の通りです。

サンプルコード

    function main(workbook: ExcelScript.Workbook,txtSample: string) {
    // Sheet1を取得する
    let applicationSheet = workbook.getWorksheet("Sheet1");
    // A1セルを取得する
    let clA1 = applicationSheet.getRange("A1");
    // 選択したシート内のセルにSPOの列の値を入力する
    if (txtSample == "") {
        clA1.setValue("");
    }
    else {
        clA1.setValue(txtSample);
    }
}

対策

ファイルロックは別アクションの処理などで意図的に解除することはできないため、「待ち時間」アクションを追加することでエラーを回避しました。
具体的な待機時間は各環境にて検証が必要ですが、目安として私の環境では6~7分ほどの待機時間が必要でした。

image.png

まとめ

今回は、「行の更新」アクションの後にSharePointコネクタの「ファイルのプロパティの更新」アクションを利用した際に発生したエラーについて、エラー原因と対策を記載しました。
同様のエラーが発生した際のご参考になれば幸いです。

さいごに

テンダでは、「こんなプロジェクトに挑戦したい」「こんなチームで働きたい」「理想のチームを創りたい」と願う仲間を求めています。 カジュアル面談も随時受付中です。ぜひ一度お話ししましょう。

募集職種一覧
カジュアル面談の申込
テンダで働く人や社風について

1
2
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
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?