【第29回】フォルダ内の特定のファイル名をリストアップする (PowerAutomate)

Powerautomate DX

目的

私の会社では定期的に特定の名前をもつファイルがあるか確認し、リストアップする必要がある業務があります。今までは人が一つ一つ確認し、名前をコピーして、Wordなどに転記していましたが今回PowerAutomateを用いることで業務改善を図りました。

今回はフローはTeamsメッセージにファイル名をリストアップし、送信します

PowerAutomate全体フロー

詳細説明

①Recurrence(トリガー設定)

フローが動作するタイミングをここで決めます。間隔と頻度欄を記入することで任意の間隔にして下さい。今回は毎月1日に動作するように設定しています

②変数を初期化する

ここではリストアップするファイル名を保存するための変数を準備します。

今回は変数名をFilenameとしており、TypeはStringにしています。

Typeというのは変数に格納するデータ形式のことで、今回のStringは文字列の場合に使用するデータ形式です。他には下記のような形式があります。

型名説明
String文字列(テキスト)"Hello", "123"
Integer整数(小数なしの数)100, -5
Float浮動小数点数(小数ありの数)3.14, 0.5
Boolean真偽値(はい/いいえ、オン/オフ)true, false
Array配列(複数の値を並べたリスト)["apple", "banana"]
Objectオブジェクト(JSON形式のデータ){"name":"John","age":30}
Null値がない、未設定null

③フォルダー内のファイルとフォルダーのリスト

ここではリストアップしたいファイルが保存されているフォルダを指定し、その中に入っているファイルをPowerAutomateに記録させます。今回はBOXに作ったフォルダーにフォイルを保存しているので下記のように設定しています。

④現在の時刻

今回のフローの場合はファイル名に現在の年月の1か月前の文字が入っていることを条件にしている為、現在時刻をPowerAutomateに記録させるために、ここで設定しています。

例.現在が2024年4月の場合、202403が含まれているファイルを記録します。

⑤時間からの減算

④で得た現在時刻から1月分減算するためにここで設定します。Interval,Time Unit欄に減算したい値を設定します。今回の場合は、1か月分引きたいので1Mounthを設定しています。

⑥それぞれに適用する

 ここでは③で得たファイルが次項で設定する条件に合うか全て確認させるためにここで設定しています。

⑦条件

ここではファイル名に2つの条件を満たしているかを判定しています。

1つ目の条件はファイル名に202403のような現在の年月から1月前の値が入っているかを判定します。Name(③で得たファイル名) Contains(右記の条件を含む) FormatDateTime(utcNow(), ‘yyyyMM’)

2つ目の条件は『P&I』という単語がファイル名に含まれているかを判定しています。 Name contains P&I

⑧文字列変数に追加

⑦の条件を満たしている場合、変数『Failname』にファイル名を追加します。ここではconcat(item()?[’Name’],'<br>’,”)という関数を設定しています。これは変数『Failname』に条件を満たすファイル名を追記していく訳ですが、そのままにしていると改行されずに1行テキストとなってしまう為、次に追記されるファイル名が改行されるようにしています。

⑨チャットまたはチャネルでメッセージを投稿する

ここでは③でリストアップしたファイルで条件に合うものを変数『Failname』に追記し終えた後、Teamsメッセージで出力します。

コメント

タイトルとURLをコピーしました