PowerAutomateでスクリプトの実行|Excelにパラメータを渡す方法
スクリプトの実行時にOfficeスクリプトにパラメータを渡す
PowerAutomateからExcel Online (Business)の中にある「スクリプトの実行」を使ってみました。
しかしコマンド実行時に少し物足りなさを感じてしまいました。理由はこちらです。
パラメータを書き込むスペースが表示されていない
PowerAutomateのフローの中で使っている値は
スクリプトの実行では使えないのか???
一見パラメータを渡すことはできないように見えますが実はパラメータを渡すことができます。
以降スクリプトの実行の中でパラメータを扱う方法について解説していきます。
関連書籍
Officeスクリプトを使うためにはPowerAutomateの理解が必要です。
私はこの書籍を購入して勉強しました。事例が多いので参考になる方も多い書籍です。
私はこちらの書籍でOfficeScriptを勉強しました。
関連記事
私別のサイトでExcelVBAについて情報を発信しています。
リンク先ではWebスクレイピングやSQLServerと連携、クラスや配列の記事を用意しています。
より多くの皆様に見ていただくことができる様に初心者向けの記事も用意しています。
今回使用するOfficeスクリプトはPowerAutomateで使用されるJSONとも関連があります。
Officeスクリプト、JSONともにJavaScriptがベースです。JSONについてはこちらの記事をご覧ください。
Officeスクリプトとは
ひと言で言うと「Web版Excelのマクロ」です。
Microsoft公式の記事の中にOfficeスクリプトに関する説明と1分程度の動画が用意されています。
一般的に良いとされているポイントを3つに絞って説明します。
- JavaScriptベース:Officeスクリプトは、JavaScriptをベースとしています。フロントエンドの開発で広く使われている言語です。よって多くの開発者にとって馴染みがあります。JavaScriptの知識を持っている開発者は比較的容易に学習できます。
- 自動化とカスタマイズ:Officeスクリプトを使用するとExcelや他のOfficeアプリケーションで行うタスクを自動化したりカスタマイズすることができます。たとえばデータの処理、レポートの生成、グラフの作成など、さまざまな作業を自動化することができます。
- コミュニティサポート: Officeスクリプトに関する豊富なドキュメントやコミュニティサポートが提供されています。これにより開発者は問題解決やスクリプトの作成に関する支援を受けることができます。
個人的には3番目は少し共感できないところがありますが概ね合っています。
私はExcelVBAやブログの中でJavaScriptを使用しているので比較的容易に学習できている次第です。
私が考えるOfficeスクリプトのメリット
Workbookとスクリプトが分離しているという点です。スクリプトはOneDriveに保存されています。
PowerAutomateとは
PowerAutomateはMicrosoftが提供しているPowerPlatfrmという製品ラインに属したアプリケーションです。
簡単に説明すると「アプリケーション間の作業を自動化」することができます。
PowerAutomateの「スクリプトの実行」を操作する
PowerAutomateの「スクリプトの実行」を使ってパラメータをセットしていきます。
PowerAutomateの表示は旧版(クラシックエディタ)を使用しています。ご注意ください。
コネクタはExcel Online(Business)を選択しましょう。
表示されない時は検索窓に「Excel」と入力するとアイコンが表示されます。
このコマンドはトリガーではないです。よってフロー内で好きな場所に配置することができます。
入力部はこの配置です。スクリプトまでしか指定できないのでパラメータを用意する場所は無いです。
Officeスクリプトを書き換えます。画像内の赤線のようにパラメータ(引数)を用意します。
Officeスクリプト側でパラメータ(引数)が用意されていればAutomate側に反映されます。
スクリプトの保存を忘れないようにしてください。
更新がうまくいけば自動でパラメータの枠が表示されます。
OfficeScriptの内容がフィードバックされずパラメータが表示されないこともあります。
そんな時は「スクリプトの実行」を一旦削除して再度用意してみましょう。
そうすると画像内の赤部の様にOfficeスクリプトで作成したパラメータが表示されます。
画像ではスクリプトのパラメータにSharePointで使われている要素がセットされていますね。
このようにフロー内で生成、加工した要素をOfficeスクリプトに投げるという使い方ができるようになります。
パラメータを受け渡すことができるとできることが増えます。
より複雑な作業にも対応することができるようになりますよ。
まとめ
PowerAutomateの「スクリプトの実行」の中でOfficeスクリプトにパラメータを渡す方法を紹介しました。
PowerAutomateはユーザーインターフェース自体が動的な作りになっております。
特定の場所に一定の文字列を入力すると追加で入力スペースが表示されることが多いです。
ご自身が期待している操作画面と違うときは「まずできるところに値を入れてみる」ことをおすすめします。