2021.04.05メールを受け取った時に特定の文字列を探して抜き出したり、Teamsの投稿を別のサービスやツールに保存や転送する場合に使用できる、特定の文字列部分のみ送信する方法を解説します。Automate側でExcelの関数を指定してみます。この記事は、以下の記事の発展的内容です。Teamsの投稿をExcelに保存する(2022/1/24追記)簡易版をコピペですぐに使用できるようにしました。送信元は、以下のようにフォーマットの決まったTeamsの投稿を想定しています。このように:の後の内容が変化するものだと条件式で~を含むが使用できないためこの記事で紹介する方法を使用する必要があります。受信先は、あらかじめ作成されてある以下のようなExcelのテーブルです。それぞれの列に上記の投稿の内容を入力させます。トリガーの設定チャネルに新しいメッセージが追加されたときをアクションとして設定し、対象のチームとチャネルを選択します。Automateで情報を取得すると、Htmlとして取得されます。初心者の方にはそのまま扱うのが難しいので、テキスト形式にします。textアクションを選択してください。対象文字列の位置を特定する次に対象の文字列の位置を特定します。テキスト位置の検索アクションを選択します。textで作成したテキストを指定します。これで投稿されたメッセージ内でそれぞれの文字の開始位置を特定することができます。このままでは抜き出した文字列の位置が検索テキストの先頭になっていますので、検索テキストの文字数分を足さなくてはいけません。変数と式を利用して文字数分を足します。add関数を使用します。関数の欄に以下のように入力します。「発表日時:」は5文字なので、引数の2つ目に5を入力します。Automate内で作成した変数などを関数内に入力できます。同様に他のテキスト位置も文字列を考慮して変更します。全文字数を取得する次に、全文字数を後ほど使用するため、変数として保存しておきます。変数textlenを宣言し、値は以下のように入力します。textを選択します。抜き出す文字数を変数として保存する部分文字列アクションでは、文字列を抜き出す開始位置と抜き出す文字数を指定しなくてはなりません。抜き出す文字数を指定するために、二つ目の検索テキスト(発表内容:の発)の位置から、一つ目の検索テキストに検索テキストの文字数を足したTextposition1(発表日時:の:)の位置を引きます。値に式を使用して以下のように入力します。sub(outputs('テキストの位置の検索_2')?['body'],variables('Textposition1'))二つ目から三つ目は同様に引きます。sub(outputs('テキストの位置の検索_3')?['body'],variables('Textposition2'))三つ目から最後までは全文字数から三つ目の検索テキストの位置までを引きます。sub(variables('alltextlen'),variables('Textposition3'))出力する文字列を作成するこれで必要な変数は揃いました。出力する文字列を作成していきます。部分文字列アクションを選択します。textlen1のように入力します。二つ目、三つ目も同様に入力していきます。同様のアクションが続く場合はアクション右上の三つの点のボタンを押してコピーし、貼り付けて中身だけ変えるようにすると簡単です。コピーしたものはアクション追加の際に自分のクリップボードからペースト出来ます。最後に、抜き出した文字列をExcelへ入力していきます。表に行を追加アクションを選択します。それぞれの列に抜き出した文字列を入力していきます。