ATerコラム

2025.10.29

PowerAutomate IT

Power Automateでメールを本文記載文言で分類する

前回の投稿では、Outlookに着信したメールを「*.eml」ファイルとしてSharePointのフォルダに格納する方法を記載しました。

今回は、その機能拡張のようなお話になります。

 

OutlookメールをシンプルにSharePointに格納するのは容易ではありますが、格納対象のメールは条件付けをして絞ることが通常かと思います。

条件は、差出人や表題でも良いのですが、本文中に突然現れるキーワード(誰かの氏名など)を条件にする要望もあるかと思います。

ここではその方法について記したいと思います。

 

①まず、条件判定に使用する整数型変数を「変数を初期化する」アクションで用意します。

これに対して初期値として「値」パラメーターには関数エディタ(「fx」ボタン)を使用し、予約語の「null」を初期設定します。

直接「値」パラメータ欄に”null”とタイプ入力しただけでは、null値としては認識されませんのでかならず関数エディタを使用して設定します。

 

②つづいて、「HTMLからテキスト」アクションを追加して、別アクションで取得しているメールアイテムの「本文」を「Content」に設定します。

 

③つづいて、「変数に値を設定」アクションを使用して①で用意した変数の値に式を設定します。

探したい文字列があるかどうかを判定するための式には、IndexOfという関数を使用します。IndexOf関数は、探している文字の文字列中の開始位置を返してくれる関数です。

式の例:「indexOf(body(‘Html_からテキスト’),’誰かの氏名’))」

 

④つづいて、「条件」アクションを追加し、この条件を①の整数型変数の内容が「-1」と「異なる」と設定します。

整数型変数の内容が「-1」となっているのであれば(IndexOf関数の戻りが-1であれば)、探したい文字列「誰かの氏名」が見つからなかったということになります。

「-1」でなければ、探したい文字列が本文中から見つかったということになりますので、そちら(True)にメールをSharePointに格納する処理を、それ以外(False)のほうにはアクションをなにも設定しない状態にします。

 

以上で、メール本文中に希望する文字列が含まれる場合のみ、そのメールをSharePointに格納するフローとすることができます。

 

Satoru Moriki