Power Automate の Apply to each 内でOffice Script を使うときの注意点?
🎄Microsoft Lists とは? - SharePoint リストとの違い🎅

[Office Scripts] Excel 内のデータを使って SharePoint ライブラリのプロパティを自動設定しよう

SharePoint のドキュメント ライブラリでは任意のプロパティを持たせることができます。これにより、ファイル名からだけだと内容が推測できない場合も、プロパティを見ればおよそ内容が把握できるようになります。このプロパティの値は、ファイルをアップロードするたびにユーザーがつど設定する必要があり、なかなか面倒です。

2020-12-17_23-52-15

たとえば、 Excel のファイルを例に、SharePoint のライブラリに Excel ファイルがアップロードされたら、自動的にファイルの内容を読み取って必要な情報をプロパティに設定してもらえるようにしたい。

そこで登場するのが Office ScriptsPower Automate です。

🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄

なお、この記事は Office 365 Advent Calendar 2020 に参加しています。

🎅 Office 365 Advent Calendar 2020 🎅

🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄

Office Scripts は Web用の Excel (Excel Online) 上で利用できるスクリプトであり、TypeScript で記述します。これと Power Automate を組み合わせると実に様々な処理が可能です。とはいえ、Office Scripts を利用するには Office 365 E3 または E5 のライセンスが必要であり、テナントレベルで機能がオンになっている必要があります。既定でオンになっていますが、テナント管理者のさじ加減で設定がオフにされていることもあるので、組織内で確認してください。また Office Scripts は 2020 年12月、現在まだプレビューの状況です。

実際の動作を確認するためにデモンストレーションと構築方法をビデオで公開しました。詳しくは次のビデオ (YouTube) をご参照ください。

ビデオの補足情報

SharePoint サイト側では任意のドキュメント ライブラリを用意します。このデモでは次の列を4つ追加しています。

  • 見積金額…通貨
  • 組織名…1行テキスト
  • 部署名…1行テキスト
  • 担当者名…1行テキスト

Excel は次のサンプルファイルを用意しています。類似したファイルを用意して試すとよいでしょう。

2020-12-18_0-00-13

Office Scripts は次のようなスクリプトを用意しています。

2020-12-18_0-03-06

これを次のような Power Automate のフローで呼び出します。

2020-12-18_0-11-29

 

コメント

キナー

初めまして、いつも勉強の参考にさせて貰っています。
こちらのOfficeScriptsによる読み込みに関して参考に自分でも作成しました、
概ねスクリプトの作成とそれによるデータの抽出はうまくいったのですが最後の更新でどうしてもエラーになってしまいます。

アクション 'ファイルのプロパティの更新' に失敗しました
"********.xlsx" は、共有するために ******** によってロックされています。

以上のようなアラートがPowerAutomate上で出現するのでファイルがユーザーが編集状態のままなので入力ができなくなってると思いますがこれはどういった原因で何か解決できる設定があるのでしょうか。

平野 愛

キナーさん、なるほど、エラーとなるのですね。状況を詳しく確認しないと分からない部分もあるように思いますが、ブログは業務外として行っているためサポートまではできないので、ヒントとなるのではないかと思うところをご案内しておきます。
まず、メッセージの内容を見ると文字通りファイルを開いたまま試しているか誰かが編集しているかしているのではないかと思います。SharePointコネクターの項目の更新アクションはファイルが開いたままでは処理できないようになっています。ファイルがロックされる状況というのはいくつか条件が考えられますが、時々ロックがされたまま、解除されないこともあります。そうした場合は30分程度放置すると開放してくれるのですが、まずはファイルがご自身を含め誰かによって開かれていないか確認してみてください。
Excelファイルのロックに関しては👇のリンク先も参考になると思います。
https://support.microsoft.com/ja-jp/office/excel%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%8C%E7%B7%A8%E9%9B%86%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AB%E3%83%AD%E3%83%83%E3%82%AF%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B-6fa93887-2c2c-45f0-abcc-31b04aed68b3

平野 愛

キナーさん、改めて手元の環境でフローを実行してみたところ、ファイルがロックされる現象がこちらでも再現されました。フローは変更しておらず、以前は動作していたので、内部的な挙動が変更されているようです。対応方法を改めて下記リンク先に公開しました。
https://shanqiai.weblogs.jp/sharepoint_technical_note/2021/06/officescript-troubleshooting-filelock.html

コメントの確認

コメントのプレビュー

プレビュー中です。コメントはまだ投稿されていません。

処理中...
コメントを投稿できませんでした。エラー:
コメントを投稿しました。コメントは記事の投稿者が承認してから表示されます。 さらにコメントを投稿する

入力された文字と数字は画像と一致していません。再度入力してください。

最後に、下の画像の中に見える文字と数字を入力してください。これはプログラムを使ってコメントを自動的に投稿するのを防ぐために行われています。

画像を読み取れない場合は 別の画像を表示してください。

処理中...

コメントを投稿

コメントは記事の投稿者が承認してから表示されます。

アカウント情報

(名前とメールアドレスは必須です。メールアドレスは公開されません。)