Power AutomateでToDo登録(Outlook, Excel)
Power AutomateでToDo登録をする
前回Power AutomateでToDoリストから通知させるフローを作成しました。前回の記事はこちら
今回は前回作成したToDoリストにタスクを追加する機能を作成したいと思います。
方法としては少しレガシーですが、outlookのメールに登録したい内容を送信することでExcelのTo0Doリストに追加するようします。
まずは下準備
今回はOutlookを使用してフローを実行させるため、Outlookの設定が必要になります。
必要になるのは「特定の受信フォルダ」「メール割り振り設定」になります。
- 特定の受信フォルダ
- メールの割り振り設定
まずはPowerAutomateでメールの受信を検知させるため、専用の受信フォルダの作成が必要になります。
今回は「ToDo作成」という受信フォルダを作成します。
方法は「受信トレイ」で右クリック、「フォルダーの作成」を選択。
先ほど作成した「ToDo作成」のフォルダにメールを割振る為に、仕分けルールの設定を行います。
ここからはお使いのOutlookバージョンやラベル表示によって表示場所がことなるので、適宜調べてから設定を進めてください。
まず、ホームタブを選択し、「ルール」⇒「仕分けルールと通知の管理」を選択します。
自動仕分けウィザードにて、「件名に特定の文字が含まれるメッセージをフォルダーに移動する」を選択。 次のように入力し、完了とします。
フローの作成
下準備が完了したので、いよいよフローの作成に入ります。
ToDoリストを追加するためのメールは下記のようなフォーマットを考えております。
・件名:ToDo作成
・本文:
⇒1行目:タスクのタイトル
⇒2行目:期限(yyyy/MM/dd)
- トリガーを指定する
- 受信フォルダを選択する
- HTML形式をテキスト形式に変換する
- テキスト形式の本文を変数に格納
- 改行用の変数を用意
- 改行で分割
- タイトルと期限を格納
- ToDoリストの一覧を取得し最新のIDを付与
- ToDoリストにタスクを追加
指定する項目は下記になります
・フロー名:ToDo作成
・フローのトリガーを選択:新しいメールが届いたとき(V2)
フローを作成した際に、自動で作成される「新しいメールが届いたとき(V2)」で先ほど作成した受信フォルダを指定します。
メールでは、意識的にテキスト形式に変更しない場合はHTML形式で送っていることがほとんどです。
HTML形式では取得した本文などにタグ情報が含まれてしまうため処理が難しいです。そのため一度テキスト形式に変換し、本文を見たまま扱えるようにしたいと思います。
ステップを追加し検索ボックスに「HTML」と入力し、アクションから「html to text(プレビュー)」を選択します。
表示されるContentの入力欄に、先ほど取得したメールの本文を選択します。
この工程はなくてもよさそうですが、念のため変数にテキスト化した本文を変数に格納します。
取得したメールのフォーマットより改行コードで文字を区切る必要があるため、改行だけを格納している変数を用意しておきます。
※下図は何も入力していないように思えますが、Enterだけを押しております。
取得した本文を先ほど用意した「改行」の変数を利用し、配列(アレイ)に格納します。
※値:Split(variables('MailText'),variables('改行'))
分割した配列(アレイ)から、個別の変数「Subject」と「Limit」に格納します。
※配列(アレイ)からインデックスを指定して値を取り出す際には、「variables('StrArray')[0], variables('StrArray')[1]」と入力します。
ToDOリストにはタスクを一意に定めるためのIDを設定しております。手動でタスク追加を行う場合には下図を数えれば良いのですが、フローで自動化しているとそういうわけにはいきません。
また、「=row()-1」などで設定することはできますが、タスクを削除した際にそれ以降のタスクの管理IDが変わってしまうのは面倒なので、あえてフロー内で取得するようにしたいと思います。
取得方法としては、ToDoリストの一覧を取得し繰り返し処理の中でインクリメントしていけばよいだけです。そのフローが下記になります。
タスク追加のために必要となる値は取得できたので、最後にタスク追加を行いたいと思います。
Excelの「表に行を追加」を選択し、下記項目に用意した変数を入力します。
・ID:Count変数
・件名:Subject変数
・期限:Limit変数
実行テスト
ということで、フローの作成が完了したので実際に動かして見ようと思います。
まずは、メールを作成します。
件名に「ToDo作成」、本文に「タスク追加テスト(改行)2021/9/29」で、PowerAutomateに連携しているOutlookアドレスに送信します。※あえて(改行)と記載しております。
ちゃんとタスク登録できていますね!
まとめ
今回はExcelのToDoリストにタスクを追加するフローを作成しました。
Outlookのメールによる追加なので、正直イケていない感じはあるのですが。。。(本当はTeamsなどで追加したい。。)
とはいえ、今回のフロー作成することで、PowerAutomateでのOutlookの処理を作成できるようになります。特に仕事などでメールでのやり取りが多い人にはこの処理ができるようになると効率的に仕事が進められそうです。
私はシステムのエラー通知メールを自動で処理させて、過去事象の管理などを自動化させる活用をしています!!
作成した機能自体の使い道は怪しいですが、ほかのシーンでの活用が見込めるフローだと思います。
なのでこのフローを活用して色々な処理を自動化させたいですね。
今回はこの辺で、ではまた!