松本典子の「はじめよう!Azure Logic Apps/Power Automateでノーコード/ローコード」 第60回
正規表現を使わなくても簡単にできる! その方法
ファイル名が命名規則に合っているかの自動チェック、Power Automateのフローで実現しよう
2026年04月10日 11時00分更新
こんにちは、Microsoft MVP(Business Applications)の松本典子です。
SharePointやOneDriveでたくさんのファイルを管理する際、日付や担当者名、内容を表すキーワードなど「ファイル名の命名規則」を定めて運用しているケースは多いと思います。
しかし現実には、ルールどおりに命名されていないファイルが混在してしまい、その結果、あとから探しづらかったり、システムによる自動処理がうまくいかなくなったりすることがあります。
Power Automateを使えば、新たに保存されたファイルのファイル名がルールどおりかどうかを、自動的にチェックさせることができます。複雑な命名規則を厳密にチェックするには正規表現 ※注を使う必要がありますが、シンプルな命名規則であれば簡単なフローで自動判定ができます。
本記事では、ファイル名が命名規則どおりになっているかどうかを、正規表現を使わずにPower Autoamteで自動チェックする方法をご紹介します。
※注:正規表現とは、文字列の検索/置換/抽出といった処理で使われる、文字列の「パターン」を簡潔に記述する手法です。たとえば、8桁の数字は「[0-9]{8}」または「\d{8}」、行頭にあるアルファベット3文字は「^[A-Za-z]{3}」と記述できます。日付や電話番号、クレジットカード番号、メールアドレスなど、一定のパターンを持つ文字列をまとめて検索/抽出する際に役立ちますが、やや難しい記法を覚える必要があります。
1. 事前準備
今回は、営業部メンバーが個々にExcelで日報を作成/提出することを想定して、そのファイル名が「yyyyMMdd-氏名-日報.xlsx」という命名規則に合致しているかどうかをチェックするフローを作成します。
ファイル名の「yyyyMMdd」の部分には「20260405」のような8桁の作成年月日、「氏名」にはファイル作成者の名前を入力してもらう想定です。また、最後の「日報.xlsx」の部分は固定で、全員が必ず入力します。
また、SharePointのドキュメント内に、ファイルのアップロード用フォルダーを作成しておきます(筆者は「営業部」フォルダーを作成)。
2. 今回作成するワークフロー
事前準備ができたら、Power Automateでワークフローを作成していきます。
今回作成するワークフローは、上図のとおりです。
このフローは、「1. 事前準備」で作成したフォルダーにファイルが保存されたら自動的に起動します。ファイル名をチェックし、命名規則に合っていればTeamsに通知、不備があればアップロードした本人に注意喚起のメールを送信する、シンプルなフローです。
2-1. トリガーの設定
今回のフローのトリガーには、「SharePoint」コネクタの「ファイルが作成されたとき(プロパティのみ)」トリガーを利用します。あらかじめ指定したSharePointリストに新規ファイルが追加(作成)されたときに起動するトリガーです。
検索窓に「SharePoint」と入力し、「SharePoint」コネクタをクリックしたうえで、トリガー一覧から「ファイルが作成されたとき(プロパティのみ)」を選択します。
このトリガーには以下の内容を設定します。
(1)サイトのアドレス:「1. 事前準備」のフォルダーを作成したサイトを設定
(2)ライブラリ名:「ドキュメント」を選択
(3)フォルダー:「1. 事前準備」のフォルダーを選択
2-2. アクションの設定
続いて「作成」アクションを設定します。
検索窓に「作成」と入力し、「データ操作」コネクタをクリックしたうえで、アクション一覧から「作成」を選択します。
「入力」の欄に以下の「式」を入力します。
split(triggerOutputs()?['body/{FilenameWithExtension}'],'-')
この式は、split関数を使い、新たに作成されたファイルのファイル名(FilenameWithExtension)を、「-」(ハイフン)を目印に複数の文字列へと分割しています。
たとえば上図のようなファイル名であれば、「20260301」「氏名」「日報.xlsx」という3つの文字列に分割されるわけです。
分割されたそれぞれの文字列(部分文字列)は、「作成」アクションにより配列に格納されます。実行後に作成アクションの出力結果を確認すると、それぞれの部分文字列が配列に格納されています。これらの部分文字列は、後続の「条件判定」で利用します。
本記事はアフィリエイトプログラムによる収益を得ている場合があります

この連載の記事
-
第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で柔軟なフローを実現 - この連載の一覧へ






