Power Virtual Agentsを経由しExcelにデータを書き込むための方法を画像付きで紹介します。
はじめに
Power Virtual Agentsを経由しExcelにデータを書き込むための方法を画像付きで紹介します。
Power Virtual Agentsについて
Power Virtual Agents(PVA)はMicrosoftが提供するPower Platform中のサービスの1つです。PVAを使うとチャットボットをノーコードで作成することができます。
PVAの詳細と、基本的な使い方の詳細は以下のページで順番に紹介しています。また、基本的なフローの作り方も紹介しています。
Excelの操作に関する注意
本記事の内容でExcelを操作する場合、「Excel Online(Business)」で行います。
そのため、Excel Online(Business)を使えるアカウントがないとうまく動作させることができません。
また、エクセルデータ内でデータを操作したい場合、「テーブル」である必要があります。そのため、素のエクセルを操作できるわけではありませんのでご注意ください。
Excelファイルをあらかじめ作成する
書き込むExcelデータが常に決まっている場合は、先にExcelファイルを作成しておきます。
今回は自分だけがいるチーム「実験(ローカル)」を作り、その中に「Excel_input_test.xlsx」を新規作成しておきます。

また、テーブルもあらかじめ作成しておきます。
作成方法は以下の記事に詳しく書いていますので参照してください。
今回は、A1:G20までをテーブルとして設定しました。

既存のExcelファイルにデータを追加する
Excelへ書き込みたい文字列を変数として持っておく必要があります。
今回はinput_textという名前で入力データを保存します。

また、PVAで処理した結果を書き込みたい場合は、それらを変数として保存しておきます。
実際にExcelに書き込む処理はPVAではなくPower Automateで処理するので、「アクションを呼び出す」→「フローの作成」をクリックします。

テンプレートの選択で「Power Virtual Agentsフローテンプレート」を選択します。

初めにPVAから入力するデータを受け取るための変数を作成します。
「入力の追加」ボタンをクリックします。

中身をそのまま受け取るので、「テキスト」をクリックします。

変数名と説明を入力します。

次に、アクションを追加します。「Excel Online(Business)」をクリックします。選択すると、Excelに関わる操作が一覧になります。

今回は、Excelにデータを追加したいので、「表に行を追加」をクリックします。

設定する項目が追加で現れるので適宜設定を行います。基本的にリストから選択する方式になっています。以下の項目の設定が可能です。
- 場所
OneDrive for BusinessやTeams内のグループやSharePointSiteなどが選べます。
- ドキュメントライブラリ
場所内のどこの領域かを選択します。リストにあるものを選びます。
- ファイル
ドキュメントライブラリ内にあるExcelファイルを指定します。
- テーブル
どのテーブルを操作するか選択します。
- DateTime 形式(オプション)
ISO基準か自身で好きに設定することができますが、何に使うのかよくわかりません。わかり次第追記します。
- 列名に入力する設定値
テーブルとして定義されている各列に対して、どのようなデータを入力するか設定ができます。
今回は初めに作成していたExcelファイルのテーブルにデータを追加したいのでそれぞれ以下のように設定します。

入力が完了したら、「保存」ボタンをクリックします。

保存したら、前のフローに戻るために画面左側の「←」をクリックします。「閉じる」をクリックすると編集画面が閉じてしまい、その後復活させられずチャットボット選択画面からやり直す必要があるので、注意してください。

アクションを追加して、先ほど作成したPower Virtual Agentsフローを追加します。また、合わせて「会話の終了」トピックを追加します。

「ボットのテスト」をクリックして、トリガーフレーズとその後の処理が正しく動作することを確認します。

フローにエラーが出なければ、実際のデータを確認し、データが入力されていることを確認します。

データが追加される行について
「入力の追加」を選んだ場合、列は指定した列になりますが、追加される行については、テーブルの一番下にデータが追加されます。また、その際、テーブル領域が拡張されます。
今回の例の場合は、初期状態で20行までテーブルとしていたので、21行目にデータが追加され、21行目までテーブルが拡張されます。
その後、再びデータを入力すると、22行目にデータが入り、テーブルも22行目まで拡張されます。
初めの行に対して、追加したい場合、行の領域を2行にします(先頭行がタイトルの場合)。その後初めて入力する際のみアクションを「行追加」+「行削除」で1行目を削除します。2回目以降は、アクションを「行追加」のみで行うことができると思います。
行を追加でなく、更新する場合は、アクションを「行の更新」にして、指定した行を更新すればよいです。
まとめ
Power Virtual Agents経由でExcelにデータを書き込む方法を画像付きで紹介しました。
コメント