Excelに特定のメールを自動的に書き込みして、そのExcelを誰かにシェアしておきたい方へ。
毎回メールを転送したり、手動でExcelに書き込む作業が日々の業務を圧迫している。
Power AutomateとTypeScriptを使うと、自動的に自信が受けたメールをExcelに書き込むことができるようになります。

Office365を導入している企業は多いと思います。
会社のシステムを全部Office365にし、OSからソフトウェアまで一括で管理できる大変便利なものです。
Power Automateは、誰でも簡単に社内のソフトウェアを作れるようにMicrosoftが開発したプラットフォームです。

Excelに書き込むまでの流れ

Power Automateで、特定の題名やメールアドレスからメールが届いた場合にFlowを起動させ、その流れでExcelのスクリプトを起動させ、受け取った情報をExcelに書き込みます。

Excelシートをスクリプトで作成する

Excel Online上で下記のスクリプトを起動させ、必要な設定がされているExcelシートを作成します。
Excelファイルをまずは、作成し、「自動化」を選択、書きのスクリプトを任意の名前で保存してください。
その後、コードエディタから、「実行」をクリックすると、作成されたExcelファイルの中にシートが作成されます。

作成プログラム実行時の注意

列の数がきちんと揃っていないと、書き込みプログラムでエラーになるので注意が必要です。
最初の段階で、どの列が必要か?をきちんと定義しておく必要があります。

Excelシートに下記のスクリプトを設置する

上記と同じExcelファイルで下記のスクリプトを読み込めるようにしてください。
「自動化」の中に、同様にファイルを作成し、下記の内容を記述します。

Power Automateの設定情報

dateReceived:メールの受信日時
from:送信者
subject:題名
body:本文

TypeScriptの変数に合わせて自動で、Power Automateがどの情報を取得するか判断して、表示させてくれます。
受信日時、差出人、件名、本文を返信に割り当てます。

「登録メール」という文字が件名に含まれるメールを受信した時に、起動する仕掛けになります。ご自身でカスタマイズする必要があります。

powerautomateの設定サンプル

エラーの検出

Power Automateで実行された内容のエラーログは、Power Automate上で確認することができます。割り当て先がない、作成されたテーブルと受信されたデータで整合性が取れないなど、さまざまです。うまくいくまでテストしていく必要があります。

まとめ

慣れていないと最初は設定に戸惑うこともあるかもしれません。ただ慣れてしまうとスクリプトは使いまわすことができるので、毎日のつらいルーチン作業を楽にすることができる可能性があります。できないと諦めると毎日の業務が常に終わらず時間を割くべき案件に時間が取れず非効率が起こるかもしれません。