ご無沙汰しています。たらばです。
今日はPower Automateから Share Point 上の Office Script を呼び出す方法について、チャレンジします。
PowerAutomateからOffice Scriptを呼び出すことで、幅広く業務改善に役立ってくれることでしょう。
試していませんが、おそらくOneDriveでも同じように作成できるかと思います。
今日のチャレンジの流れは以下の通りです。
1.SharePoint site 作成(以前やっているので、ざっと説明だけ)
2.Excel Onlineによる自動化で自動記録したスクリプトを Share Point に保存
3.Power Automate で インスタントクラウド フローを作成し、スクリプトの呼び出しを実行
1.SharePoint Siteを作成
1)チーム(かコミュニケーション)サイトを選択
2)サイト名等の入力→次へ
3)メンバー追加→完了

※サイトのテンプレートを使うとザックリとサイトに欲しいコンテンツが作成されるので、使ってみてもよいかもしれません。
今回は、「チームの共同作業」で作ってみました。

2.ExcelOnlineでスクリプト作成し、SharePointサイトに保存
1)サイトのドキュメントから
新規→Excelブック→
(自動で)Excel Onlineで起動
2) 自動化タブ→「操作を記録」
3)動作を記録(絶対or相対モード)
4)「停止」

5) スクリプトをSharePointに保存
Excelのコードエディター→
「その他オプション」→「スクリプトに名前を付けて保存」
保存場所に、SharePointのサイト指定→ドキュメント(になっていることを確認)→保存

記録したら右記のスクリプトが出来上がりました。
| function main(workbook: ExcelScript.Workbook) { let selectedSheet = workbook.getActiveWorksheet(); // Set range A1:D1 on selectedSheet selectedSheet.getRange(“A1:D1”).setValues([[“メール受信日時”,”件名”,”宛先”,”送付元”]]); // Create a table with format on range A1:D2 on selectedSheet let ____2 = workbook.addTable(selectedSheet.getRange(“A1:D2”), true); ____2.setPredefinedTableStyle(“TableStyleLight9”); } |
3.PowerAutomateでインスタントクラウドフローを作成
最初に、Power Automateでインスタントクラウドフローを新規で作成するところまで進める。
そして、以下の手順へ。
1)新しいステップ
2)Excel Online
3)スクリプトの実行
4)場所:SharePoint-site
ドキュメントライブラリ: Documents
ファイル:スクリプトで編集したいファイル
スクリプト:2.で保存したスクリプトファイル
5)保存

【結果】
teble_test.xlsxファイルを開いたままで、見ていましたが、動作が成功して、ちゃんとテーブルが出来上がりました。

以前は、SharePointにあるスクリプトファイルを実行できなかったと記憶しているのですが、
できるようになったのかな。
かなり簡単にできたので、使いやすくなったなという印象です。
この動作ができるのであれば、SharePointに同じ形式のファイルが保存されるたび、スクリプトを動かせばかなり便利にファイル操作ができますね。
ファイル名のところを変数で指定すればいいのですから。
Office Scriptが勉強したくなる回でしたね。