PowerAutomateワークフローの内容
・BOXフォルダ内に多数のファイルが存在する中で、ファイル名から特定の用語が含まれているものを抽出し、そのファイルのタイトルをTeamsチャットで連絡してくれるものです。今回はyyyyMM形式の日時(例.202503)と特定の単語を条件に判定します。
一部を変更すればファイルをコピーする等応用が利くと思いますのでご参考になれば幸いです。
ワークフロー全体像
各工程解説
1.変数を初期化する。
変数を設定する工程です。今回の場合、条件に合うファイル名を変数に格納していき、最後にその変数をTeamsチャットで送信する

2.変数を初期化する1
Teamsチャットで送信する際に、これを設定しないと1行テキストとしてFailnameにファイル名が格納されることになり、見づらい文章になってしまいます。その為、ここで変数newLineを設定し、これに改行を意味する関数を代入します。

decodeUriComponent関数は、URIエンコードされた文字列をデコードするために使用されます。URIエンコードされた文字列は、特定の文字(例えばスペースや特殊文字)がエンコードされている形式です。decodeUriComponent関数を使用することで、これらのエンコードされた文字を元の形式に戻すことができます。
例。%20はスペース、%0Aは改行を表します。
3.フォルダー内のファイルとフォルダーのリスト
・ここではBoxのフォルダー内のファイルをリストを取得します。これにより、この後に出てくる「それぞれに適用する」にここで使用したファイルリストを適用することが出来ます。
以下のように検索したいファイルが入っているフォルダーを選択してください。

4.現在の時刻
検索するファイル名にyyyyMM形式の日付が入力されており、この後出てくる「条件」の項目で現在の年月(例.202503)に対して1か月前(例.202502)の日付がファイル名に記載されているものを抽出する為、現在の時刻が必要になります。

5.時間からの減算
・4の「現在の時刻」で取得した時刻をから1か月引いた値をここでは計算しています。

6.それぞれに適用する
ここでは「3.フォルダー内のファイルとフォルダーのリスト」で取得したファイルのリストに、この後に記入する処理をそれぞれに適用するために設定します。

7.条件
ここではファイル名(Name)に現在の年月から1か月前(現在202503→202502)が含まれており、さらに”P&I”という文字列が含まれているかを判定しています。

FormatDatetime(“5.時刻の減算で得た値”,’yyyyMM’)と記入しています。ここでは”5.時刻の減算で得た値”をyyyyMMに直しています。
8.文字列に変数を追加
ここでは条件に当てはまったファイル名を変数Fillnameに代入しています。また、ここではそのまま代入するのでは無く、次に代入されるファイル名が改行されて入力されるようにしています。

concat(Item()?[”Name],’
‘,”)
上記のコードではconcata関数を使用しています。これは複数の文字列を結合するために使用される関数です。Item()?[”Name]は変換されていますが先ほどまで出ていた

これを入力しています。
例. concat(‘Hello’, ‘ ’, ‘World‘)= Hello World
9.チャットまたはチャネルでメッセージを投稿する
最後に上記で条件にあったファイル名がすべて変数Failnameに代入されています。
これを出力したいので、ここではTeamsのチャットで送信するようにしています。

コメント