環境
SharePoint内に「チェックリスト」というリストを作成しました。
リスト「チェックリスト」は上記のように、チェック対象Excelファイルを記載しただけのものです。
ここに載っているExcelファイルのみをチェックします。
ドキュメントフォルダには、「記録用フォルダ」というフォルダの中に、複数のExcelファイルがあります。今回はテスト用として5ファイル作成していますが、すべて同一としています。
Excelファイルの中身は上記の通りです。項目は「日付」「結果」のみで、それをテーブル登録しています。テーブル名は「記録テーブル」としました。
フローの作成
SharePointのリストに記載されたExcelファイルの内容をチェックするフローを作成します。
トリガーは手動としました。
フローの全体は上記の通りです。
SharePointの「複数の項目の取得」で、対象となるExcelファイルのパスを取得します。
取得したExcelファイルのパスをもとに、Excel Online(Business)の「行の取得」で、対象行の内容を調べます。具体的には、処理日=「日付」行の「結果」を取得したいと思います。
最後に確認のために、結果をTeamsに表示します。
「複数の項目の取得」は以上のように設定しました。
「複数の項目の取得」で取得したExcelファイルのパスをもとに、「行の取得」で対象Excelの対象行を取得します。
- ファイル:SharePointのファイル列を指定しましたが、内部名の「Title」となります。
- テーブル:すべてのExcelファイルは同一フォーマットとなっているので、「記録テーブル」という固定文字列としました。
- キー列:同じく同一フォーマットなので、「日付」という固定文字列としました。
キー値は、以下の式で処理日を指定しています。
0を変更することで、日付を前後することができます。
最後にTeamsへの出力部分です。
ここで、Excelの「結果」セルの内容を出力しようとしたのですが、動的なコンテンツに「行の取得」が表示されません。これは困りました。
とりあえずテスト
とりあえずテスト実行してみたところ、正常に終了しました。
「複数の項目の取得」の結果を受けた「Apply to each」は3件となっており、対象Excelファイルのパスの取得は正しく行われているようです。
「行の取得」の実行結果を見ると、出力部分の「body」にはExcel対象セルの「結果」の内容も取得できていました。値はちゃんと取得しているようです。
それだけに、「動的なコンテンツ」に「行の取得」が表示されないのが不思議です。
試しに1つのExcelファイルのみで「行の取得」を行ったところ、正しく「動的なコンテンツ」に表示されました。