このページの本文へ

前へ 1 2 次へ

松本典子の「はじめよう!Azure Logic Apps/Power Automateでノーコード/ローコード」 第60回

正規表現を使わなくても簡単にできる! その方法

ファイル名が命名規則に合っているかの自動チェック、Power Automateのフローで実現しよう

2026年04月10日 11時00分更新

文● 松本典子 編集● 大塚/TECH.ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

 こんにちは、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)を、「-」(ハイフン)を目印に複数の文字列へと分割しています。

ここでsplit関数が行う処理

 たとえば上図のようなファイル名であれば、「20260301」「氏名」「日報.xlsx」という3つの文字列に分割されるわけです。

「作成」アクションの出力結果

 分割されたそれぞれの文字列(部分文字列)は、「作成」アクションにより配列に格納されます。実行後に作成アクションの出力結果を確認すると、それぞれの部分文字列が配列に格納されています。これらの部分文字列は、後続の「条件判定」で利用します。

前へ 1 2 次へ

カテゴリートップへ

本記事はアフィリエイトプログラムによる収益を得ている場合があります

この連載の記事
ピックアップ