テンプレートを利用すると比較的簡単に実装できます。
選ぶテンプレートに注意が必要です。
個人アカウントを利用の場合
法人など有料プランを利用の場合
私は法人アカウントを利用しているのですが、上記のExcel Online(OneDrive)を選択してしまったため、かなり苦労しました。
Office365にログインし、PowerAutomateを開きます。
テンプレートの検索で gmail というキーワードを入力すると、Gmailに関連するテンプレートが出てきます。
法人用のアカウントを利用する場合は
Excel Online(OneDrive)ではなく、 Excel Online(Business)を選びましょう
OneDrive上のExcel Onlineにスプレッドシートを作成します。
ポイントは、
Subject、From、Date、Snippet の列があるテーブル
を予め作成するところです。
このテーブルという表現も憎いです。言葉通りテーブルを作成する必要があります。
先頭行を見出しとするテーブルを作成します。
列見出しは、日本語でも大丈夫で順番も適当で大丈夫です。1行だけのテーブルを作成しておくと、その下に行が挿入されていきます。
テーブルを作成したら、テーブル名も決めておくと、設定しやすいです。
テーブルデザインの左端に名前ボックスが出てきます。
ログインしているアカウントで、そのまま接続されます。
作成したOneDrive上のExcelOnlineファイルを指定していきます。
詳細設定を行うと、差出人でフィルターしたり、Excelファイルのどのフィールドに、何を書き込むか細かく設定が可能です。
メールのフィルタ設定
Excelファイルへの書き込み設定
設定がうまくいっているかテストを行います。
右上のテストボタンを押してテストを行います。
無事、Excelファイルに書き込みされました。
ローカルインストールされているExcelで開く事も可能です。
OneDriveで、ドライブ割り当てしてあれば、上記操作の中でExcelファイルができているので、これを開きます。
ローカルで確認可能で、
ファイルが開いていても、勝手に追記されます。
Excel Onlineに接続しようとしたら、MSA といって個人用のアカウントに接続されてしまい、本来アクセスしたいビジネス用(学校や法人契約しているMicrosoft365)に接続できないという状況になってしまいました。
データ → 接続 Excel Online(OneDrive)と書かれているコネクタが邪魔しています。
これの代わりに新しく、接続を作成します。
作成するのは、OneDriveです。
これを作成すると、接続先選択時、ちゃんとログインアカウントが聞かれるようになります。
メール本文の必要部分のみを検索して抜き出します。
手順としては
を行います。
メール受信のフローの下に新しいステップを挿入します。
アクションの追加を行い
「文字列」と入力してアクションを検索します
テキスト関数が表示されます
テキスト関数の中から、
の2つの関数を利用します。
作成したテキストの位置の検索、部分文字列はこんな感じです
Excelに書き込むのは、上記抜き出した部分のみとします