Power AutomateのExcelファイルの行の更新アクションでは、ファイルとテーブルを指定することでアクションのプロパティにカラムが表示され、指定の値を入れることができます。
しかし、ファイルのパスが動的である場合、テーブルを取得できず、アクションのプロパティにカラムが表示されません。
今回は、フロー上でコピーしたファイルのテーブルを更新する際を例にして、どのようにアクションの設定をすればよいか紹介したいと思います。
準備
コピー元となるExcelファイルを用意します。
シート内には任意のテーブルを作成しておきます。
Power Automateフローの作成
フローの詳細について説明していきます。
今回の例ではシンプルに2つのアクションのみで紹介します。
ファイルのコピー
このアクションでは、指定したファイルを指定のフォルダにコピーします。
今回は同じフォルダにコピーするため「別のファイルが既に存在する場合」を「Copy with a new name」に設定しておきます。
行の更新
このアクションでは指定したファイル・テーブル内の指定行の更新をします。
- 場所
- 「ファイルのコピー」アクションにて指定したコピー先のサイトを指定します。
- ドキュメントライブラリ
- 「ファイルのコピー」アクションにて指定したコピー先のライブラリを指定します。
- ファイル
- 動的アイテムの「ファイルのコピー」アクション内の「Path」を挿入します。
- テーブル
- 先述のファイルの指定が動的アイテムのためテーブルの一覧が出ません。そのためカスタム値にて準備で作成したテーブル名を入力します。
- キー列
- テーブルと同様に列の一覧が出ません。そのためこちらもカスタム値で準備したテーブルのカラム名を入力します。
- キー値
- こちらは元から入力欄となっているため指定したい値を入力します。
- 項目のプロパティを指定する
- この入力欄は最初から表示されない場合があるので、キー値まで設定したら一度アクションを開きなおして表示させてください。
入力欄には以下の例で値を入れてください。
{
"<カラム名>":"<更新する値>,
"<カラム名>":"<更新する値>,
"<カラム名>":"<更新する値>
}
最後の行の末尾の「,」を外しておくことを忘れないでください。
またカラム名もテーブルと表記が同じになるように入力してください。
以上で作成手順は終了です。
実行結果
今回のフローを実行すると、コピーしたファイルが指定したフォルダ内に作成されます。
内容を確認すると、「行の更新」アクションで指定した「ID」が「1」の行の各行が指定した値に更新されていることがわかります。
まとめ
今回はシンプルなフローで紹介させていただきましたが、実際は様々なアクションを組み合わせたフローの一部として使用するかと思います。
キー値や更新する値を他アクションの動的アイテムを使用することができるので応用の幅がかなりあります。
ファイルパスが動的になるケースはまれですが、このような小技をまたご紹介できればと思います。