はじめに
本記事の対象者
- Power Automateのsplit関数で改行区切りにする方法がわからない。
- outlookで受け付けたメールを一行ごとに処理を加えたい。
本記事の目的
- split関数で改行区切りにする方法がわかる。
- outlookで受理したメールを一行ごとに分解する。
Power Automateのsplit関数で改行区切りにする方法
2021年2月から無料版Power Automateを使って今まで貯めてきたノウハウを解説していきます。
自分のノウハウのまとめは、「【業務効率向上】【備忘】PowerAutomateの使い方一覧」にあります。もしよろしければ確認してみてください!!
今回の紹介するフロー
今回は、下の画像のように新しく届いたメールを改行区切りで、配列に格納する方法を紹介します。
本フローの想定用途
想定用途は、ある問い合わせをメールで受け付けて、それを項目ごとに格納するといったことが考えられます。
システムの問い合わせの受付方には、いろいろあると思います。
自分が考えられるのは、Sharepointのカスタムリスト、Forms、スマホアプリ「Power Automate」のボタンです。
今回は、あまり環境が整備していない場合を考えて、メールを受け口だと想定しています。
受け取ったのちの格納のフローは、また別途記事を作成しようかと思います。
参考ページ:作成予定
Power Automateのsplit関数について
今回のフローで主役となるのは、split関数です。
split関数は、以下の画像のように「式」-「文字列関数」-「split関数」にあります。
split関数では、いろいろな区切り文字で文字列を区切ることができます。
今回は、「改行」による区切りをする方法でメールの文章を区切っていきます。
トリガー(新しいメールが届いた時(V2)):同左
トリガーは、「新しいメールが届いた時(V2)」です。
このコネクタでは、自分のメールボックスに新着メールが届いた際に発動するトリガーです。
反応するフォルダを指定できるので、非常に便利です!!
コネクタ1(変数を初期化する):改行を格納する変数の定義
一つ目のコネクタは、「変数を初期化する」です。
このコネクタでは、文字列の変数に改行を入れます。
一応、表にもまとめておきます。
No | 設定項目名 | 設定値 | 備考 |
---|---|---|---|
1 | 名前 | 改行 |
好きなのでいいです。 |
2 | 種類 | 文字列 | |
3 | 値 | (改行) |
値のところで、ただ「Enter」を押しているだけです。 何も書いてないように見えますけど(笑) |
split関数で改行を用いて区切る時は、このやり方をしないと区切るとことができないです。
プログラミング言語だと「\n」と「\r」とかで書いてできるんですけど、PowerAutomateについては単純に「値」に「改行」を入れてください。
これがわかるまで、めちゃくちゃ調査したので苦労しました。。。
コネクタ2(変数を初期化する):メール文を改行区切りにし、配列に格納
2つ目のコネクタは、「変数を初期化する」です。
このコネクタでは、メール文を「改行」で区切って、配列「lines」に格納するものです。
設定値も書いておきます。
No | 設定項目名 | 設定値 | 備考 |
---|---|---|---|
1 | 名前 | lines | |
2 | 種類 | アレイ | 配列(アレイ)です。 |
3 | 値 | Split(トリガーの「本文のプレビュー」,コネクタ1の「改行」) |
Split関数では、区切りたい対象の文字列を「トリガーの「本文のプレビュー」」としました。
その文字列の対象を「コネクタ1の「改行」」で区切るようにしています。
その区切った結果を変数「lines」に入れています。
実行結果
今回のフローを実行してみたいと思います。
まずは、送るメールは下のようなものです。
なんか変な文章ですが、気にせず実行します!!
すべてのコネクタが正常終了しています。
また、最後の配列変数への格納で、「改行」で区切られた上でちゃんと定義できていることが確認できました。
補足情報 今回のフローの想定用途
今回のフローの想定用途は、一行ごとに決まったものが書いてあったりした場合に、各行の処理を可能にすることです。
配列に格納し終えたのちに、どうやって処理を加えればいいかは、下の画像のように「Apply to each」で各行に処理を加えてください。
これは、メールの解析や処理に便利なフローだと個人的に思っています。
まとめ
まとめに入ります。
業務効率を上げるために提供されているMicrosoft365のツール群で、今回はPower AutomateのSplit関数について説明しました。
個人的には、改行で区切って、各行に対して処理ができるのは、メールの解析や処理に便利なフローだと考えています。
是非皆さんもsplit関数で改行区切りをして、文字列の処理をしてみたください。
最後まで読んでいただきありがとうございます。
コメント