松本典子の「はじめよう!Azure Logic Apps/Power Automateでノーコード/ローコード」 第60回
正規表現を使わなくても簡単にできる! その方法
ファイル名が命名規則に合っているかの自動チェック、Power Automateのフローで実現しよう
2026年04月10日 11時00分更新
2-3. アクションの設定
ファイル名が命名規則に合っているかどうかを判定する「条件」アクションを設定します。
検索窓に「条件」と入力し、「コントロール」コネクタをクリックしたうえで、アクション一覧から「条件」を選択します。
上から順に「判定条件」を設定していきます。行が足りなければ「+追加」をクリックして追加します。
(1)配列の1番目の文字列(日付)が8文字である:
まず、最初の「yyyyMMdd」の部分をチェックする条件を設定します。
・左辺:以下の式を入力
length(outputs('作成')[0])
・条件:「次の値に等しい」を選択
・右辺:「8」を入力
length関数は文字列の文字数をカウントする関数です。ここでは「作成」アクションの出力結果である配列の1番目の値を対象に、8文字かどうかをチェックしています。
(2)配列の2番目の文字列(氏名)が「氏名」ではない:
次に「氏名」にあたる部分のチェックを行います。
・左辺:以下の式を入力
outputs('作成')[1]
・条件:「次の値に等しくない」を選択
・右辺:「氏名」を入力
outputs関数で配列の2番目の値を取り出し、それが特定の値(「氏名」)と一致しないことを確認しています ※注。
※注:筆者がかつて遭遇した事件ですが、「ファイル名に氏名を入力してください」とお願いしたところ、素直に「氏名」という文字を入力して提出する新入社員がいました(笑)。これはレアケースだとは思いますが、そういう事故を防ぐためのチェックの一例と考えてください。
(3)配列の2番目の文字列(氏名)が空欄ではない:
引き続き「氏名」にあたる部分のチェックを行います。
・左辺:以下の式を入力
outputs('作成')[1]
・条件:「次の値に等しくない」を選択
・右辺:空欄にする(何も入力しない)
先ほどと同様にoutputs関数で配列の2番目の値を取り出し、値が空ではないことを確認しています。
(4)配列の3番目の文字列が「日報.xlsx」である:
最後に「日報.xlsx」の部分をチェックします。
・左辺:以下の式を入力
outputs('作成')[2]
・条件:「次の値に等しい」を選択
・右辺:「日報.xlsx」と入力
先ほどと同様にoutputs関数で配列の3番目の値を取り出し、「日報.xlsx」と完全一致するかどうかを確認しています。
以上4つの条件判定を行い、すべてを満たした場合のみ「はい」の処理、どれか一つでも満たさない場合は「いいえ」の処理を行います。
2-3-1. はいの処理(ファイル名が命名規則に合っている場合)
すべての判定条件を満たしている場合、ファイル名は命名規則に合致しています。ここでは「Microsoft Teams」コネクタの「チャットまたはチャネルメッセージを投稿する」アクションで、指定のチャネルに「投稿完了」のメッセージを投稿します。
「2-1. トリガーの設定」で作成した「ファイルが作成されたとき(プロパティのみ)」トリガーにより、ファイルの投稿者名などの情報が取得できているので、投稿するメッセージに追加すると分かりやすいでしょう。
2-3-2. いいえの処理(ファイル名が命名規則に合っていない場合)
いずれかの判定条件を満たさなかった場合、ファイル名は命名規則に合致していません。ファイルの投稿者に注意喚起のメールを送信し、ファイル名の修正と再投稿を促します。
「2-3-1. はいの処理」で触れたとおり、トリガーの実行時にファイルの投稿者やファイル名などの情報は取得できています。この動的コンテンツを、メールの宛先、本文などで設定します。
さいごに
今回は、クラウドフローを使って、ファイル名の命名規則を簡易的にチェックする方法をご紹介しました。
今回ご紹介した方法では、正規表現のような厳密なチェックまでは行っていません。たとえば、日付部分は文字数のチェックしか行っていませんから、「aabbccdd」など別の8文字が入っていても「条件を満たしている」と判定してしまいます。
それでも、今回の例のように命名規則を知っている人がファイル名を付けることが前提で、誤入力してしまうのを防ぐレベルであれば十分に実用的だと思います。
ファイル名の命名規則チェックを自動化することで、運用のばらつきを防ぎ、後続の処理も安定させることができます。ぜひ、ご自身の業務にも取り入れてみてください!
本記事はアフィリエイトプログラムによる収益を得ている場合があります

この連載の記事
-
第59回
Team Leaders
Power Automateでよくある“条件判定の入れ子(ネスト)地獄”、回避する方法は? -
第58回
Team Leaders
実はできる! Power Automateでテーブル設定済みのExcelファイルを新規作成する方法 -
第57回
Team Leaders
顧客管理をラクに! リストに顧客情報が入力されたら自動でフォルダーを新規作成する -
第56回
Team Leaders
Power Automateで“祝日を除く”平日だけフローを自動処理させるには? -
第55回
Team Leaders
フォルダーに入れるだけでPDFに自動変換! Power Automateの標準コネクタで実現する -
第54回
Team Leaders
Teamsで「👍」が付いたらPower Automateのフローを自動実行! そんな方法を教えます -
第53回
Team Leaders
Excelの画面上からPower Automateを実行! “自動化の入り口”にしよう -
第52回
Team Leaders
Microsoft Formsへの入力で、Power Automateフローを実行する! 実践的連携術 -
第51回
Team Leaders
Power Automateの「トリガーの条件」が便利! フローの繰り返し実行を細かく制御しよう -
第50回
Team Leaders
顧客ごとに異なる内容のメールを自動送信! Power Automateで柔軟なフローを実現 - この連載の一覧へ



