こんにちは、あおいです。
Microsoftの有名エンジニアのちょまど(@chomado)さん、いつのまにかご結婚されている。おめでとうございます🎉
さて、Power AutomateでExcelのテーブルに行の追加・更新・削除などの操作をしたい場合、Excel Online(Business) コネクタを用います。アクション一覧を確認すると、Excelのテーブルに対する操作アクションは基本的に網羅されています。
では、Excelのテーブルではなく、特定のセルに対して何らかの操作を行う場合はどうすればいいのか?
結論、Excel Online(Business)コネクタの[スクリプトの実行]アクションを用いることで実現可能です。
[スクリプトの実行]アクションとは、Excelに保存されているOfficeスクリプトを実行するものです。 Officeスクリプトは、マクロ(VBA)と同様のExcel自動化ツールで、Web版のExcelのみ対応しています。
そこで、今回はPower AutomateでExcelの特定のセルにデータを転記する方法について紹介したいと思います。
手順は以下の通りです。
Excelを起動し、[自動化]タブ⇒[新しいスクリプト]を選択します。
コードエディターにスクリプトコードを記述します。また、スクリプト名を適切な名称に変更します。
各行のコードの意味は以下のとおりです。
1行目:Power Automate から受け取ったデータを変数に格納する。
2行目:現在、起動中のワークシートを selectedSheet という変数に格納する。
3行目:selectedSheet(起動中のワークシート).getRange(セルの場所).setValue(変数名)
フローを実行すると、以下の動作になります。
Power Automate から受け取った「うさぎ」というデータを変数名[Animal]に格納し、現在起動中のSheet1のセル[A1]に「うさぎ」を挿入する。
Power Automateを起動し、Excel Online(Business)コネクタの[スクリプトの実行]アクションを選択します。
最後に各項目を設定します。
場所:[SharePoint Site - (任意のグループ名)]を選択
ドキュメントライブラリ:[ドキュメント]を選択
ファイル:手順2でOfficeスクリプトを設定したExcelファイルを選択
スクリプト:手順2で設定したスクリプト名を選択
上記の項目を設定すると、Officeスクリプトで設定されている変数名が一覧に表示されます。
各変数に該当する値を[動的なコンテンツ]画面から選択します。
手順は以上となります。
試しに、フロー実行をすると、正常にA1のセルにデータが転記されています!
今回はPower AutomateでExcelの特定のセルにデータを転記する方法について紹介させていただきました。 Excelの特定のセルにデータの受け渡しをしたい場合、[スクリプトの実行]アクションを活用しましょう。 本記事が少しでも読者の皆様のお役に立てれば幸いです。
参考記事
Power Automate を使用したOfficeスクリプトの実行 | Microsoft Docs
【Power Automate】Officeスクリプトを用いたExcelへのデータの受け渡し編 | アルタのごった煮ブログ